

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

# Meminta impor tabel di DynamoDB
<a name="S3DataImport.Requesting"></a>

Impor DynamoDB memungkinkan Anda mengimpor data dari bucket Amazon S3 ke tabel DynamoDB baru. [Anda dapat meminta impor tabel menggunakan konsol [DynamoDB, [CLI [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)](AccessingDynamoDB.md#Tools.CLI), atau DynamoDB](https://console.aws.amazon.com/) API.](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/Welcome.html)

Jika Anda ingin menggunakan AWS CLI, Anda harus mengkonfigurasinya terlebih dahulu. Untuk informasi selengkapnya, lihat [Mengakses DynamoDB](AccessingDynamoDB.md).

**catatan**  
Fitur Tabel Impor berinteraksi dengan beberapa AWS Layanan berbeda seperti Amazon CloudWatch S3 dan. Sebelum memulai impor, pastikan bahwa pengguna atau peran yang memanggil impor APIs memiliki izin untuk semua layanan dan sumber daya yang bergantung pada fitur tersebut. 
 Jangan memodifikasi objek Amazon S3 saat impor sedang berlangsung, karena ini dapat menyebabkan operasi gagal atau dibatalkan.
Untuk informasi selengkapnya tentang kesalahan dan pemecahan masalah, lihat [Kuota format impor dan validasi](S3DataImport.Validation.md)

**Topics**
+ [Menyiapkan izin Peran IAM](#DataImport.Requesting.Permissions)
+ [Meminta impor menggunakan Konsol Manajemen AWS](#S3DataImport.Requesting.Console)
+ [Mendapatkan detail tentang impor sebelumnya di Konsol Manajemen AWS](#S3DataImport.Requesting.Console.Details)
+ [Meminta impor menggunakan AWS CLI](#S3DataImport.Requesting.CLI)
+ [Mendapatkan detail tentang impor sebelumnya di AWS CLI](#S3DataImport.Requesting.CLI.Details)

## Menyiapkan izin Peran IAM
<a name="DataImport.Requesting.Permissions"></a>

Anda dapat mengimpor data dari bucket Amazon S3 mana pun yang izin bacanya Anda miliki. Bucket sumber tidak harus berada di Wilayah yang sama atau memiliki pemilik yang sama dengan tabel sumber. AWS Identity and Access Management (IAM) Anda harus menyertakan tindakan yang relevan pada bucket Amazon S3 sumber, dan izin yang CloudWatch diperlukan untuk memberikan informasi debugging. Contoh kebijakan ditunjukkan di bawah ini.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDynamoDBImportAction",
      "Effect": "Allow",
      "Action": [
        "dynamodb:ImportTable",
        "dynamodb:DescribeImport"
      ],
      "Resource": "arn:aws:dynamodb:us-east-1:111122223333:table/my-table*"
    },
    {
      "Sid": "AllowS3Access",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::your-bucket/*",
        "arn:aws:s3:::your-bucket"
      ]
    },
    {
      "Sid": "AllowCloudwatchAccess",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:PutLogEvents",
        "logs:PutRetentionPolicy"
      ],
      "Resource": "arn:aws:logs:us-east-1:111122223333:log-group/aws-dynamodb/*"
    },
    {
      "Sid": "AllowDynamoDBListImports",
      "Effect": "Allow",
      "Action": "dynamodb:ListImports",
      "Resource": "*"
    }
  ]
}
```

------

### Izin Amazon S3
<a name="DataImport.Requesting.Permissions.s3"></a>

Saat memulai impor pada sumber bucket Amazon S3 yang dimiliki oleh akun lain, pastikan bahwa peran atau pengguna memiliki akses ke objek Amazon S3. Anda dapat memeriksanya dengan menjalankan perintah `GetObject` Amazon S3 dan menggunakan kredensial. Saat menggunakan API, parameter pemilik bucket Amazon S3 defaultnya adalah ID akun pengguna saat ini. Untuk impor lintas akun, pastikan parameter ini diisi dengan benar dengan ID akun pemilik bucket. Kode berikut adalah contoh kebijakan bucket Amazon S3 di akun sumber.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {"Sid": "ExampleStatement",
            "Effect": "Allow",
            "Principal": {"AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

### AWS Key Management Service
<a name="DataImport.Requesting.Permissions.kms"></a>

Saat membuat tabel baru untuk impor, jika Anda memilih enkripsi pada kunci istirahat yang tidak dimiliki oleh DynamoDB maka Anda harus memberikan AWS KMS izin yang diperlukan untuk mengoperasikan tabel DynamoDB yang dienkripsi dengan kunci yang dikelola pelanggan. Untuk informasi selengkapnya, lihat [Mengotorisasi penggunaan AWS KMS kunci Anda](encryption.usagenotes.html#dynamodb-kms-authz). Jika objek Amazon S3 dienkripsi dengan enkripsi sisi server KMS (SSE-KMS), pastikan bahwa peran atau pengguna yang memulai impor memiliki akses untuk mendekripsi menggunakan kunci. AWS KMS Fitur ini tidak mendukung kunci enkripsi yang disediakan pelanggan (SSE-C) yang mengenkripsi objek Amazon S3. 

### CloudWatch izin
<a name="DataImport.Requesting.Permissions.cw"></a>

Peran atau pengguna yang memulai impor perlu membuat dan mengelola izin untuk grup log dan log stream yang terkait dengan impor. 

## Meminta impor menggunakan Konsol Manajemen AWS
<a name="S3DataImport.Requesting.Console"></a>

Contoh berikut menunjukkan cara menggunakan konsol DynamoDB untuk mengimpor data yang ada ke tabel baru bernama `MusicCollection`.

**Untuk meminta impor tabel**

1. Masuk ke Konsol Manajemen AWS dan buka konsol DynamoDB di. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)

1. Di panel navigasi di sisi kiri konsol, pilih **Impor dari S3**.

1. Pada halaman yang muncul, pilih **Impor dari S3**.

1. Pilih **Impor dari S3**.

1. Di URL **Sumber S3, masukkan URL** sumber Amazon S3.

   Jika Anda memiliki bucket sumber, pilih **Browse S3** untuk mencarinya. Atau, masukkan URL bucket dalam format berikut —`s3://bucket/prefix`. `prefix`Ini adalah awalan kunci Amazon S3. Ini adalah nama objek Amazon S3 yang ingin Anda impor atau awalan key yang dibagikan oleh semua objek Amazon S3 yang ingin Anda impor.
**catatan**  
Anda tidak dapat menggunakan awalan yang sama dengan permintaan ekspor DynamoDB Anda. Fitur ekspor membuat struktur folder dan file manifes untuk semua ekspor. Jika Anda menggunakan jalur Amazon S3 yang sama, itu akan menghasilkan kesalahan.   
Sebagai gantinya, arahkan impor ke folder, yang berisi data dari ekspor tertentu. Format jalur yang benar dalam hal ini `XXXXXXXX-XXXXXX` adalah`s3://bucket/prefix/AWSDynamoDB/<XXXXXXXX-XXXXXX>/data/`, di mana ID ekspor. Anda dapat menemukan ID ekspor di ARN ekspor, yang memiliki format berikut —. `arn:aws:dynamodb:<Region>:<AccountID>:table/<TableName>/export/<XXXXXXXX-XXXXXX>` Misalnya, `arn:aws:dynamodb:us-east-1:123456789012:table/ProductCatalog/export/01234567890123-a1b2c3d4`.

1. Tentukan apakah Anda adalah **pemilik bucket S3**. Jika bucket sumber dimiliki oleh akun lain, pilih Akun **yang berbeda AWS **. Lalu masukkan ID akun pemilik bucket.

1. Di bagian **Impor kompresi file**, pilih **Tanpa kompresi**, **GZIP**, atau **ZSTD** yang sesuai.

1. Pilih format file Impor yang sesuai. Pilihannya adalah** DynamoDB JSON**,** Amazon Ion**, atau **CSV**. Jika Anda memilih **CSV**, Anda akan memiliki dua opsi tambahan: **header CSV** dan **karakter pembatas CSV**.

   Untuk **header CSV**, pilih apakah header akan diambil dari baris pertama file atau disesuaikan. Jika Anda memilih **Sesuaikan header Anda**, Anda dapat menentukan nilai header yang ingin Anda gunakan untuk mengimpor. Header CSV yang ditentukan dengan metode ini peka huruf besar-kecil dan diharapkan berisi kunci tabel target. 

   Untuk **Karakter pembatas CSV**, Anda mengatur karakter yang akan memisahkan item. Koma dipilih secara default. Jika Anda memilih **Karakter pembatas khusus**, pembatas harus sesuai dengan pola ekspresi reguler: `[,;:|\t ]`.

1. Pilih tombol **Berikutnya** dan pilih opsi untuk tabel baru yang akan dibuat untuk menyimpan data Anda. 
**catatan**  
Kunci Primer dan Kunci Urutan harus cocok dengan atribut dalam file, atau impor akan gagal. Atributnya peka huruf besar-kecil.

1. Pilih **Berikutnya** lagi untuk meninjau opsi impor Anda, lalu klik **Impor** untuk memulai tugas impor. Pertama-tama Anda akan melihat tabel baru Anda tercantum di “Tabel” dengan status “Membuat”. Saat ini tabel tersebut tidak dapat diakses.

1. Setelah impor selesai, statusnya akan ditampilkan sebagai "Aktif" dan Anda dapat mulai menggunakan tabel tersebut.

## Mendapatkan detail tentang impor sebelumnya di Konsol Manajemen AWS
<a name="S3DataImport.Requesting.Console.Details"></a>

Anda dapat menemukan informasi tentang tugas impor yang pernah Anda jalankan sebelumnya dengan mengklik **Impor dari S3** di bar samping navigasi, lalu memilih tab **Impor**. Panel impor berisi daftar semua impor yang Anda buat dalam 90 hari terakhir. Memilih ARN tugas yang tercantum di tab Impor akan mengambil informasi tentang impor tersebut, termasuk pengaturan konfigurasi lanjutan yang Anda pilih.

## Meminta impor menggunakan AWS CLI
<a name="S3DataImport.Requesting.CLI"></a>

Contoh berikut mengimpor data berformat CSV dari bucket S3 yang disebut bucket dengan prefiks dari prefiks ke tabel baru yang disebut tabel target.

```
aws dynamodb import-table --s3-bucket-source S3Bucket=bucket,S3KeyPrefix=prefix \ 
            --input-format CSV --table-creation-parameters '{"TableName":"target-table","KeySchema":  \
            [{"AttributeName":"hk","KeyType":"HASH"}],"AttributeDefinitions":[{"AttributeName":"hk","AttributeType":"S"}],"BillingMode":"PAY_PER_REQUEST"}' \ 
            --input-format-options '{"Csv": {"HeaderList": ["hk", "title", "artist", "year_of_release"], "Delimiter": ";"}}'
```

**catatan**  
Jika Anda memilih untuk mengenkripsi impor menggunakan kunci yang dilindungi oleh AWS Key Management Service (AWS KMS), kunci harus berada di Wilayah yang sama dengan bucket Amazon S3 tujuan.

## Mendapatkan detail tentang impor sebelumnya di AWS CLI
<a name="S3DataImport.Requesting.CLI.Details"></a>

Anda dapat menemukan informasi tentang tugas impor yang pernah Anda jalankan sebelumnya dengan menggunakan perintah `list-imports`. Perintah ini mengembalikan daftar semua impor yang Anda buat dalam 90 hari terakhir. Perhatikan bahwa meskipun metadata tugas impor akan kedaluwarsa setelah 90 hari dan tugas yang lebih lama dari itu tidak lagi ditemukan dalam daftar ini, DynamoDB tidak menghapus objek apa pun di bucket Amazon S3 Anda atau tabel yang dibuat selama impor.

```
aws dynamodb list-imports
```

Untuk mengambil informasi mendetail tentang tugas impor tertentu, termasuk pengaturan konfigurasi lanjutan, gunakan perintah `describe-import`.

```
aws dynamodb describe-import \
    --import-arn arn:aws:dynamodb:us-east-1:123456789012:table/ProductCatalog/exp
```