ResourceReference - AWS Serverless Application Model

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ResourceReference

AWS::Serverless::Connector リソースタイプが使用するリソースへの参照。

注記

同じテンプレート内のリソースには、Id を指定します。同じテンプレートにないリソースには、他のプロパティを組み合わせて使用します。詳細については、「AWS SAM コネクタリファレンス」を参照してください。

構文

AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。

YAML

Arn: String Id: String Name: String Qualifier: String QueueUrl: String ResourceId: String RoleName: String Type: String

プロパティ

Arn

リソースの ARN です。

タイプ: 文字列

必須: 条件に応じて異なります

AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。

Id

同じテンプレート内のリソースの論理 ID です。

注記

Id が指定されている場合、コネクタが AWS Identity and Access Management (IAM) ポリシーを生成すると、それらのポリシーに関連付けられた IAM ロールがリソース から推測されますIdId が指定されていない場合は、コネクタ用にリソースの RoleName を指定して、生成された IAM ポリシーを IAM ロールにアタッチします。

タイプ: 文字列

必須: 条件に応じて異なります

AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。

Name

リソースの名前です。

タイプ: 文字列

必須: 条件に応じて異なります

AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。

Qualifier

範囲を狭めるリソースの修飾子。Qualifier はリソース制限の ARN の末尾にある * 値を置き換えます。例については、Lambda 関数を呼び出す API Gatewayを参照してください。

注記

修飾子の定義はリソースタイプによって異なります。サポートされている送信元リソースタイプおよび送信先リソースタイプの一覧については、「AWS SAM コネクタリファレンス」を参照してください。

タイプ: 文字列

必須: 条件に応じて異なります

AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。

QueueUrl

Amazon SQS キューの URL です。このプロパティは Amazon SQS リソースにのみ適用されます。

タイプ: 文字列

必須: 条件に応じて異なります

AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。

ResourceId

リソースの ID です。例: API Gateway API ID。

タイプ: 文字列

必須: 条件に応じて異なります

AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。

RoleName

リソースに関連付けられたロール名です。

注記

Id が指定されている場合、コネクタが IAM ポリシーを生成すると、それらのポリシーに関連付けられた IAM ロールがリソース Id から推測されます。Id が指定されていない場合は、コネクタ用にリソースの RoleName を指定して、生成された IAM ポリシーを IAM ロールにアタッチします。

タイプ: 文字列

必須: 条件に応じて異なります

AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。

Type

リソース AWS CloudFormation のタイプ。詳細については、「AWS リソースおよびプロパティタイプのリファレンス」を参照してください。

タイプ: 文字列

必須: 条件に応じて異なります

AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。

Lambda 関数を呼び出す API Gateway

次の例では、 AWS::Serverless::Connectorリソースを使用して、Amazon API Gateway が AWS Lambda 関数を呼び出すことを許可します。

YAML

Transform: AWS::Serverless-2016-10-31 Resources: MyRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Statement: - Effect: Allow Action: sts:AssumeRole Principal: Service: lambda.amazonaws.com ManagedPolicyArns: - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole MyFunction: Type: AWS::Lambda::Function Properties: Role: !GetAtt MyRole.Arn Runtime: nodejs16.x Handler: index.handler Code: ZipFile: | exports.handler = async (event) => { return { statusCode: 200, body: JSON.stringify({ "message": "It works!" }), }; }; MyApi: Type: AWS::ApiGatewayV2::Api Properties: Name: MyApi ProtocolType: HTTP MyStage: Type: AWS::ApiGatewayV2::Stage Properties: ApiId: !Ref MyApi StageName: prod AutoDeploy: True MyIntegration: Type: AWS::ApiGatewayV2::Integration Properties: ApiId: !Ref MyApi IntegrationType: AWS_PROXY IntegrationUri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${MyFunction.Arn}/invocations IntegrationMethod: POST PayloadFormatVersion: "2.0" MyRoute: Type: AWS::ApiGatewayV2::Route Properties: ApiId: !Ref MyApi RouteKey: GET /hello Target: !Sub integrations/${MyIntegration} MyConnector: Type: AWS::Serverless::Connector Properties: Source: # Use 'Id' when resource is in the same template Type: AWS::ApiGatewayV2::Api ResourceId: !Ref MyApi Qualifier: prod/GET/hello # Or "*" to allow all routes Destination: # Use 'Id' when resource is in the same template Type: AWS::Lambda::Function Arn: !GetAtt MyFunction.Arn Permissions: - Write Outputs: Endpoint: Value: !Sub https://${MyApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/prod/hello