There are two things you'll need to do to make DynamoDB work with Zapier:
- Add a new table in DynamoDB. If you already use DynamoDB and you want to read items from an existing table, you will need to make sure your table follows the design described below.
- Add a new Zapier user via IAM with only permission to use SQS and give those AWS Security Credentials to Zapier.
Note: If you only plan to add items to a table (use an Action), you can skip this section.
Setting up your table to work correctly with Zapier can be a little tricky. For Zapier to be able to successfully scan your table for new items, your table will need to contain a primary key (hash or ranged) or a local secondary index that meets the following criteria:
- Is of type Number
- Contains a UNIX timestamp.
The reason for this restriction is due to the schema-less nature of DynamoDB tables. Zapier needs an attribute it can rely on every item to have for searching purposes. Primary keys and local secondary indexes are the only way to accomplish this. Secondly, tables don't natively support sorting or querying items by creation time, so you need to provide a timestamp we can filter on.
If Zapier cannot locate a primary key or secondary index that matches these criteria, the Zap will default to using the index with the shortest name that includes "id" as the primary key.
To add a DynamoDB account to Zapier, you should follow these instructions. They will walk you through setting up a user in IAM and adding that account to Zapier. Remember that you want to select DynamoDB instead of SES where applicable.