翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ResourceReference
AWS::Serverless::Connector リソースタイプが使用するリソースへの参照。
注記
同じテンプレート内のリソースには、Id を指定します。同じテンプレートにないリソースには、他のプロパティを組み合わせて使用します。詳細については、「AWS SAM コネクタリファレンス」を参照してください。
構文
AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。
YAML
Arn:StringId:StringName:StringQualifier:StringQueueUrl:StringResourceId:StringRoleName:StringType:String
プロパティ
-
Arn -
リソースの ARN です。
型: 文字列
必須: 条件に応じて異なります
CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。
-
Id -
同じテンプレート内のリソースの論理 ID です。
注記
Idが指定されている場合、コネクタが AWS Identity and Access Management (IAM) ポリシーを生成すると、それらのポリシーに関連付けられた IAM ロールはリソース から推測されますId。Idが指定されていない場合は、コネクタ用にリソースのRoleNameを指定して、生成された IAM ポリシーを IAM ロールにアタッチします。型: 文字列
必須: 条件に応じて異なります
CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。
-
Name -
リソースの名前です。
型: 文字列
必須: 条件に応じて異なります
CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。
-
Qualifier -
範囲を狭めるリソースの修飾子。
Qualifierはリソース制限の ARN の末尾にある*値を置き換えます。例については、Lambda 関数を呼び出す API Gatewayを参照してください。注記
修飾子の定義はリソースタイプによって異なります。サポートされている送信元リソースタイプおよび送信先リソースタイプの一覧については、「AWS SAM コネクタリファレンス」を参照してください。
型: 文字列
必須: 条件に応じて異なります
CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。
-
QueueUrl -
Amazon SQS キューの URL です。このプロパティは Amazon SQS リソースにのみ適用されます。
型: 文字列
必須: 条件に応じて異なります
CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。
-
ResourceId -
リソースの ID です。例: API Gateway API ID。
型: 文字列
必須: 条件に応じて異なります
CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。
-
RoleName -
リソースに関連付けられたロール名です。
注記
Idが指定されている場合、コネクタが IAM ポリシーを生成すると、それらのポリシーに関連付けられた IAM ロールがリソースIdから推測されます。Idが指定されていない場合は、コネクタ用にリソースのRoleNameを指定して、生成された IAM ポリシーを IAM ロールにアタッチします。型: 文字列
必須: 条件に応じて異なります
CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。
-
Type -
リソース CloudFormation のタイプ。詳細については、「AWS リソースおよびプロパティタイプのリファレンス」を参照してください。
型: 文字列
必須: 条件に応じて異なります
CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 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