

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Lakukan operasi DynamoDB CRUD dengan Step Functions
<a name="connect-ddb"></a>

Anda dapat mengintegrasikan Step Functions dengan DynamoDB untuk melakukan operasi CRUD pada tabel DynamoDB. Halaman ini mencantumkan DynamoDB yang didukung dan memberikan `Task` contoh status untuk mengambil item dari APIs DynamoDB.

Untuk mempelajari tentang mengintegrasikan dengan AWS layanan di Step Functions, lihat [Integrasi layanan ](integrate-services.md) dan[Meneruskan parameter ke API layanan di Step Functions](connect-parameters.md).

**Fitur utama dari integrasi DynamoDB yang dioptimalkan**  
Tidak ada optimasi khusus untuk pola [Minta Tanggapan](connect-to-resource.md#connect-default) integrasi.
[Tunggu Callback dengan Task Token](connect-to-resource.md#connect-wait-token)pola integrasi tidak didukung.
Hanya [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html),, [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html), dan tindakan [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html)API yang tersedia melalui integrasi yang dioptimalkan. Tindakan API lainnya, seperti [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html)tersedia menggunakan integrasi DynamoDB AWS SDK. 

Berikut ini adalah contoh `Task` keadaan yang mengambil pesan dari DynamoDB.

```
"Read next Message from DynamoDB": {
    "Type": "Task",
    "Resource": "arn:aws:states:::dynamodb:getItem",
    "Arguments": {
        "TableName": "{{DYNAMO_DB_TABLE_NAME}}",
        "Key": {
            "MessageId": {"S": "{% $List[0] %}"}
        }
    }
```

Untuk melihat status ini dalam contoh kerja, lihat template [Mentransfer catatan data denganLambda,DynamoDB, dan Amazon SQS](sample-project-transfer-data-sqs.md) starter.

**Perbedaan awalan pengecualian**  
Ketika koneksi DynamoDB standar mengalami kesalahan, awalan pengecualian `DynamoDb` akan (kasus campuran).  
Untuk integrasi yang dioptimalkan, awalan pengecualian adalah `DynamoDB` (huruf `DB` besar). 

**Kuota untuk data masukan atau hasil**  
Saat mengirim atau menerima data antar layanan, input atau hasil maksimum untuk suatu tugas adalah 256 KiB data sebagai string yang dikodekan UTF-8. Lihat [Kuota yang berkaitan dengan eksekusi mesin status](service-quotas.md#service-limits-state-machine-executions).

## DynamoDB yang Dioptimalkan APIs
<a name="connect-dynamodb-api"></a>
+ [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html)
+ [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html)
+ [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html)
+ [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html)

**Parameter Step Functions dalam dinyatakan dalam PascalCase**  
Bahkan jika API layanan asli ada di camelCase, misalnya `startSyncExecution` tindakan API, Anda menentukan parameter PascalCase, seperti:. `StateMachineArn`

## Kebijakan IAM untuk memanggil DynamoDB
<a name="dynamo-iam"></a>

Contoh templat berikut menunjukkan cara AWS Step Functions menghasilkan kebijakan IAM berdasarkan sumber daya dalam definisi mesin status Anda. Untuk informasi selengkapnya, lihat [Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi](service-integration-iam-templates.md) dan [Temukan pola integrasi layanan di Step Functions](connect-to-resource.md).

*Sumber daya statis*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:GetItem",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteItem"
            ],
            "Resource": [
                "arn:aws:dynamodb:{{us-east-1}}:{{123456789012}}:table/myTableName"
            ]
        }
    ]
}
```

*Sumber daya dinamis*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:GetItem",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteItem"
            ],
            "Resource": "*"
        }
    ]
}
```

*Untuk informasi selengkapnya tentang kebijakan IAM untuk semua tindakan DynamoDB API, lihat kebijakan [IAM dengan DynamoDB di Panduan Pengembang Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/using-identity-based-policies.html).* *Selain itu, untuk informasi tentang kebijakan IAM untuk PartiQL for DynamoDB, [lihat kebijakan IAM dengan PartiQL for DynamoDB di Panduan Pengembang Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-iam.html).*