

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 資料來源
<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`和 `Write`。若要撤銷對資料來源的存取，請從 AWS SAM 範本中移除 DynamoDB 物件。
*類型：*清單  
*必要*：否  
*CloudFormation 相容性*：此屬性對 是唯一的 AWS SAM ，並且沒有 CloudFormation 同等的。它類似於 `AWS::Serverless::Connector` 資源的 `Permissions` 屬性。

`Region`  <a name="sam-graphqlapi-datasource-dynamodb-region"></a>
DynamoDB 資料表 AWS 區域 的 。如果您未指定， 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)` 屬性。