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

AWS::AppSync::DataSource

AWS::AppSync::DataSource リソースは、AWS AppSync で接続先であるリゾルバーのデータソース (Amazon DynamoDB、AWS Lambda、Amazon Elasticsearch Service など) を作成します。クライアントから GraphQL 呼び出しが行われると、リゾルバーは、これらのデータソースを使用してデータをフェッチします。

構文

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

JSON

{ "Type" : "AWS::AppSync::DataSource", "Properties" : { "Type" : String, "Description" : String, "ServiceRoleArn" : String, "LambdaConfig" : LambdaConfig, "ApiId" : String, "Name" : String, "DynamoDBConfig" : DynamoDBConfig, "ElasticsearchConfig" : ElasticsearchConfig, "HttpConfig" : HttpConfig, "RelationalDatabaseConfig" : RelationalDatabaseConfig } }

プロパティ

Type

顧客の AWS アカウントのデータを返す必須のリソース。値の完全なリストの詳細については、AWS AppSync API Reference の「CreateDataSource」を参照してください。

NONE を指定して、ローカルリゾルバーを使用することもできます。詳細については、AWS AppSync 開発者ガイド の「ローカルリゾルバーのチュートリアル」を参照してください。

必須: はい

タイプ: 文字列

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

Description

このデータソースの分かりやすい説明。

必須: いいえ

タイプ: 文字列

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

ServiceRoleArn

データソースがリソースへの接続に使用する IAM ロールの Amazon リソースネーム (ARN)。

Required: Conditional.Type が、AWS_LAMBDAAMAZON_DYNAMODB、または AMAZON_ELASTICSEARCH に指定されている場合は必須です。

タイプ: 文字列

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

LambdaConfig

アカウントの Lambda 関数の有効な ARN。

必須: いいえ

タイプ: LambdaConfig

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

ApiId

このデータソースが作成される、AWS AppSync の一意の GraphQL API 識別子。

必須: はい

タイプ: 文字列

更新に伴う要件: 置換

Name

作成後の AppSync データソースを識別する分かりやすい名前。

必須: はい

タイプ: 文字列

更新に伴う要件: 置換

DynamoDBConfig

アカウントの Amazon DynamoDB テーブルの AwsRegion および TableName。

必須: いいえ

タイプ: DynamoDBConfig

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

ElasticsearchConfig

アカウントの Amazon Elasticsearch Service ドメインの AwsRegion およびエンドポイント。

必須: いいえ

タイプ: ElasticsearchConfig

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

HttpConfig

HTTP データソースのエンドポイント。

必須: いいえ

タイプ: HttpConfig

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

RelationalDatabaseConfig

リレーショナルデータベースデータソースのリレーショナルデータベース設定。

必須: いいえ

タイプ: RelationalDatabaseConfig

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

戻り値

参照番号

AWS::AppSync::DataSource リソースの論理 ID を組み込み Ref 関数に渡すと、データソースの ARN (例: arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename) が返ります。

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

Fn::GetAtt

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

DataSourceArn

API キーの Amazon リソースネーム (ARN) (例: arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename)。

Name

作成後の AppSync データソースを識別する分かりやすい名前。

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

データソースの作成例

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

JSON

{ "Parameters": { "graphQlApiId": { "Type": "String" }, "dataSourceName": { "Type": "String" }, "dataSourceDescription": { "Type": "String" }, "serviceRoleArn": { "Type": "String" }, "lambdaFunctionArn": { "Type": "String" } }, "Resources": { "DataSource": { "Type": "AWS::AppSync::DataSource", "Properties": { "ApiId": { "Ref": "graphQlApiId" }, "Name": { "Ref": "dataSourceName" }, "Description": { "Ref": "dataSourceDescription" }, "Type": "AWS_LAMBDA", "ServiceRoleArn": { "Ref": "serviceRoleArn" }, "LambdaConfig": { "LambdaFunctionArn": { "Ref": "lambdaFunctionArn" } } } } } }

YAML

Parameters: graphQlApiId: Type: String dataSourceName: Type: String dataSourceDescription: Type: String serviceRoleArn: Type: String lambdaFunctionArn: Type: String Resources: DataSource: Type: AWS::AppSync::DataSource Properties: ApiId: Ref: graphQlApiId Name: Ref: dataSourceName Description: Ref: dataSourceDescription Type: "AWS_LAMBDA" ServiceRoleArn: Ref: serviceRoleArn LambdaConfig: LambdaFunctionArn: Ref: lambdaFunctionArn

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