質問: lambda をデプロイする sam deploy コマンドのテンプレートにタグを設定したいのですが ``` Resources: LambdaTest: Type: AWS::Serverless::Function Properties: : Tags: Name: name-test ``` のように書いても ``` CREATE_FAILED AWS::Lambda::Function LambdaTest Encountered unsupported property Tags ``` となってしまいます ドキュメントを読むと > > タイプ: マップ > > CloudFormation の互換性: このプロパティは、AWS::Lambda::Function の Tags プロパティに似ています。SAM のタグプロパティは、キーと値のペアで構成されています。 > > > となっていてどうも形式が違うみたいなんですが タイプ: マップというのはどういう記述方法なんでしょうか CloudFormation だと ``` Tags: Key: Name Value: name-test ``` と書くみたいなのですがこれだともっと前の段階で sam deploy が失敗します
回答: AWS::Serverless::Function の説明に > > Tags > > > Lambda 関数に追加されるタグおよび対応する IAM 実行ロールを指定するマップ (文字列から文字列)。キーと値に使用できるのは**英数字のみ**です。キーの長さは 1~127 文字の Unicode 文字です。「aws:」をプレフィックスとして使用することはできません。値の長さは 1~255 文字の Unicode 文字です。 > > > とありますが、「name-test」だとハイフンを含むためエラーが起こるのではないでしょうか