Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengakses tabel Amazon S3 menggunakan AWS Glue Iceberg REST titik akhir
Setelah bucket tabel S3 Anda terintegrasi dengan AWS Glue Data Catalog Anda dapat menggunakan AWS Glue Iceberg REST titik akhir untuk terhubung ke tabel S3 Anda dari Apache Iceberg-klien yang kompatibel, seperti PyIceberg atau Spark. The AWS Glue Iceberg REST endpoint mengimplementasikan Iceberg REST Spesifikasi API Terbuka Katalog
Untuk panduan ujung ke ujung menggunakan PyIceberg, lihat Mengakses data di Tabel Amazon S3 menggunakan PyIceberg melalui AWS Glue Iceberg REST titik akhir
Prasyarat
Buat peran IAM untuk klien Anda
Untuk mengakses tabel melalui AWS Glue titik akhir, Anda perlu membuat peran IAM dengan izin ke dan tindakan Lake AWS Glue Formation. Prosedur ini menjelaskan cara membuat peran ini dan mengonfigurasi izinnya.
Buka konsol IAM di https://console.aws.amazon.com/iam/
. Di panel navigasi di sebelah kiri, pilih Kebijakan.
Pilih Buat kebijakan, lalu pilih JSON di editor kebijakan.
Tambahkan kebijakan sebaris berikut yang memberikan izin untuk mengakses dan tindakan Lake AWS Glue Formation:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "glue:GetCatalog", "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:CreateTable", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:
<region>
:<account-id>
:catalog", "arn:aws:glue:<region>
:<account-id>
:catalog/s3tablescatalog", "arn:aws:glue:<region>
:<account-id>
:catalog/s3tablescatalog/<s3_table_bucket_name>
", "arn:aws:glue:<region>
:<account-id>
:table/s3tablescatalog/<s3_table_bucket_name>
/<namespace>
/*", "arn:aws:glue:<region>
:<account-id>
:database/s3tablescatalog/<s3_table_bucket_name>
/<namespace>
" ] }, { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }-
Setelah membuat kebijakan, buat peran IAM dan pilih Kebijakan kepercayaan khusus sebagai jenis entitas Tepercaya.
-
Masukkan yang berikut ini untuk kebijakan kepercayaan kustom.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<accountid>:role/<Admin_role>" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
Tentukan akses di Lake Formation
Lake Formation menyediakan kontrol akses berbutir halus untuk tabel data lake Anda. Saat Anda mengintegrasikan bucket S3 Anda dengan AWS Glue Data Catalog, tabel Anda secara otomatis terdaftar sebagai sumber daya di Lake Formation. Untuk mengakses tabel ini, Anda harus memberikan izin Lake Formation tertentu ke identitas IAM Anda, selain izin kebijakan IAM-nya.
Langkah-langkah berikut menjelaskan cara menerapkan kontrol akses Lake Formation untuk mengizinkan Anda Iceberg klien untuk terhubung ke tabel Anda. Anda harus masuk sebagai administrator data lake untuk menerapkan izin ini.
Izinkan mesin eksternal mengakses data tabel
Di Lake Formation, Anda harus mengaktifkan akses tabel penuh untuk mesin eksternal untuk mengakses data. Hal ini memungkinkan aplikasi pihak ketiga untuk mendapatkan kredensi sementara dari Lake Formation saat menggunakan peran IAM yang memiliki izin penuh pada tabel yang diminta.
Buka konsol Lake Formation di https://console.aws.amazon.com/lakeformation/
Buka konsol Lake Formation di https://console.aws.amazon.com/lakeformation/
, dan masuk sebagai administrator danau data. Di panel navigasi di bawah Administrasi, pilih Pengaturan integrasi aplikasi.
Pilih Izinkan mesin eksternal mengakses data di lokasi Amazon S3 dengan akses tabel penuh. Lalu, pilih Simpan.
Berikan izin Lake Formation pada sumber daya tabel Anda
Selanjutnya, berikan izin Lake Formation ke peran IAM yang Anda buat untuk klien yang kompatibel dengan Iceberg. Izin ini akan memungkinkan peran untuk membuat dan mengelola tabel di namespace Anda. Anda perlu memberikan izin database dan tingkat tabel:
Untuk memberikan izin database
Buka AWS Lake Formation konsol di https://console.aws.amazon.com/lakeformation/
, dan masuk sebagai administrator danau data. Di panel navigasi, pilih Izin data lalu pilih Hibah.
Pada halaman Izin Hibah, di bawah Prinsipal, pilih pengguna dan peran IAM dan pilih peran IAM yang Anda buat untuk Iceberg AWS Glue REST endpoint akses.
Di bawah LF-tag atau sumber katalog, pilih Sumber daya Katalog Data Bernama.
Untuk Katalog, pilih katalog AWS Glue data yang dibuat untuk bucket tabel Anda. Misalnya,
.<accoundID>
:s3tablescatalog/<table-bucket-name>
Untuk Database, pilih
mynamespace
.Untuk izin Tabel, pilih Buat tabel dan Jelaskan.
PilihIzin.
Untuk memberikan izin tabel
Buka AWS Lake Formation konsol di https://console.aws.amazon.com/lakeformation/, dan masuk sebagai administrator danau data.
Di panel navigasi, pilih Izin data lalu pilih Hibah.
Pada halaman Izin Hibah, di bawah Prinsipal, pilih pengguna dan peran IAM dan pilih peran IAM yang Anda buat untuk Iceberg AWS Glue REST endpoint akses.
Di bawah LF-tag atau sumber katalog, pilih Sumber daya Katalog Data Bernama.
Untuk Katalog, pilih katalog AWS Glue data yang dibuat untuk bucket tabel Anda. Misalnya,
.<accoundID>
:s3tablescatalog/<table-bucket-name>
Untuk Database, pilih namespace bucket tabel S3 yang Anda buat.
Untuk Tabel, pilih ALL_TABLES.
Untuk izin Tabel, pilih Super.
PilihIzin.
Siapkan lingkungan Anda untuk menggunakan titik akhir
Setelah Anda mengatur peran IAM dengan izin yang diperlukan untuk akses tabel, Anda dapat menggunakannya untuk menjalankannya Iceberg klien dari mesin lokal Anda dengan mengonfigurasi AWS CLI dengan peran Anda, menggunakan perintah berikut:
aws sts assume-role --role-arn "arn:aws:iam::
<accountid>
:role/<glue-irc-role>
" --role-session-name<glue-irc-role>
Untuk mengakses tabel melalui AWS Glue REST endpoint, Anda perlu menginisialisasi katalog di Iceberg-klien yang kompatibel. Inisialisasi ini memerlukan penentuan properti kustom, termasuk properti sigv4, URI titik akhir, dan lokasi gudang. Tentukan properti ini sebagai berikut:
-
Properti Sigv4 - Sigv4 harus diaktifkan, nama penandatanganan adalah
glue
-
Lokasi gudang - Ini adalah ember meja Anda, yang ditentukan dalam format ini:
<accountid>
:s3tablescatalog/<table-bucket-name>
-
URI titik akhir - Lihat panduan referensi titik akhir AWS Glue layanan untuk titik akhir khusus wilayah
Contoh berikut menunjukkan bagaimana menginisialisasi pyIceberg katalog.
rest_catalog = load_catalog(
s3tablescatalog
, **{ "type": "rest", "warehouse": "<accountid>
:s3tablescatalog/<table-bucket-name>
", "uri": "https://glue.<region>
.amazonaws.com/iceberg", "rest.sigv4-enabled": "true", "rest.signing-name": "glue", "rest.signing-region": region } )
Untuk informasi tambahan tentang AWS Glue Iceberg REST implementasi endpoint, lihat Menghubungkan ke Katalog Data menggunakan AWS Glue Iceberg REST titik akhir dalam Panduan AWS Glue Pengguna.