# AppSyncDynamoDbDataSourceProps

Properties for an AppSync DynamoDB datasource.

Extends: AppSyncDynamoDbDataSourceProps
Extends: AppSyncBackedDataSourceProps
Used as props by: AppSyncDynamoDbDataSource

- Source: [`aws-appsync/lib/data-source-common.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-appsync/lib/data-source-common.ts#L236)
- Type last changed: v2.193.0 · 30 Apr 2025

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_appsync as appsync } from 'aws-cdk-lib';
import { aws_dynamodb as dynamodb } from 'aws-cdk-lib';
import { aws_iam as iam } from 'aws-cdk-lib';
import { aws_appsync as interfaces_appsync } from 'aws-cdk-lib/interfaces';

declare const apiRef: interfaces_appsync.IApiRef;
declare const role: iam.Role;
declare const table: dynamodb.Table;
const appSyncDynamoDbDataSourceProps: appsync.AppSyncDynamoDbDataSourceProps = {
  api: apiRef,
  table: table,

  // the properties below are optional
  description: 'description',
  name: 'name',
  readOnlyAccess: false,
  serviceRole: role,
  useCallerCredentials: false,
};
```

## Properties

- `api`: [IApiRef](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_appsync.IApiRef.html) (required) — The API to attach this data source to.

- `description`: string = None — The description of the data source.

- `name`: string — The name of the data source.

  **Default:** id of data source

  The only allowed pattern is: {[_A-Za-z][_0-9A-Za-z]*}.
  Any invalid characters will be automatically removed.

- `readOnlyAccess`: boolean = false — Specify whether this Data Source is read only or has read and write permissions to the DynamoDB table.

- `serviceRole`: [IRole](/cdk/api/v2/docs/aws-cdk-lib.aws_iam.IRole.html) — The IAM service role to be assumed by AppSync to interact with the data source.

  **Default:** Create a new role

- `table`: [ITable](/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.ITable.html) (required) — The DynamoDB table backing this data source.

- `useCallerCredentials`: boolean = false — Use credentials of caller to access DynamoDB.
