SAM template with dev, prod stacks, Dynamo DB name clash between stacks?

0

I have created a SAM stack with a CI/CD pipeline using this tutorial as a guide. https://catalog.workshops.aws/complete-aws-sam/en-US/module-4-cicd/module-4-cicd-codepipeline/50-sampipeinit

I have used sam pipeline init --bootstrap to Crete a pipeline with the ‘Two-stage pipeline’ from template.

Everything was fine.

I then added the following to my SAM template to add a dynamo DB table

  UserDataTable:
    Type: AWS::Serverless::SimpleTable
    Properties:
      TableName: UserData
      PrimaryKey:
        Name: UserID
        Type: String
      ProvisionedThroughput:
        ReadCapacityUnits: 5
        WriteCapacityUnits: 5

After this the code pipeline failed on the prod stage with the following error

UserData already exists in stack arn:aws:cloudformation:<>region>[myARN ] The following resource(s) failed to create: [UserDataTable].

So it appears that there is a name clash.

My question is this, I thought the names we give in the SAM templates are “ logical names “ which are later translated to physical names during stack creation. For example I have other resources defined as below

  MyCognitoUserPool:
    Type: AWS::Cognito::UserPool
	<Rest of the code >


  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      <Rest of the code>

These things don’t create any name clashes. Why is Dynamo DB behaving differently and how do I fix this please?

asked 3 months ago137 views
1 Answer
0
Accepted Answer

Just realised I shouldn't have named the table I removed the following line

TableName: UserData

And everything is OK

answered 3 months ago
profile picture
EXPERT
reviewed a month ago

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