View a markdown version of this page

Bekerja dengan AWS ember meja yang dikelola - Amazon Simple Storage Service

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

Bekerja dengan AWS ember meja yang dikelola

AWS bucket tabel terkelola adalah bucket tabel Amazon S3 khusus yang dirancang untuk menyimpan tabel AWS terkelola, seperti jurnal Metadata S3 dan tabel inventaris langsung. Tidak seperti bucket tabel yang dikelola pelanggan yang Anda buat dan kelola secara langsung, bucket tabel AWS terkelola disediakan secara otomatis AWS ketika Anda mengonfigurasi fitur yang memerlukan AWS tabel terkelola. Ketika tabel terkelola dibuat, tabel tersebut termasuk dalam namespace yang telah ditentukan yang didasarkan pada nama bucket sumber. Namespace yang telah ditetapkan ini tidak dapat dimodifikasi.

Masing-masing Akun AWS memiliki satu AWS bucket tabel terkelola per Wilayah, mengikuti konvensi penamaanaws-s3. Bucket ini berfungsi sebagai lokasi terpusat untuk semua tabel terkelola yang terkait dengan sumber daya akun Anda di Wilayah tersebut.

Tabel berikut membandingkan bucket tabel AWS terkelola dengan bucket tabel yang dikelola pelanggan.

Fitur AWS ember meja yang dikelola Customer-managed ember meja
Penciptaan Secara otomatis dibuat oleh Layanan AWS Anda membuat ini secara manual
Penamaan Gunakan konvensi penamaan standar (aws-s3) Anda mendefinisikan nama Anda sendiri
Pembuatan tabel Hanya Layanan AWS bisa membuat tabel Anda dapat membuat tabel
Kontrol ruang nama Anda tidak dapat membuat atau menghapus ruang nama (semua tabel milik namespace tetap) Anda dapat membuat dan menghapus ruang nama
Akses Read-only akses Akses penuh
Enkripsi Anda dapat mengubah setelan enkripsi default (SSE-S3) hanya jika Anda mengenkripsi tabel awal dengan kunci customer managed AWS Key Management Service (AWS KMS) Anda dapat mengatur enkripsi default tingkat bucket dan memodifikasinya kapan saja
Maintenance Dikelola oleh Layanan AWS Anda dapat menyesuaikan perawatan otomatis di tingkat bucket

Izin untuk bekerja dengan AWS bucket tabel yang dikelola dan untuk menanyakan tabel

Untuk bekerja dengan bucket AWS tabel terkelola, Anda memerlukan izin untuk membuat bucket dan AWS tabel tabel terkelola dan untuk menentukan setelan enkripsi untuk tabel AWS terkelola. Anda juga memerlukan izin untuk menanyakan tabel di bucket tabel ter AWS kelola Anda.

Kebijakan contoh berikut memungkinkan Anda membuat bucket tabel ter AWS kelola melalui konfigurasi Metadata S3:

{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToWorkWithMetadataTables", "Effect":"Allow", "Action":[ "s3:CreateBucketMetadataTableConfiguration", "s3tables:CreateTableBucket", "s3tables:CreateNamespace", "s3tables:CreateTable", "s3tables:GetTable", "s3tables:PutTablePolicy" "s3tables:PutTableEncryption", "kms:DescribeKey" ], "Resource":[ "arn:aws:s3:::bucket/amzn-s3-demo-source-bucket", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*", "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }

Kebijakan contoh berikut memungkinkan Anda untuk menanyakan tabel dalam bucket tabel AWS terkelola:

{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToQueryMetadataTables", "Effect":"Allow", "Action":[ "s3tables:GetTable", "s3tables:GetTableData", "s3tables:GetTableMetadataLocation", "kms:Decrypt" ], "Resource":[ "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*", "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }

Mengkueri tabel di AWS ember meja yang dikelola

Anda dapat menanyakan AWS tabel terkel AWS ola dalam bucket tabel terkelola menggunakan metode akses dan mesin yang didukung oleh Tabel S3. Berikut ini adalah beberapa contoh kueri.

Using standard SQL

Contoh berikut menunjukkan cara menanyakan tabel terkel AWS ola menggunakan sintaks SQL standar:

SELECT * FROM "s3tablescatalog/aws-s3"."b_amzn-s3-demo-source-bucket"."inventory" LIMIT 10;

Contoh berikut menunjukkan cara menggabungkan tabel ter AWS kelola dengan tabel Anda sendiri:

SELECT * FROM "s3tablescatalog/aws-s3"."b_amzn-s3-demo-source-bucket"."inventory" a JOIN "s3tablescatalog/amzn-s3-demo-table-bucket"."my_namespace"."my_table" b ON a.key = b.key LIMIT 10;
Using Spark

Contoh berikut menunjukkan cara menanyakan tabel Anda denganSpark:

spark.sql(""" SELECT * FROM ice_catalog.inventory a JOIN ice_catalog.my_table b ON a.key = b.key """).show(10, true)

Contoh berikut menunjukkan cara menggabungkan tabel terkel AWS ola Anda dengan tabel lain:

SELECT * FROM inventory a JOIN my_table b ON a.key = b.key LIMIT 10;

Enkripsi untuk AWS ember meja yang dikelola

Secara default, bucket AWS tabel terkelola dienkripsi dengan enkripsi sisi server menggunakan kunci terkelola Amazon S3 ()SSE-S3. Setelah bucket AWS tabel terkelola dibuat, Anda dapat menggunakannya PutTableBucketEncryption untuk mengatur setelan enkripsi default bucket untuk menggunakan enkripsi sisi server dengan AWS Key Management Service (AWS KMS) keys (SSE-KMS).

Selama pembuatan tabel terkel AWS ola Anda, Anda dapat memilih untuk mengenkripsinya SSE-KMS. Jika Anda memilih untuk menggunakan SSE-KMS, Anda harus memberikan kunci KMS yang dikelola pelanggan di Wilayah yang sama dengan bucket tabel ter AWS kelola Anda. Anda dapat mengatur jenis enkripsi untuk tabel ter AWS kelola hanya selama pembuatan tabel. Setelah tabel AWS terkelola dibuat, Anda tidak dapat mengubah pengaturan enkripsinya.

Jika Anda ingin bucket AWS tabel terkelola dan tabel yang disimpan di dalamnya menggunakan kunci KMS yang sama, pastikan untuk menggunakan kunci KMS yang sama yang Anda gunakan untuk mengenkripsi tabel untuk mengenkripsi bucket tabel setelah dibuat. Setelah Anda mengubah pengaturan enkripsi default untuk bucket tabel yang akan digunakan SSE-KMS, pengaturan enkripsi tersebut digunakan untuk setiap tabel mendatang yang dibuat di bucket.