By using AWS re:Post, you agree to the Terms of Use

Enable dynamodb stream for an existing dynamodb table

0

Hi,

I would like to enable dynamodb stream on an existing dynamodb table using cloudformation template.

I searched but could not find anything in this regard. I see there is way to enable dynamodb stream for an existing table using console but couldn't find any way to achieve same using cloudformation template. Can you help with this .

1 Answer
2

Hi, For this you can simply add the StreamSpecification parameter to your table and update the stack:

"StreamSpecification": {
          "StreamViewType": "NEW_AND_OLD_IMAGES"
        }

A sample table with Stream included:

{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "myDynamoDBTable": {
      "Type": "AWS::DynamoDB::Table",
      "Properties": {
        "AttributeDefinitions": [
          {
            "AttributeName": "id",
            "AttributeType": "S"
          }, 
          {
            "AttributeName": "name",
            "AttributeType": "S"
          }
        ],
        "KeySchema": [
          {
            "AttributeName": "id",
            "KeyType": "HASH"
          }
        ],
        "BillingMode": "PAY_PER_REQUEST",
        "TableName": "testcfn",
        "StreamSpecification": {
          "StreamViewType": "NEW_AND_OLD_IMAGES"
        }
      }
    }
  }
}
profile picture
answered 5 months ago
  • Hi, As mentioned in the original post that the table is pre-existing.

    Maybe I should have mentioned that the table is pre-existing and is not managed by cloudformation and is created manually by another team.

    I need to enable the dynamodb stream option for this table using cloud formation. Let me know if any other information is required.

  • Yes, this is for pre-existing, you update the stack. What you failed to mention was that the table did not already belong to a stack. In that case you should use CFN Import Resource tool to import the table to a stack, then add the stream in an subsequent update.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions