AWS::AppSync::FunctionConfiguration - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::AppSync::FunctionConfiguration

AWS::AppSync::FunctionConfiguration 资源在 GraphQL API 中定义函数以执行特定的操作。您可以使用管道解析程序来附加函数。有关更多信息,请参阅 AWS AppSync 开发人员指南 中的管道解析程序

注意

提交更新时,AWS CloudFormation 会基于提交的内容与堆栈的当前模板之间的差异来更新资源。要更新此资源,您必须在 CloudFormation 模板中更改此资源的属性值。在不更改属性值的情况下更改 S3 文件内容不会导致更新操作。

请参阅 AWS CloudFormation 用户指南 中的更新堆栈资源的行为

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

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

YAML

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

属性

ApiId

要使用此函数附加的 AWS AppSync GraphQL API。

必需:是

类型:字符串

Update requires: Replacement

DataSourceName

此函数将附加的数据源的名称。

必需:是

类型:字符串

Update requires: No interruption

Description

Function 描述。

必需:否

类型:字符串

Update requires: No interruption

FunctionVersion

请求映射模板的版本。目前,仅支持 2018 年 5 月 29 日版的模板。

必需:是

类型:字符串

Update requires: No interruption

Name

函数的名称。

必需:是

类型:字符串

Update requires: No interruption

RequestMappingTemplate

Function 请求映射模板。函数仅支持 2018 年 5 月 29 日版的请求映射模板。

必需:否

类型:字符串

Update requires: No interruption

RequestMappingTemplateS3Location

请求映射模板在 Amazon S3 存储桶中的位置。如果要在 Amazon S3 中配置模板文件而不是将其嵌入 CloudFormation 模板中,请使用此项。

必需:否

类型:字符串

Update requires: No interruption

ResponseMappingTemplate

Function 响应映射模板。

必需:否

类型:字符串

Update requires: No interruption

ResponseMappingTemplateS3Location

响应映射模板在 Amazon S3 存储桶中的位置。如果要在 Amazon S3 中配置模板文件而不是将其嵌入 CloudFormation 模板中,请使用此项。

必需:否

类型:字符串

Update requires: No interruption

返回值

Ref

在将 AWS::AppSync::FunctionConfiguration 资源的逻辑 ID 传递给内部 Ref 函数时,该函数将返回 FunctionConfiguration 的 ARN,如 arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/functions/functionid

有关使用 Ref 函数的更多信息,请参阅 Ref

Fn::GetAtt

Fn::GetAtt 返回一个此类型指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 的更多信息,请参阅 Fn::GetAtt

DataSourceName

此函数将附加的数据源的名称。

FunctionArn

该函数的 ARN,如 arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/functions/functionId

FunctionId

该函数的唯一 ID。

Name

函数的名称。

示例

函数创建示例

以下示例创建一个函数,并通过将 GraphQL API ID 和数据源名称作为参数传递来将该函数与现有 GraphQL API 和数据源关联。

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

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" } } } } }

另请参阅