Questions tagged with Amazon DynamoDB
Content language: English
Sort by most recent
Hello,
We are new to AWS and often seek guidance/mentoring (you show us) direction on current and upcoming tasks ie
* AWS services setup/managing/optimizing
* Clarification on docs that are outdated/inaccurate/confusing
We currently use DynamoDB with APIs that connect to our websites. We have begun creating amplify apps (internally created and hired outside development)
Ideally USA based and/or available 8am-4pm EST
Considered posting in Expert help but not sure what I should be expecting/asking. (per hour per project etc etc)
Thanks in advance,
Jason
I have a dataset of call recording information, with fields/attributes including: Incoming Number, Dialled Number, Call Start Date, Agent(s) name. The end user will most likely want to search on Agent name, which is stored in a list attribute as there might be more than one. I can't add an index to a list attribute, so as a SQL dev I'm learning towards storing the agent ID in a different table and creating a many to many relationship between the two tables. However, Dynamo's a bit different so what's my best approach if I want to index the Agents attribute?
I have a dynamo DB in account A and the AWS lambda function in account B.
Created a VPC endpoint for dynamo DB in account B.
I have created a cross-account role in Account A for Account B, to access dynamo DB (Created in Account A) in Account B via the AWS Lambda function.
The cross-account role contains the following policy with VPC endpoint condition (created in Account B) conditions.
```
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "dynamodb:Scan",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:SourceVpce": "vpce-xxxxxxxxxxxx"
}
}
}
]
}
```
The question is can we set up a cross-account VPC endpoint?
How to write item, with Null attribute, to Dynamodb through BatchWriteItem task in AWS Step function
I am attempting to use aws step functions with the batchwriteitem task for dynamodb.
Unfortunately, the step function throws an error suggesting "The field "NULL" is not supported by Step Functions". But this is how AWS SDK documentation suggests we label null values in API call.
If the "NULL" value isn't expected, then how am I supposed to write an item, that has a Null attribute, to Dynamodb through BatchWriteItem task in AWS Step functions
Example task in Step function which is causing step function ASL error. I tried changing "NULL" to "Null" or "null". And none of these work?
```
"BatchWriteItem": {
"Type": "Task",
"End": true,
"Parameters": {
"RequestItems": {
"sample-dynamodb-table": [
{
"PutRequest": {
"Item": {
"PK": {
"S": "trash"
},
"SK": {
"S": "trash"
},
"value": {
"NULL": true
}
}
}
}
]
}
},
"Resource": "arn:aws:states:::aws-sdk:dynamodb:batchWriteItem"
}
```
Currently we have Failover Routing Policy configured in Route53. We have S3 replication enabled and DynamoDB global tables as well.
If we are performing BYOK migration in Primary region and allow customer traffic only to Secondary region, if records are created in S3 and DynamoDB global tables, these will be replicated to Primary region as well. Will it create any issues in Primary region S3 and DynamoDB tables when migration is going on? Could you please share any other recommendations or best practices for such a migration in active-passive environments.
I am wondering if I set write capacity to dynamodb and some of the requests got "throttled" , are they eventually entering the database later?
I have been working on an application that uses Dynamo DB. In places I need to verify the success of a query, and so have been using the response from Dynamo that includes the ResponseMetadata to determine if it was a success.
I have now started putting DAX in front of these queries, but because of the lack of ResponseMetadata my existing code assumes the query failed.
It's quite frustrating because DAX has to be in a VPC which means I my local uses Dynamo directly and I have to deploy new code to see what happens with DAX.
Can I configure DAX to return a response?
Can I configure DAX to work locally?
Thanks!
I want to write some logic like fetch post with time limit 1 day(created date) and if the list of items are smaller then 20 then fetch the post within 2 days(created date).
like:
```
const params = {
TableName: 'Todo-xxxxxxxxxxxxxxx-dev',
IndexName: 'title-createdAt-index',
"Limit": 10,
KeyConditionExpression: '#title =:value and #createdAt BETWEEN :start AND :end',
ExpressionAttributeValues: { ':value': 'hi',
':start':'2023-06-29T03:47:35.343Z',
':end': '2023-06-30T03:47:35.343Z'
},
ExpressionAttributeNames: { '#title': 'title',
'#createdAt':'createdAt'
}
};
```
if the above code returns 10 list items then I will fetch with time limit ':start':'2023-06-28T03:47:35.343Z', ':end': '2023-06-29T03:47:35.343Z' and if it returns 6 items then I will fetch items again 1 days ago. Is this a good practice?
I just want to compare something like ```post tag ["bird","fruits","books"]``` with ```user interest ["cars","software","laptop","movies","books","coding"]``` look one element of each array is matching but I want to create a sort so that I can get the psots related to intrest.
I want to query data from dynamoDB using GSI and sort key through Amplify Datastore. Is this possible?
Hello
How to put Redaction/Masking in place for all PII DB columns in DYNAMODB
when user query data based on role , PII data should be shown redacted/masked
do we have any tools to use for redaction/masking for dynamodb or any other approach
Could you let me know
Hi,
I retrieve data each hour from an API. Data are statistical informations about cities. Until today I was storing the data as parquet in a S3 bucket with two partition : the day and the hour. With this, even if the API or my script doesn't work well 1 hour, I keep the rest of data safe.
But the more the data grows, the longer it takes to read it with my python script. Right now it takes 20 min to read the whole data, for less than 1 go of data. There is a lot of partition and it's too much time for my goal. This script aims to calculate sliding indicators for each city and predict some stuffs. As you guess, I dont have to get all cities each time I read the data to calculate these indicators. So a better partition would be by cities but I'm afraid to overwrite previous data if my python script that retrieves data from the api crashes. Maybe a partition with cities / date can be good but It will generate lot of little partition.
What are your thoughts about that?
Maybe S3 isn't good, is dynamodb a better choice?
Or maybe parquet are not the good format?
Thank you,
Ben