

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# DataSource
<a name="sam-property-graphqlapi-datasource"></a>

配置可与 GraphQL API 解析程序连接的数据源。您可以使用 AWS Serverless Application Model (AWS SAM) 模板来配置与以下数据源的连接：
+ Amazon DynamoDB
+ AWS Lambda

要了解有关数据源的更多信息，请参阅*《AWS AppSync 开发人员指南》*中的[附加数据源](https://docs.aws.amazon.com/appsync/latest/devguide/attaching-a-data-source.html)。

## 语法
<a name="sam-property-graphqlapi-datasource-syntax"></a>

要在 AWS Serverless Application Model (AWS SAM) 模板中声明此实体，请使用以下语法。

### YAML
<a name="sam-property-graphqlapi-datasource-syntax-yaml"></a>

```
DynamoDb: DynamoDb
Lambda: Lambda
```

## Properties
<a name="sam-property-graphqlapi-datasource-properties"></a>

`DynamoDb`  <a name="sam-graphqlapi-datasource-dynamodb"></a>
将 DynamoDB 表配置为 GraphQL API 解析程序的数据源。  
*类型*：[DynamoDb](sam-property-graphqlapi-datasource-dynamodb.md)  
*必需*：否  
*CloudFormation 兼容性*：此属性是独有的 AWS SAM ，没有 CloudFormation 等效属性。

`Lambda`  <a name="sam-graphqlapi-datasource-lambda"></a>
将 Lambda 函数配置为 GraphQL API 解析程序的数据源。  
*类型*：[Lambda](sam-property-graphqlapi-datasource-lambda.md)  
*必需*：否  
*CloudFormation 兼容性*：此属性是独有的 AWS SAM ，没有 CloudFormation 等效属性。

# DynamoDb
<a name="sam-property-graphqlapi-datasource-dynamodb"></a>

将 Amazon DynamoDB 表配置为 GraphQL API 解析程序的数据源。

## 语法
<a name="sam-property-graphqlapi-datasource-dynamodb-syntax"></a>

要在 AWS Serverless Application Model (AWS SAM) 模板中声明此实体，请使用以下语法。

### YAML
<a name="sam-property-graphqlapi-datasource-dynamodb-syntax-yaml"></a>

```
LogicalId:
  DeltaSync: [DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html)
  Description: String
  Name: String
  Permissions: List
  Region: String
  ServiceRoleArn: String
  TableArn: String
  TableName: String
  UseCallerCredentials: Boolean
  Versioned: Boolean
```

## Properties
<a name="sam-property-graphqlapi-datasource-dynamodb-properties"></a>

`DeltaSync`  <a name="sam-graphqlapi-datasource-dynamodb-deltasync"></a>
描述增量同步配置。  
*类型*：[DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html)  
*必需*：否  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource DynamoDBConfig`对象的`[DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-deltasyncconfig)`属性。

`Description`  <a name="sam-graphqlapi-datasource-dynamodb-description"></a>
数据源的描述。  
*类型*：字符串  
*必需*：否  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource`资源的`[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description)`属性。

`LogicalId`  <a name="sam-graphqlapi-datasource-dynamodb-logicalid"></a>
数据源的唯一名称。  
*类型*：字符串  
*是否必需*：是  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource`资源的`[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)`属性。

`Name`  <a name="sam-graphqlapi-datasource-dynamodb-name"></a>
数据源的名称。指定此属性以覆盖 `LogicalId` 值。  
*类型*：字符串  
*必需*：否  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource`资源的`[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)`属性。

`Permissions`  <a name="sam-graphqlapi-datasource-dynamodb-permissions"></a>
使用 [AWS SAM 连接器](managing-permissions-connectors.md) 配置对数据源的权限。您可以在列表中提供以下任何值：  
+ `Read` - 允许解析程序读取数据源。
+ `Write` - 允许解析程序将数据写入到数据源。
AWS SAM 使用在部署时转换的`AWS::Serverless::Connector`资源来配置您的权限。要了解有关生成的资源的信息，请参阅[CloudFormation 指定时生成的资源 AWS::Serverless::Connector](sam-specification-generated-resources-connector.md)。  
您可以指定 `Permissions` 或 `ServiceRoleArn`，但不能同时指定两者。如果两者都未指定，则 AWS SAM 将生成默认值为 `Read` and `Write`。要撤消对数据源的访问权限，请从模板中移除 DynamoDB 对象。 AWS SAM 
*类型*：列表  
*必需*：否  
*CloudFormation 兼容性*：此属性是独有的 AWS SAM ，没有 CloudFormation 等效属性。它类似于 `AWS::Serverless::Connector` 资源的 `Permissions` 属性。

`Region`  <a name="sam-graphqlapi-datasource-dynamodb-region"></a>
你的 AWS 区域 DynamoDB 表的。如果未指定，则 AWS SAM 使用`[AWS::Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-region)`。  
*类型*：字符串  
*必需*：否  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource DynamoDBConfig`对象的`[AwsRegion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-awsregion)`属性。

`ServiceRoleArn`  <a name="sam-graphqlapi-datasource-dynamodb-servicerolearn"></a>
数据 AWS Identity and Access Management 源的 (IAM) 服务角色 ARN。在访问数据源时，系统将代入此角色。  
您可以指定 `Permissions` 或 `ServiceRoleArn`，但不能同时指定两者。  
*类型*：字符串  
*必填项*：否。 如果未指定，则 AWS SAM 应用的默认值`Permissions`。  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource`资源的`[ServiceRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn)`属性。

`TableArn`  <a name="sam-graphqlapi-datasource-dynamodb-tablearn"></a>
DynamoDB 表的 ARN。  
*类型*：字符串  
*必填*：条件性。如果未指定 `ServiceRoleArn`，则需要有 `TableArn`。  
*CloudFormation 兼容性*：此属性是独有的 AWS SAM ，没有 CloudFormation 等效属性。

`TableName`  <a name="sam-graphqlapi-datasource-dynamodb-tablename"></a>
表名称。  
*类型*：字符串  
*是否必需*：是  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource DynamoDBConfig`对象的`[TableName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-tablename)`属性。

`UseCallerCredentials`  <a name="sam-graphqlapi-datasource-dynamodb-usecallercredentials"></a>
设置为 `true` 以将 IAM 与此数据源一起使用。  
*类型*：布尔值  
*必需*：否  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource DynamoDBConfig`对象的`[UseCallerCredentials](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-usecallercredentials)`属性。

`Versioned`  <a name="sam-graphqlapi-datasource-dynamodb-versioned"></a>
设置为 `true` 以将[冲突检测、冲突解决和同步](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html)与该数据源一起使用。  
*类型*：布尔值  
*必需*：否  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource DynamoDBConfig`对象的`[Versioned](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-versioned)`属性。

# Lambda
<a name="sam-property-graphqlapi-datasource-lambda"></a>

将 AWS Lambda 函数配置为 GraphQL API 解析器的数据源。

## 语法
<a name="sam-property-graphqlapi-datasource-lambda-syntax"></a>

要在 AWS Serverless Application Model (AWS SAM) 模板中声明此实体，请使用以下语法。

### YAML
<a name="sam-property-graphqlapi-datasource-lambda-syntax-yaml"></a>

```
LogicalId:
  Description: String
  FunctionArn: String
  Name: String
  ServiceRoleArn: String
```

## Properties
<a name="sam-property-graphqlapi-datasource-lambda-properties"></a>

`Description`  <a name="sam-graphqlapi-datasource-lambda-description"></a>
数据源的描述。  
*类型*：字符串  
*必需*：否  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource`资源的`[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description)`属性。

`FunctionArn`  <a name="sam-graphqlapi-datasource-lambda-functionarn"></a>
Lambda 函数的 ARN。  
*类型*：字符串  
*必需*：否  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource LambdaConfig`对象的`[LambdaFunctionArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html#cfn-appsync-datasource-lambdaconfig-lambdafunctionarn)`属性。

`LogicalId`  <a name="sam-graphqlapi-datasource-lambda-logicalid"></a>
数据源的唯一名称。  
*类型*：字符串  
*是否必需*：是  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource`资源的`[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)`属性。

`Name`  <a name="sam-graphqlapi-datasource-lambda-name"></a>
数据源的名称。指定此属性以覆盖 `LogicalId` 值。  
*类型*：字符串  
*必需*：否  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource`资源的`[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)`属性。

`ServiceRoleArn`  <a name="sam-graphqlapi-datasource-lambda-servicerolearn"></a>
数据 AWS Identity and Access Management 源的 (IAM) 服务角色 ARN。在访问数据源时，系统将代入此角色。  
要撤销对数据源的访问权限，请从 AWS SAM 模板中移除 Lambda 对象。
*类型*：字符串  
*必填项*：否。 如果未指定， AWS SAM 将使用配置`Write`权限[AWS SAM 连接器](managing-permissions-connectors.md)。  
*CloudFormation 兼容性*：此属性直接传递给`AWS::AppSync::DataSource`资源的`[ServiceRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn)`属性。