VS2015ドットネットを使用してすべてのWeb APIをAWSサーバーレス機能に移行し始めました。私はserverless.templateファイルで定義された合計60のリソース(AWS :: Serverless :: Function)を持っています。私がVisual Studio(AWS Lamdaに公開)からアップロードを開始したとき、私は以下のエラーが発生しました。AWS Serverlessテンプレートのリソース数が
Failed to create CloudFormation change set: Template format error: Number of resources, 267, is greater than maximum allowed, 200
いくつかのリソースを削除しようとしましたが、同じエラーが繰り返されます。当初は2,3のリソースしか持たなかったので、うまくいきました。
ご協力いただければ幸いです。
編集:以下 新しいマスターテンプレートは、ネストされたスタックに
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Transform" : "AWS::Serverless-2016-10-31",
"Resources" : {
"FirstStack" : {
"Type" : "AWS::CloudFormation::Stack",
"Properties" : {
"TemplateURL" : "https://s3-us-west-2.amazonaws.com/serverless1.template",
"TimeoutInMinutes" : "60"
}
},
"SecondStack" : {
"Type" : "AWS::CloudFormation::Stack",
"Properties" : {
"TemplateURL" : "https://s3-us-west-2.amazonaws.com/serverless2.template",
"TimeoutInMinutes" : "60"
}
}
},
"Outputs": {
}
}
素早く答えてくれてありがとうDave。私もそれを読んだが、私の質問はserverless.templateファイルにわずか60リソースしか持たないということです。リソース数の計算方法 –
それぞれの定義は1ラムダ、1 APIゲートウェイ+おそらくIAMの役割、そして私が考えている他のアソシエーションはawsリソース数に乗数がある理由です。テストするために、1つの定義をインポートして、Cloudfrontテンプレートをエクスポートして、プロビジョニングされたすべてのリソースを表示することができます。おかげさまで –
あなたが言及したように、私はテンプレートを2つに分け、それをS3に保存しました。スタックとしてリソースを持つserverless.templateを作成しました。これで、スタックを作成せずにロールバックするだけです。以下は私が使用しているサンプルテンプレートです。ここに欠けているものを理解するのに役立つことができますか? –