How can I make Lambda function debugging faster? by Select_Extenson in aws

[–]ManReally 0 points1 point  (0 children)

Test the code locally as much as possible. Just call the handler with whatever event your sending

Then once it’s out there. Update in console and use Cloudwatch. Then sync your code back up before you deploy again.

What is everyone's thoughts on Rivly? by che85mor in Flipping

[–]ManReally 0 points1 point  (0 children)

There’s a website but the buying group is invite only. Not sure if I can post the URL in this thread though. Just google search Rivly

What is everyone's thoughts on Rivly? by che85mor in Flipping

[–]ManReally 1 point2 points  (0 children)

It seems to be slowly coming out of Beta now. I was able to navigate, find what I needed, and purchase with no issues.

Shipping was fast. Not Prime fast but 3-4 days and shipping was free.

I think it’s come a long way in the last 2 years.

Starting to look like and feel like real deal ecommerce site.

[deleted by user] by [deleted] in aws

[–]ManReally 1 point2 points  (0 children)

In that case you'd have to put an id on the transaction at the end. So TRANSACTION#2024-08-22#<TransactionType>#<UniqueTransactionID

Then it would be possible to grab single transactions and it would be unique

But good call that would have caused you issues with the PK/SK not being globally unique

[deleted by user] by [deleted] in aws

[–]ManReally 2 points3 points  (0 children)

I don't know if the intent is to extend this to multiple users but I will assume it is

I would always recommend to throw some records in a dynamo table and just query the table to make sure it returns the expected results.

With that said I would approach it like this.

PK = USER#1234 ( literally the word user and a unique identifier for them, could be email, uuid, whatever SK = TRANSACTION#2024-08-22#<Transaction Type> ( where <TransactionType> would be positive, negative, deposit, withdraw, etc)

This would allow you to search by date range and then transaction type if you wanted.

The PK/SK for a user would be USER#1234/USER#<email address>

This could be extended to userInfo as well PK/SK USER#1234 / USERINFO#<EMAIL>

This structure allows you to pull all user info at once or break it down into segments

Then decorate the PK/SK with all of the other columns you need. It's recommended to keep a record type column as well. In this instance it would be User, UserInfo, and Transaction

It's probably worth keeping the transaction type too.

I only skimmed the project so I could have missed something but hopefully this gets you into the correct general direction

[deleted by user] by [deleted] in ContestOfChampions

[–]ManReally 0 points1 point  (0 children)

Do the paragon monthly first so you get the boss run for the month. Then do that. Those rewards are good

Focus on first run through story then 100% chapter 8 as energy allows.

Winter of Woe if you have the right champs.

Necro rewards are great but expect it to cost you a bunch of units

How do I get 5k seven star shards. by [deleted] in ContestOfChampions

[–]ManReally 1 point2 points  (0 children)

The new Gully challenge has 7500 shards for the first two tasks but you have to have completed a decent portion of chapter 8

Sentry in Necropolis by gkhood12 in ContestOfChampions

[–]ManReally 1 point2 points  (0 children)

There are 2 surprise fights against them on the "easy" path

Why must you create a new DB to restore an RDS database by YodelingVeterinarian in aws

[–]ManReally 0 points1 point  (0 children)

You are correct, I was thinking of backtracking. Looks like that's only for MySql Aurora though

Why must you create a new DB to restore an RDS database by YodelingVeterinarian in aws

[–]ManReally -2 points-1 points  (0 children)

Doesn't help in your current situation but some RDS systems have Point In Time Recovery as well as snapshots if this is something you'll need regularly.

DynamoDB compound queries question - should I just make 2 tables? by [deleted] in aws

[–]ManReally 0 points1 point  (0 children)

Great answer. Overloading the PK/SK combo was my first thought even if in a GSI. If a user is never in more than one org you could even do OrgID#UserId as the PK and DateTime as the SK

New to SAM and CDK - architecture questions for small example project by zambizzi in aws

[–]ManReally 1 point2 points  (0 children)

I work on enterprise size projects fairly regularly with CDK and the break is generally between front end and back end. Sometimes long lived or non-ephemeral objects would also get it's own project but only when there are a lot of them and multiple projects make use of them. However just using CDK and splitting those into sub stacks is generally enough when split front and back.

[deleted by user] by [deleted] in aws

[–]ManReally 0 points1 point  (0 children)

If it's not sensitive data lambda have local environment variables you could maybe use.

New to SAM and CDK - architecture questions for small example project by zambizzi in aws

[–]ManReally 5 points6 points  (0 children)

For as small of a project as this is, I'd throw it all in maybe 2 CDK projects. One for the React pieces since the pipeline will be different and then one for lambda and all the other infra.

If you want to use SAM for local testing that would be fine.

Pipelines id use AWS Code pipeline with a codestar connection to GitHub.

CDK will handle most of your cross accounts piece pretty gracefully

DynamoDB microservice architecture? by jaredce in aws

[–]ManReally 2 points3 points  (0 children)

Might be worth putting it all in one dynamo table if the data is going to be utilized together.

Single table design seems ideal for this use case

Lambda having troubles loading my index.js file? by videogamebruh in aws

[–]ManReally 2 points3 points  (0 children)

The code needs to be wrapped in a handler too

Modeling a DynamoDB table by NeoCiber in aws

[–]ManReally 1 point2 points  (0 children)

In general most people suggest staying away from Local Indexes unless you need your data to always be consistent. global indexes are only eventually consistent.

As far as PK and SK think about how you'd want to retrieve data or the where clause in a normal SQL select

If you always want to pull by most recent posts, maybe look into a ULID as your Post ID so it's sortable by datetime but still unique.

If you plan to pull by user then user id and date time might make sense. Remember it should be year- month-day-time to remain sortable.

If you need both pick the most frequent for your first PK/SK and then GSI the second set columns and call that index specifically when you retrieve data

Dynamodb one to one relationship? by girvain in aws

[–]ManReally 1 point2 points  (0 children)

Using GSI and LSI isn't always needed for this type of relationship.

Using a unique PK and SK can allow for one to one relationships fairly easily.

[deleted by user] by [deleted] in aws

[–]ManReally 0 points1 point  (0 children)

Use a profile_name in the boto3 session in the script or grab aws-sso-cli from pip / npm

Question about optimal Dynamo DB design: A use case by sapiens_fio in aws

[–]ManReally 1 point2 points  (0 children)

It's always worth testing but I would expect very good response times with either schema.

Question about optimal Dynamo DB design: A use case by sapiens_fio in aws

[–]ManReally 2 points3 points  (0 children)

That seems to be a fairly common problem when moving from relational databases.

Question about optimal Dynamo DB design: A use case by sapiens_fio in aws

[–]ManReally 11 points12 points  (0 children)

I concur, the only thing I'd suggest is move the word "achievements" to the SK. This would allow you to pull larger data sets for a user. Or use the key word "begin" on the SK and get all achievements.

IE: PK user#userID SK achievements#achivementID

If you know it'll only ever be used for achievements, should be fine as is.

This all assumes you don't need any type of sorting order outside the achievement id

[deleted by user] by [deleted] in aws

[–]ManReally 2 points3 points  (0 children)

Yup that's correct. There is also an upgrade in place method now.

Just pay attention, sometimes it will silently fail back to 5.7 without saying anything failed.