2

次のエラーがあります。サーバーレスエラー。カスタム名付きリソースの置換が必要な場合、CloudFormationはスタックを更新できません。

サーバーレス:操作が失敗しました!

Serverless Error --------------------------------------- 
An error occurred: phoneNumberTable - CloudFormation cannot update a stack when a custom-named resource requires replacing. Rename mysite-api-phonenumber-dev and update the stack again… 

データベースを削除して再作成できるかどうかを確認しましたが、それでも同じエラーが発生し、データベースをリメイクしませんでしたか? ここで何をしますか?

私が最近行ったことは、serverless.ymlファイルで、リソースに対して次のように変更されました。

phoneNumberTable: #This table is used to track phone numbers used in the system 
     Type: AWS::DynamoDB::Table 
     Properties: 
     TableName: ${self:custom.phoneNumberTable} 
     AttributeDefinitions: #UserID in this case will be created once and constantly updated as it changes with status regarding the user. 
      - AttributeName: phoneNumber 
      AttributeType: S 
     KeySchema: 
      - AttributeName: phoneNumber 
      KeyType: HASH 
     ProvisionedThroughput: 
      ReadCapacityUnits: ${self:custom.dynamoDbCapacityUnits.${self:custom.pstage}} 
      WriteCapacityUnits: ${self:custom.dynamoDbCapacityUnits.${self:custom.pstage}} 

私はコピーして貼り付けたとき、私は誤って私はハッシュキーのためにphoneNumberにそれを変更しますが変更になりましたが反映されませんユーザーIDで、それを作成しました!

編集::

私は解決策を見つけたが、それはひどいです。私がslsを削除すると、--stage devを削除すると、私のステージのためにすべてが削除されますが、文字通りすべてが...その後、sls deploy --stage devを実行して展開を再開しなければなりません。その間にデータベースはすべてクリアされますデータ...どうにかしてよりよい方法が必要です。

+0

あなたのソリューションは、私にとっては良かった...舞台は「DEV」と失われたデータは、私の場合は問題ありませんでした。ありがとう! – kord

答えて

関連する問題