Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Meminta ekspor tabel di DynamoDB
Ekspor tabel DynamoDB memungkinkan Anda mengekspor data tabel ke bucket Amazon S3, memungkinkan Anda melakukan analitik dan kueri kompleks pada data Anda menggunakan data lain AWS Layanan seperti Athena, AWS Glue, Amazon SageMaker, AmazonEMR, dan AWS Lake Formation. Anda dapat meminta ekspor tabel menggunakan AWS Management Console, AWS CLI, atau DynamoDBAPI.
catatan
Pemohon membayar bucket Amazon S3 tidak didukung.
DynamoDB mendukung ekspor penuh dan ekspor tambahan:
-
Dengan ekspor penuh, Anda dapat mengekspor snapshot lengkap tabel Anda dari titik waktu mana pun dalam jendela point-in-time recovery (PITR) ke bucket Amazon S3 Anda.
-
Dengan ekspor tambahan, Anda dapat mengekspor data dari tabel DynamoDB yang diubah, diperbarui, atau dihapus antara periode waktu tertentu, dalam jendela Anda, PITR ke bucket Amazon S3 Anda.
Topik
- Prasyarat
- Meminta ekspor menggunakan AWS Management Console
- Mendapatkan detail tentang ekspor masa lalu di AWS Management Console
- Meminta ekspor menggunakan AWS CLI
- Mendapatkan detail tentang ekspor masa lalu di AWS CLI
- Meminta ekspor menggunakan AWS SDK
- Mendapatkan detail tentang ekspor masa lalu menggunakan AWS SDK
Prasyarat
Aktifkan PITR
Untuk menggunakan fitur ekspor ke S3, Anda harus mengaktifkan PITR di meja Anda. Untuk detail tentang cara mengaktifkanPITR, lihat oint-in-timePemulihan P. Jika Anda meminta ekspor untuk tabel yang belum PITR diaktifkan, permintaan Anda akan gagal dengan pesan pengecualian: “Terjadi kesalahan (PointInTimeRecoveryUnavailableException) saat memanggil ExportTableToPointInTime
operasi: Pemulihan titik dalam waktu tidak diaktifkan untuk tabel 'my-dynamodb-table”.
Menyiapkan izin S3
Anda dapat mengekspor data tabel Anda ke setiap bucket Amazon S3 yang izinnya Anda miliki untuk menulis. Bucket tujuan tidak harus sama AWS Wilayah atau memiliki pemilik yang sama dengan pemilik tabel sumber. Klaster AWS Identity and Access Management (IAM) kebijakan harus memungkinkan Anda untuk dapat melakukan tindakan S3 (s3:AbortMultipartUpload
,s3:PutObject
, dans3:PutObjectAcl
) dan tindakan ekspor DynamoDB (). dynamodb:ExportTableToPointInTime
Berikut adalah contoh kebijakan sampel yang akan memberikan izin kepada pengguna Anda untuk melakukan ekspor ke bucket S3.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDynamoDBExportAction", "Effect": "Allow", "Action": "dynamodb:ExportTableToPointInTime", "Resource": "arn:aws:dynamodb:us-east-1:111122223333:table/my-table" }, { "Sid": "AllowWriteToDestinationBucket", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::your-bucket/*" } ] }
Jika Anda perlu menulis ke bucket S3 yang ada di akun lain atau Anda tidak memiliki izin untuk menulis, pemilik bucket S3 harus menambahkan kebijakan bucket agar Anda dapat mengekspor dari DynamoDB ke bucket tersebut. Berikut adalah contoh kebijakan pada bucket S3 target.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleStatement", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Dave" }, "Action": [ "s3:AbortMultipartUpload", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::awsexamplebucket1/*" } ] }
Mencabut izin ini saat ekspor sedang berlangsung akan mengakibatkan sebagian file.
catatan
Jika tabel atau bucket yang Anda ekspor dienkripsi dengan kunci yang dikelola pelanggan, kebijakan KMS kunci tersebut harus memberikan izin DynamoDB untuk menggunakannya. Izin ini diberikan melalui IAM Pengguna/Peran yang memicu pekerjaan ekspor. Untuk informasi selengkapnya tentang enkripsi termasuk praktik terbaik, lihat Cara DynamoDB menggunakan AWS KMSdan Menggunakan KMS kunci khusus
Meminta ekspor menggunakan AWS Management Console
Contoh berikut menunjukkan cara menggunakan konsol DynamoDB untuk mengekspor tabel yang sudah ada bernama MusicCollection
.
catatan
Prosedur ini mengasumsikan bahwa Anda telah mengaktifkan point-in-time pemulihan. Untuk mengaktifkannya untuk MusicCollection
tabel, pada tab Ikhtisar tabel, di bagian Rincian tabel, pilih Aktifkan untuk oint-in-timepemulihan P.
Untuk meminta ekspor tabel
Masuk ke AWS Management Console dan buka konsol DynamoDB di. https://console.aws.amazon.com/dynamodb/
-
Di panel navigasi di sisi kiri konsol, pilih Ekspor ke S3.
-
Pilih tombol Ekspor ke S3.
-
Pilih tabel sumber dan bucket S3 tujuan. Jika bucket tujuan adalah milik akun Anda, Anda dapat menggunakan tombol Jelajahi S3 untuk menemukannya. Jika tidak, masukkan URL bucket menggunakan folder
prefix
iss3://
an opsional untuk membantu menjaga bucket tujuan Anda tetap teratur.bucketname
/prefix
format. -
Pilih Ekspor penuh atau Ekspor tambahan. Ekspor penuh menghasilkan cuplikan tabel lengkap dari tabel Anda seperti pada titik waktu yang Anda tentukan. Ekspor tambahan menghasilkan perubahan yang dibuat pada tabel Anda selama periode ekspor yang ditentukan. Output Anda dipadatkan sehingga hanya berisi status akhir item dari periode ekspor. Item hanya akan muncul satu kali dalam ekspor meskipun memiliki beberapa pembaruan dalam periode ekspor yang sama.
-
Pilih Ekspor untuk memulai.
Data yang diekspor tidak konsisten secara transaksional. Operasi transaksi Anda dapat terpecah antara dua output ekspor. Subset item dapat dimodifikasi oleh operasi transaksi yang tercermin dalam ekspor, sementara subset modifikasi lain dalam transaksi yang sama tidak tercermin dalam permintaan ekspor yang sama. Namun, ekspor pada akhirnya konsisten. Jika transaksi terkoyak selama ekspor, Anda akan memiliki sisa transaksi di ekspor berikutnya yang berdekatan, tanpa duplikat. Jangka waktu yang digunakan untuk ekspor didasarkan pada jam sistem internal dan dapat bervariasi menurut satu menit jam lokal aplikasi Anda.
Mendapatkan detail tentang ekspor masa lalu di AWS Management Console
Anda dapat menemukan informasi tentang tugas ekspor yang pernah Anda jalankan di masa lalu dengan memilih bagian Ekspor ke S3 di bilah sisi navigasi. Bagian ini berisi daftar semua ekspor yang Anda buat dalam 90 hari terakhir. Pilih tugas ARN yang tercantum di tab Ekspor untuk mengambil informasi tentang ekspor tersebut, termasuk pengaturan konfigurasi lanjutan yang Anda pilih. Perhatikan bahwa meskipun metadata tugas ekspor akan kedaluwarsa setelah 90 hari dan tugas yang lebih lama dari itu tidak lagi ditemukan dalam daftar ini, objek di bucket S3 Anda tetap ada selama kebijakan bucketnya mengizinkan. DynamoDB tidak pernah menghapus objek apa pun yang dibuatnya di bucket S3 Anda selama ekspor.
Meminta ekspor menggunakan AWS CLI
Contoh berikut menunjukkan cara menggunakan AWS CLI untuk mengekspor tabel yang ada bernama MusicCollection
ke bucket S3 yang disebutddb-export-musiccollection
.
catatan
Prosedur ini mengasumsikan bahwa Anda telah mengaktifkan point-in-time pemulihan. Untuk mengaktifkannya untuk tabel MusicCollection
, jalankan perintah berikut.
aws dynamodb update-continuous-backups \ --table-name MusicCollection \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=True
catatan
Jika Anda memilih untuk mengenkripsi ekspor Anda menggunakan kunci yang dilindungi oleh AWS Key Management Service (AWS KMS), kuncinya harus berada di Wilayah yang sama dengan bucket S3 tujuan.
Mendapatkan detail tentang ekspor masa lalu di AWS CLI
Anda dapat menemukan informasi tentang permintaan ekspor yang pernah Anda jalankan sebelumnya dengan menggunakan perintah list-exports
. Perintah ini mengembalikan daftar semua ekspor yang Anda buat dalam 90 hari terakhir. Perhatikan bahwa meskipun metadata tugas ekspor akan kedaluwarsa setelah 90 hari dan tugas yang lebih lama dari itu tidak lagi dikembalikan oleh perintah list-exports
, objek dalam bucket S3 Anda tetap ada selama kebijakan bucketnya mengizinkan. DynamoDB tidak pernah menghapus objek apa pun yang dibuatnya di bucket S3 Anda selama ekspor.
Ekspor memiliki status PENDING
hingga berhasil atau gagal. Jika mereka berhasil, statusnya berubah menjadiCOMPLETED
. Jika gagal, statusnya berubah FAILED
dengan a failure_message
danfailure_reason
.
Dalam contoh berikut, kami menggunakan parameter table-arn
opsional untuk mencantumkan ekspor tabel tertentu saja.
aws dynamodb list-exports \ --table-arn arn:aws:dynamodb:us-east-1:123456789012:table/ProductCatalog
Untuk mengambil informasi mendetail tentang tugas ekspor tertentu, termasuk pengaturan konfigurasi lanjutan, gunakan perintah describe-export
.
aws dynamodb describe-export \ --export-arn arn:aws:dynamodb:us-east-1:123456789012:table/ProductCatalog/export/01234567890123-a1b2c3d4
Meminta ekspor menggunakan AWS SDK
Gunakan cuplikan kode ini untuk meminta ekspor tabel menggunakan AWS SDKpilihan Anda.
Mendapatkan detail tentang ekspor masa lalu menggunakan AWS SDK
Gunakan cuplikan kode ini untuk mendapatkan detail tentang ekspor tabel sebelumnya menggunakan AWS SDKpilihan Anda.