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?

demandé il y a 3 mois148 vues
1 réponse
0
Réponse acceptée

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

TableName: UserData

And everything is OK

répondu il y a 3 mois
profile picture
EXPERT
vérifié il y a 2 mois

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions