Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

AWS::Lambda::Function リソースの書き込み専用プロパティの問題を解決する方法

フォーカスモード
AWS::Lambda::Function リソースの書き込み専用プロパティの問題を解決する方法 - AWS CloudFormation

このトピックでは、IaC ジェネレーターを使用するときの AWS::Lambda::Function リソースの書き込み専用プロパティの問題を解決する方法について説明します。

問題

AWS::Lambda::Function リソースには、Lambda コードを指定するための相互に排他的なプロパティのセットが 3 つあります。

  • Code/S3BucketCode/S3Key のプロパティ、およびオプションで Code/S3ObjectVersion のプロパティです。

  • Code/ImageUri プロパティ

  • Code/ZipFile プロパティ

特定の AWS::Lambda::Function リソースに使用できるのは、これらのセットの 1 つだけです。

IaC ジェネレーターは、リソースの作成または更新に排他的な書き込み専用プロパティのどのセットが使用されたのかを特定することはできません。そのため、これには、生成されたテンプレートの最初のプロパティのセットのみが含まれます。Code/ImageUri プロパティと Code/ZipFile プロパティは省略されます。

さらに、IaC ジェネレーターは次の警告を発行します。

  • MUTUALLY_EXCLUSIVE_PROPERTIESCode/S3Bucket および Code/S3Key が相互に排他的なプロパティとして識別されることを警告します。

  • UNSUPPORTED_PROPERTIESCode/S3ObjectVersion プロパティがサポートされていないことを警告します。

生成されたテンプレートに AWS::Lambda::Function リソースを含めるには、正しいコードプロパティでテンプレートをダウンロードして更新する必要があります。

解決方法

Lambda コードを Amazon S3 バケットに保存し、S3ObjectVersion プロパティを使用しない場合、生成されたテンプレートを修正せずにそのままインポートすることができます。IaC ジェネレーターは、インポートオペレーション中に、テンプレートのパラメータとして Amazon S3 バケットとキーを要求します。

Lambda コードを Amazon ECR リポジトリとして保存する場合は、以下の手順に従ってテンプレートを更新します。
  1. 生成されたテンプレートをダウンロードします。

  2. 生成されたテンプレートから、Code/S3Bucket および Code/S3Key プロパティのプロパティと対応するパラメータを削除します。

  3. 生成されたテンプレートで削除したプロパティを Code/ImageUri プロパティに置き換え、Amazon ECR リポジトリの URL を指定します。

  4. 生成されたテンプレートを IaC ジェネレーターのコンソールで開き、[編集したテンプレートをインポート] をクリックします。

Lambda コードを zip ファイルとして保存する場合は、以下の手順に従ってテンプレートを更新します。
  1. 生成されたテンプレートをダウンロードします。

  2. 生成されたテンプレートから、Code/S3Bucket および Code/S3Key プロパティのプロパティと対応するパラメータを削除します。

  3. 生成されたテンプレートの削除されたプロパティを Code/ZipFile プロパティに置き換えます。

  4. 生成されたテンプレートを IaC ジェネレーターのコンソールで開き、[編集したテンプレートをインポート] をクリックします。

Lambda コードのコピーがない場合は、以下の手順に従ってテンプレートを更新します。
  1. AWS Lambda GetFunction API アクションを使用します (aws lambda get-function AWS CLI コマンドを使用するなど)。

  2. レスポンスの RepositoryType パラメータは、コードが Amazon S3 バケットにある場合は S3 、コードが Amazon ECR リポジトリにある場合は ECR です。

  3. レスポンスの Location パラメータには、デプロイパッケージを 10 分間ダウンロードするときに使用できる、署名付き URL が含まれています。コードをダウンロードします。

  4. このコードを Amazon S3 バケットにファイルをアップロードします。

  5. 生成されたテンプレートを使ってインポートオペレーションを実行し、パラメータ値としてバケット名とキーを指定します。

このページの内容

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.