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?

gefragt vor 3 Monaten149 Aufrufe
1 Antwort
0
Akzeptierte Antwort

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

TableName: UserData

And everything is OK

beantwortet vor 3 Monaten
profile picture
EXPERTE
überprüft vor 2 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen