AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

AWS::AppSync::FunctionConfiguration

AWS::AppSync::FunctionConfiguration リソースは、特定のオペレーションを実行する GraphQL API の関数を定義します。関数は PipelineResolver によってアタッチできます。関数の詳細については、「FunctionConfiguration リファレンス」を参照してください。

構文

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

JSON

{ "Type" : "AWS::AppSync::FunctionConfiguration", "Properties" : { "ApiId" : String, "Name" : String, "Description" : String, "DataSourceName" : String, "FunctionVersion" : String, "RequestMappingTemplate" : String, "RequestMappingTemplateS3Location" : String, "ResponseMappingTemplate" : String, "ResponseMappingTemplateS3Location" : String } }

YAML

Type: "AWS::AppSync::FunctionConfiguration" Properties: ApiId: String Name: String Description: String DataSourceName: String FunctionVersion: String RequestMappingTemplate: String RequestMappingTemplateS3Location: String ResponseMappingTemplate: String ResponseMappingTemplateS3Location: String

プロパティ

ApiId

この関数にアタッチする AWS AppSync GraphQL API。

必須: はい

タイプ: 文字列

更新に伴う要件: 置換

Name

関数の名前。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません

Description

関数の説明。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません

DataSourceName

呼び出し元にデータを返すのに対して、この関数によって実行される AWS AppSync データソース。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません

FunctionVersion

関数のバージョン。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません

RequestMappingTemplate

関数のリクエストのマッピングテンプレート。CloudFormation 内のテキストに書き込まれます。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません

RequestMappingTemplateS3Location

CloudFormation テンプレートに組み込まずに、S3 上のテンプレートファイルを使用してプロビジョニングする場合の S3 バケット上のリクエストのマッピングテンプレートの位置。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません

ResponseMappingTemplate

関数のレスポンスマッピングテンプレート。CloudFormation 内のテキストに書き込まれます。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません

ResponseMappingTemplateS3Location

CloudFormation テンプレートに組み込まずに、S3 上のテンプレートファイルを使用してプロビジョニングする場合の S3 バケット上のレスポンスマッピングテンプレートの位置。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません

戻り値

参照番号

AWS::AppSync::FunctionConfiguration リソースの論理 ID を組み込み Ref 関数に渡すと、その関数は FunctionConfiguration の ARN を返します (例: arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/functions/functionid など)。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。以下には、利用可能な属性とサンプル戻り値のリストが示されます。

FunctionName

この関数の名前。

FunctionArn

関数の ARN (arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/functions/functionId など)。

FunctionId

この関数の一意の ID。

DataSourceName

この関数がアタッチするデータソースの名前。

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

関数の作成例

次の例では、関数を作成して、パラメータとして GraphQL API ID を渡し、既存の GraphQL API およびデータソースと関連付けます。

JSON

{ "Parameters": { "graphQlApiId": { "Type": "String" }, "name": { "Type": "String" }, "description": { "Type": "String" }, "dataSourceName": { "Type": "String" }, "functionVersion": { "Type": "String" }, "requestMappingTemplateS3LocationInput": { "Type": "String" }, "responseMappingTemplateS3LocationInput": { "Type": "String" } }, "Resources": { "FunctionConfiguration": { "Type": "AWS::AppSync::FunctionConfiguration", "Properties": { "ApiId": { "Ref": "graphQlApiId" }, "Name": { "Ref": "name" }, "Description": { "Ref": "description" }, "FunctionVersion": { "Ref": "functionVersion" }, "DataSourceName": { "Ref": "dataSourceName" }, "RequestMappingTemplateS3Location": { "Ref": "requestMappingTemplateS3LocationInput" }, "ResponseMappingTemplateS3Location": { "Ref": "responseMappingTemplateS3LocationInput" } } } } }

YAML

Parameters: graphQlApiId: Type: String dataSourceName: Type: String name: Type: String description: Type: String functionVersion: Type: String requestMappingTemplateS3LocationInput: Type: String responseMappingTemplateS3LocationInput: Type: String Resources: FunctionConfiguration: Type: AWS::AppSync::FunctionConfiguration Properties: ApiId: Ref: graphQlApiId Name: Ref: name Description: Ref: description DataSourceName: Ref: dataSourceName FunctionVersion: Ref: functionVersion RequestMappingTemplateS3Location: Ref: requestMappingTemplateS3LocationInput ResponseMappingTemplateS3Location: Ref: responseMappingTemplateS3LocationInput

以下の資料も参照してください。

  • AWS AppSync API リファレンスCreateFunction オペレーション