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

AWS::AppSync::Resolver

AWS::AppSync::Resolver リソースを使用して、スキーマのフィールドにアタッチする論理的な GraphQL リゾルバを定義します。リゾルバのリクエストテンプレートとレスポンステンプレートは Apache Velocity Template Language (VTL) 形式で書き込まれます。リゾルバーの詳細については、「リゾルバーのマッピングテンプレートリファレンス」を参照してください。

構文

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

JSON

{ "Type" : "AWS::AppSync::Resolver", "Properties" : { "ResponseMappingTemplateS3Location" : String, "TypeName" : String, "DataSourceName" : String, "RequestMappingTemplate" : String, "ResponseMappingTemplate" : String, "RequestMappingTemplateS3Location" : String, "ApiId" : String, "FieldName" : String, "Kind" : String, "PipelineConfig" : PipelineConfig } }

YAML

Type: "AWS::AppSync::Resolver" Properties: ResponseMappingTemplateS3Location: String TypeName: String DataSourceName: String RequestMappingTemplate: String ResponseMappingTemplate: String RequestMappingTemplateS3Location: String ApiId: String FieldName: String Kind: String PipelineConfig: PipelineConfig

プロパティ

ResponseMappingTemplateS3Location

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

必須: いいえ

タイプ: 文字列

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

TypeName

このリゾルバを呼び出す GraphQL タイプ。

必須: はい

タイプ: 文字列

更新に伴う要件: 置換

DataSourceName

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

必須: はい

タイプ: 文字列

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

RequestMappingTemplate

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

必須: いいえ

タイプ: 文字列

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

ResponseMappingTemplate

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

必須: いいえ

タイプ: 文字列

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

RequestMappingTemplateS3Location

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

必須: いいえ

タイプ: 文字列

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

ApiId

このリゾルバにアタッチする AWS AppSync GraphQL API。

必須: はい

タイプ: 文字列

更新に伴う要件: 置換

FieldName

このリゾルバを呼び出す型の GraphQL フィールド。

必須: はい

タイプ: 文字列

更新に伴う要件: 置換

Kind

リゾルバーの種類。

有効な値: UNIT | PIPELINE.

必須: いいえ

タイプ: 文字列

更新に伴う要件: 置換

PipelineConfig

パイプランリゾルバーにリンクされている関数。

必須: いいえ

タイプ: PipelineConfig

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

戻り値

参照番号

AWS::AppSync::Resolver リソースの論理 ID を組み込み Ref 関数に渡すと、リゾルバの ARN (例: arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/types/typename/resolvers/resolvername) が返ります。

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

Fn::GetAtt

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

TypeName

このリゾルバを呼び出す GraphQL タイプ。

ResolverArn

リゾルバの ARN (例: arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/types/typename/resolvers/resolvername)。

FieldName

このリゾルバを呼び出す型の GraphQL フィールド。

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

リゾルバの作成例

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

JSON

{ "Parameters": { "graphQlApiId": { "Type": "String" }, "dataSourceName": { "Type": "String" }, "fieldName": { "Type": "String" }, "typeName": { "Type": "String" }, "requestMappingTemplateS3LocationInput": { "Type": "String" }, "responseMappingTemplateS3LocationInput": { "Type": "String" } }, "Resources": { "Resolver": { "Type": "AWS::AppSync::Resolver", "Properties": { "ApiId": { "Ref": "graphQlApiId" }, "TypeName": { "Ref": "typeName" }, "FieldName": { "Ref": "fieldName" }, "DataSourceName": { "Ref": "dataSourceName" }, "RequestMappingTemplateS3Location": { "Ref": "requestMappingTemplateS3LocationInput" }, "ResponseMappingTemplateS3Location": { "Ref": "responseMappingTemplateS3LocationInput" } } } } }

YAML

Parameters: graphQlApiId: Type: String dataSourceName: Type: String fieldName: Type: String typeName: Type: String requestMappingTemplateS3LocationInput: Type: String responseMappingTemplateS3LocationInput: Type: String Resources: Resolver: Type: AWS::AppSync::Resolver Properties: ApiId: Ref: graphQlApiId TypeName: Ref: typeName FieldName: Ref: fieldName DataSourceName: Ref: dataSourceName RequestMappingTemplateS3Location: Ref: requestMappingTemplateS3LocationInput ResponseMappingTemplateS3Location: Ref: responseMappingTemplateS3LocationInput

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

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