Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengekspor data dari klaster DB Aurora PostgreSQL ke Amazon S3
Anda dapat mengueri data dari klaster DB Aurora PostgreSQL dan mengekspornya langsung ke file yang disimpan dalam bucket Amazon S3. Untuk melakukannya, instal ekstensi Aurora PostgreSQL aws_s3
terlebih dahulu. Ekstensi ini memberi Anda fungsi yang Anda gunakan untuk mengekspor hasil kueri ke Amazon S3. Berikut ini, Anda dapat mengetahui cara menginstal ekstensi dan cara mengekspor data ke Amazon S3.
Anda dapat mengekspor dari instans DB Aurora Serverless v2 atau yang tersedia. Langkah-langkah ini tidak didukung untuk Aurora Serverless v1.
catatan
Ekspor lintas akun ke Amazon S3 tidak didukung.
Semua versi Aurora PostgreSQL yang tersedia saat ini mendukung ekspor data ke Amazon Simple Storage Service. Untuk informasi versi terperinci, lihat Pembaruan Amazon Aurora PostgreSQL dalam Catatan Rilis untuk Aurora PostgreSQL.
Jika Anda belum menyiapkan bucket untuk ekspor, lihat topik berikut, Panduan Pengguna Amazon Simple Storage Service.
Secara default, data yang diekspor dari Aurora PostgreSQL ke Amazon S3 menggunakan enkripsi sisi server dengan. Kunci yang dikelola AWS Anda dapat menggunakan kunci terkelola pelanggan yang telah Anda buat. Jika Anda menggunakan enkripsi bucket, bucket Amazon S3 harus dienkripsi dengan AWS Key Management Service (AWS KMS) key (SSE-KMS). Saat ini, bucket yang dienkripsi dengan kunci terkelola Amazon S3 (SSE-S3) tidak didukung.
catatan
Anda dapat menyimpan data snapshot cluster DB dan DB ke Amazon S3 menggunakan AWS Management Console AWS CLI,, atau Amazon RDS API. Untuk informasi selengkapnya, lihat Mengekspor data snapshot klaster DB ke Amazon S3.
Topik
Menginstal ekstensi aws_s3
Sebelum Anda dapat menggunakan Amazon Simple Storage Service dengan klaster DB Aurora PostgreSQL, Anda perlu menginstal ekstensi aws_s3
. Ekstensi ini memberikan fungsi untuk mengekspor data dari instans penulis klaster DB Aurora PostgreSQL ke bucket Amazon S3. Ini juga menyediakan fungsi untuk mengimpor data dari Amazon S3. Untuk informasi selengkapnya, lihat Mengimpor data dari Amazon S3 ke klaster DB Aurora PostgreSQL. Ekstensi aws_s3
bergantung pada beberapa fungsi pembantu dalam ekstensi aws_commons
, yang diinstal secara otomatis bila diperlukan.
Untuk menginstal ekstensi aws_s3
Gunakan psql (atau pgAdmin) untuk terhubung ke instans penulis klaster DB Aurora PostgreSQL sebagai pengguna yang memiliki hak istimewa
rds_superuser
. Jika Anda menyimpan nama default selama proses penyiapan, Anda terhubung sebagaipostgres
.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --passwordUntuk menginstal ekstensi, jalankan perintah berikut.
postgres=>
CREATE EXTENSION aws_s3 CASCADE;NOTICE: installing required extension "aws_commons" CREATE EXTENSION
Untuk memverifikasi bahwa ekstensi sudah diinstal, Anda dapat menggunakan metacommand psql
\dx
.postgres=>
\dxList of installed extensions Name | Version | Schema | Description -------------+---------+------------+--------------------------------------------- aws_commons | 1.2 | public | Common data types across AWS services aws_s3 | 1.1 | public | AWS S3 extension for importing data from S3 plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language (3 rows)
Fungsi untuk mengimpor data dari Amazon S3 dan mengekspor data ke Amazon S3 kini dapat digunakan.
Verifikasi bahwa versi Aurora PostgreSQL Anda mendukung ekspor ke Amazon S3
Anda dapat memverifikasi bahwa versi RDS for PostgreSQL Anda mendukung ekspor ke Amazon S3 dengan menggunakan perintah describe-db-engine-versions
. Contoh berikut memeriksa untuk melihat apakah versi 10.14 dapat mengekspor ke Amazon S3.
aws rds describe-db-engine-versions --region us-east-1 \ --engine aurora-postgresql --engine-version 10.14 | grep s3Export
Jika output-nya menyertakan string "s3Export"
, berarti mesinnya mendukung ekspor Amazon S3. Jika tidak, mesin tidak mendukungnya.
Ikhtisar ekspor data ke Amazon S3
Untuk mengekspor data yang disimpan dalam basis data Aurora PostgreSQL ke bucket Amazon S3, gunakan prosedur berikut.
Untuk mengekspor data Aurora PostgreSQL ke S3
-
Identifikasi jalur file Amazon S3 yang akan digunakan untuk mengekspor data. Untuk detail tentang proses ini, lihat Menentukan jalur file Amazon S3 tujuan ekspor.
-
Berikan izin untuk mengakses bucket Amazon S3.
Untuk mengekspor data ke file Amazon S3, beri klaster DB Aurora PostgreSQL izin untuk mengakses bucket Amazon S3 yang akan digunakan untuk penyimpanan data yang diekspor. Berikut adalah langkah-langkahnya:
-
Buat kebijakan IAM yang memberikan akses ke bucket Amazon S3 tempat tujuan ekspor.
-
Buat peran IAM.
-
Lampirkan kebijakan yang Anda buat ke peran yang Anda buat.
-
Tambahkan peran IAM ini ke klaster DB .
Untuk detail tentang proses ini, lihat Menyiapkan akses ke bucket Amazon S3.
-
-
Identifikasi kueri basis data untuk mendapatkan data. Ekspor data kueri dengan memanggil fungsi
aws_s3.query_export_to_s3
.Setelah menyelesaikan tugas persiapan sebelumnya, gunakan fungsi aws_s3.query_export_to_s3 untuk mengekspor hasil kueri ke Amazon S3. Untuk detail tentang proses ini, lihat Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3.
Menentukan jalur file Amazon S3 tujuan ekspor
Tentukan informasi berikut untuk mengidentifikasi lokasi di Amazon S3 tempat Anda ingin mengekspor data:
-
Nama bucket – Bucket adalah kontainer untuk objek atau file Amazon S3.
Untuk informasi selengkapnya tentang menyimpan data dengan Amazon S3, lihat Membuat bucket dan Melihat objek dalam Panduan Pengguna Amazon Simple Storage Service.
-
Jalur file – Jalur file mengidentifikasi tempat penyimpanan data yang diekspor dalam bucket Amazon S3. Jalur file terdiri atas:
-
Awalan jalur opsional yang mengidentifikasi jalur folder virtual.
-
Awalan file yang mengidentifikasi satu atau beberapa file yang akan disimpan. Ekspor yang lebih besar disimpan dalam beberapa file, masing-masing berukuran maksimum sekitar 6 GB. Nama file tambahan memiliki awalan file yang sama, tetapi dengan penambahan
_part
.XX
mewakili 2, lalu 3, dan seterusnya.XX
Misalnya, jalur file dengan folder
exports
dan awalan filequery-1-export
adalah/exports/query-1-export
. -
-
AWS Wilayah (opsional) - AWS Wilayah tempat bucket Amazon S3 berada.
catatan
Saat ini, AWS Wilayah harus sama dengan wilayah DB cluster DB yang mengekspor.
Untuk daftar nama AWS Wilayah dan nilai terkait, lihatWilayah dan Zona Ketersediaan.
Untuk menyimpan informasi file Amazon S3 tentang lokasi penyimpanan file yang diekspor, Anda dapat menggunakan fungsi aws_commons.create_s3_uri untuk membuat struktur komposit aws_commons._s3_uri_1
sebagai berikut.
psql=> SELECT aws_commons.create_s3_uri( '
DOC-EXAMPLE-BUCKET
', 'sample-filepath', 'us-west-2' ) AS s3_uri_1 \gset
Kemudian, berikan nilai s3_uri_1
ini sebagai parameter untuk memanggil fungsi aws_s3.query_export_to_s3. Sebagai contoh, lihat Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3.
Menyiapkan akses ke bucket Amazon S3
Untuk mengekspor data ke Amazon S3, berikan izin kepada klaster DB PostgreSQL Anda untuk mengakses bucket Amazon S3 yang akan dimasuki file.
Untuk melakukannya, gunakan prosedur berikut.
Untuk memberi klaster DB PostgreSQL akses ke Amazon S3 melalui peran IAM
-
Buat kebijakan IAM.
Kebijakan ini memberikan izin kepada bucket dan objek yang memungkinkan klaster DB PostgreSQL Anda mengakses Amazon S3.
Sebagai bagian dari pembuatan kebijakan ini, lakukan langkah-langkah berikut:
-
Sertakan tindakan yang diperlukan berikut dalam kebijakan untuk mengizinkan transfer file dari klaster DB PostgreSQL ke bucket Amazon S3:
-
s3:PutObject
-
s3:AbortMultipartUpload
-
-
Sertakan Amazon Resource Name (ARN) yang mengidentifikasi bucket dan objek Amazon S3 dalam bucket. Format ARN untuk mengakses Amazon S3 adalah:
arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*
Untuk informasi selengkapnya tentang cara membuat kebijakan IAM untuk Aurora PostgreSQL, lihat Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM. Lihat juga Tutorial: Membuat dan melampirkan kebijakan yang dikelola pelanggan pertama Anda di Panduan Pengguna IAM.
AWS CLI Perintah berikut membuat kebijakan IAM bernama
rds-s3-export-policy
dengan opsi ini. Ini memberikan akses ke bucket bernamaDOC-EXAMPLE-BUCKET
.Awas
Sebaiknya Anda menyiapkan basis data Anda dengan VPC privat yang memiliki kebijakan titik akhir yang dikonfigurasi untuk mengakses bucket tertentu. Untuk informasi selengkapnya, lihat Menggunakan kebijakan titik akhir untuk Amazon S3 di Panduan Pengguna Amazon VPC.
Kami sangat menyarankan Anda agar tidak membuat kebijakan dengan akses semua sumber daya. Akses ini dapat menjadi ancaman bagi data keamanan. Jika Anda membuat kebijakan yang memberi akses
S3:PutObject
ke semua sumber daya menggunakan"Resource":"*"
, pengguna yang memiliki hak istimewa ekspor dapat mengekspor data ke semua bucket di akun Anda. Selain itu, pengguna dapat mengekspor data ke bucket yang dapat ditulis secara publik Wilayah AWS Anda.Setelah Anda membuat kebijakan, catat Amazon Resource Name (ARN) dari kebijakan tersebut. Anda memerlukan ARN ini untuk langkah berikutnya ketika Anda melampirkan kebijakan ke peran IAM.
aws iam create-policy --policy-name rds-s3-export-policy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3export", "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation", "s3:AbortMultipartUpload" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*" ] } ] }' -
-
Buat peran IAM.
Lakukan langkah ini agar Aurora PostgreSQL dapat mengambil peran IAM ini atas nama Anda untuk mengakses bucket Amazon S3. Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin ke pengguna IAM dalam Panduan Pengguna IAM.
Sebaiknya gunakan kunci konteks kondisi global
aws:SourceArn
danaws:SourceAccount
dalam kebijakan berbasis sumber daya untuk membatasi izin layanan ke sumber daya tertentu. Ini adalah cara paling efektif untuk melindungi dari masalah deputi yang membingungkan.Jika Anda menggunakan kunci konteks kondisi global dan nilai
aws:SourceArn
berisi ID akun, nilaiaws:SourceAccount
dan akun dalam nilaiaws:SourceArn
harus menggunakan ID akun yang sama saat digunakan dalam pernyataan kebijakan yang sama.Gunakan
aws:SourceArn
jika Anda menginginkan akses lintas layanan untuk satu sumber daya.-
Gunakan
aws:SourceAccount
jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut dikaitkan dengan penggunaan lintas layanan.
Dalam kebijakan, pastikan untuk menggunakan kunci konteks kondisi global
aws:SourceArn
dengan ARN penuh sumber daya. Contoh berikut menunjukkan bagaimana melakukannya dengan menggunakan AWS CLI perintah untuk membuat peran bernamards-s3-export-role
.contoh
Untuk Linux, macOS, atau Unix:
aws iam create-role \ --role-name rds-s3-export-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname
" } } } ] }'Untuk Windows:
aws iam create-role ^ --role-name rds-s3-export-role ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname
" } } } ] }' -
Lampirkan kebijakan IAM yang Anda buat ke peran IAM yang Anda buat.
AWS CLI Perintah berikut melampirkan kebijakan yang dibuat sebelumnya ke peran bernama
rds-s3-export-role.
Ganti
dengan ARN kebijakan yang Anda catat di langkah sebelumnya.your-policy-arn
aws iam attach-role-policy --policy-arn
your-policy-arn
--role-name rds-s3-export-role -
Tambahkan peran IAM ke klaster DB. Anda melakukannya dengan menggunakan AWS Management Console atau AWS CLI, seperti yang dijelaskan berikut.
Untuk menambahkan peran IAM untuk klaster DB PostgreSQL menggunakan konsol
Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.
-
Pilih nama klaster DB PostgreSQL untuk menampilkan detailnya.
-
Di tab Konektivitas & keamanan, di bagian Kelola peran IAM, pilih peran yang akan ditambahkan pada bagian Tambahkan peran IAM ke instans ini.
-
Di bagian Fitur, pilih s3Export.
-
Pilih Tambahkan peran.
Untuk menambahkan peran IAM untuk klaster DB PostgreSQL menggunakan CLI
-
Gunakan perintah berikut untuk menambahkan peran ke klaster DB PostgreSQL bernama
my-db-cluster
. Ganti
dengan ARN peran yang Anda catat pada langkah sebelumnya. Gunakanyour-role-arn
s3Export
untuk nilai opsi--feature-name
.contoh
Untuk Linux, macOS, atau Unix:
aws rds add-role-to-db-cluster \ --db-cluster-identifier
my-db-cluster
\ --feature-name s3Export \ --role-arnyour-role-arn
\ --regionyour-region
Untuk Windows:
aws rds add-role-to-db-cluster ^ --db-cluster-identifier
my-db-cluster
^ --feature-name s3Export ^ --role-arnyour-role-arn
^ --regionyour-region
Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3
Ekspor data PostgreSQL Anda ke Amazon S3 dengan memanggil fungsi aws_s3.query_export_to_s3.
Topik
Prasyarat
Sebelum menggunakan fungsi aws_s3.query_export_to_s3
, pastikan untuk melengkapi prasyarat berikut:
-
Instal ekstensi PostgreSQL yang diperlukan seperti yang dijelaskan di Ikhtisar ekspor data ke Amazon S3.
-
Tentukan tempat untuk mengekspor data Anda ke Amazon S3 seperti yang dijelaskan di Menentukan jalur file Amazon S3 tujuan ekspor.
-
Pastikan bahwa klaster DB memiliki akses ekspor ke Amazon S3 seperti yang dijelaskan di Menyiapkan akses ke bucket Amazon S3.
Contoh berikut menggunakan tabel basis data yang disebut sample_table
. Contoh-contoh ini mengekspor data ke dalam bucket yang disebut DOC-EXAMPLE-BUCKET
. Contoh tabel dan data dibuat dengan pernyataan SQL berikut di psql.
psql=> CREATE TABLE sample_table (bid bigint PRIMARY KEY, name varchar(80)); psql=> INSERT INTO sample_table (bid,name) VALUES (1, 'Monday'), (2,'Tuesday'), (3, 'Wednesday');
Memanggil aws_s3.query_export_to_s3
Berikut ini adalah cara-cara dasar untuk memanggil fungsi aws_s3.query_export_to_s3.
Contoh ini menggunakan variabel s3_uri_1
untuk mengidentifikasi struktur berisi informasi yang mengidentifikasi file Amazon S3. Gunakan fungsi aws_commons.create_s3_uri untuk membuat struktur.
psql=> SELECT aws_commons.create_s3_uri( '
DOC-EXAMPLE-BUCKET
', 'sample-filepath', 'us-west-2' ) AS s3_uri_1 \gset
Meskipun parameter bervariasi untuk dua panggilan fungsi aws_s3.query_export_to_s3
berikut, hasilnya sama untuk contoh ini. Semua baris sample_table
tabel diekspor ke dalam ember yang disebut DOC-EXAMPLE-BUCKET
.
psql=> SELECT * FROM aws_s3.query_export_to_s3('SELECT * FROM sample_table', :'s3_uri_1'); psql=> SELECT * FROM aws_s3.query_export_to_s3('SELECT * FROM sample_table', :'s3_uri_1', options :='format text');
Parameternya dijelaskan sebagai berikut:
-
'SELECT * FROM sample_table'
– Parameter pertama adalah string teks wajib yang berisi kueri SQL. Mesin PostgreSQL menjalankan kueri ini. Hasil kueri disalin ke bucket S3 yang diidentifikasi dalam parameter lain. -
:'s3_uri_1'
– Parameter ini adalah struktur yang mengidentifikasi file Amazon S3. Contoh ini menggunakan variabel untuk mengidentifikasi struktur yang dibuat sebelumnya. Anda dapat membuat struktur dengan menyertakan baris panggilan fungsiaws_commons.create_s3_uri
sebaris dalam panggilan fungsiaws_s3.query_export_to_s3
sebagai berikut.SELECT * from aws_s3.query_export_to_s3('select * from sample_table', aws_commons.create_s3_uri('
DOC-EXAMPLE-BUCKET
', 'sample-filepath', 'us-west-2') ); -
options :='format text'
– Parameteroptions
adalah string teks opsional yang berisi argumenCOPY
PostgreSQL. Proses penyalinan menggunakan argumen dan format perintah PostgreSQL COPY.
Jika file yang ditentukan tidak ada dalam bucket Amazon S3, file tersebut akan dibuat. Jika file sudah ada, file tersebut akan ditimpa. Sintaks untuk mengakses data yang diekspor di Amazon S3 adalah sebagai berikut.
s3-
region
://bucket-name
[/path-prefix
]/file-prefix
Ekspor yang lebih besar disimpan dalam beberapa file, masing-masing berukuran maksimum sekitar 6 GB. Nama file tambahan memiliki awalan file yang sama, tetapi dengan penambahan _part
. XX
mewakili 2, lalu 3, dan seterusnya. Sebagai contoh, misalkan Anda menentukan jalur tempat Anda menyimpan file data sebagai berikut.XX
s3-us-west-2://
DOC-EXAMPLE-BUCKET
/my-prefix
Jika ekspor harus membuat tiga file data, bucket Amazon S3 berisi file data berikut.
s3-us-west-2://
DOC-EXAMPLE-BUCKET
/my-prefix s3-us-west-2://DOC-EXAMPLE-BUCKET
/my-prefix_part2 s3-us-west-2://DOC-EXAMPLE-BUCKET
/my-prefix_part3
Untuk referensi selengkapnya tentang fungsi ini dan cara lain untuk memanggilnya, lihat aws_s3.query_export_to_s3. Untuk informasi selengkapnya tentang cara mengakses file di Amazon S3, buka Melihat objek dalam Panduan Pengguna Amazon Simple Storage Service.
Mengekspor ke file CSV yang menggunakan pembatas kustom
Contoh berikut menunjukkan cara memanggil fungsi aws_s3.query_export_to_s3 untuk mengekspor data ke file yang menggunakan pembatas kustom. Contoh ini menggunakan argumen perintah PostgreSQL COPY
SELECT * from aws_s3.query_export_to_s3('select * from basic_test', :'s3_uri_1', options :='format csv, delimiter $$:$$');
Mengekspor ke file biner dengan pengodean
Contoh berikut menunjukkan cara memanggil fungsi aws_s3.query_export_to_s3 untuk mengekspor data ke file biner yang memiliki pengodean Windows-1253.
SELECT * from aws_s3.query_export_to_s3('select * from basic_test', :'s3_uri_1', options :='format binary, encoding WIN1253');
Memecahkan masalah akses ke Amazon S3
Jika Anda mengalami masalah koneksi saat mencoba mengekspor data ke Amazon S3, pertama pastikan aturan akses keluar untuk grup keamanan VPC yang terkait dengan instans DB Anda mengizinkan konektivitas jaringan. Khususnya, grup keamanan harus memiliki aturan yang mengizinkan instans DB mengirim lalu lintas TCP ke port 443 dan ke alamat IPv4 mana pun (0.0.0.0/0). Untuk informasi selengkapnya, lihat Berikan akses ke klaster DB dalam VPC dengan membuat grup keamanan.
Lihat juga rekomendasi berikut:
-
Memecahkan Masalah Amazon S3 di Panduan Pengguna Amazon Simple Storage Service
-
Memecahkan Masalah Amazon S3 dan IAM di Panduan Pengguna IAM
Referensi fungsi
aws_s3.query_export_to_s3
Mengekspor hasil kueri PostgreSQL ke bucket Amazon S3. Ekstensi aws_s3
memberikan fungsi aws_s3.query_export_to_s3
.
Dua parameter yang dibutuhkan adalah query
dan s3_info
. Parameter ini menentukan kueri yang akan diekspor dan mengidentifikasi bucket Amazon S3 tempat tujuan ekspor. Parameter opsional yang disebut options
disediakan untuk menentukan berbagai parameter ekspor. Sebagai contoh penggunaan fungsi aws_s3.query_export_to_s3
, lihat Mengekspor data kueri menggunakan fungsi aws_s3.query_export_to_s3.
Sintaksis
aws_s3.query_export_to_s3( query text, s3_info aws_commons._s3_uri_1, options text, kms_key text )
Parameter input
- query
-
String teks yang diperlukan yang berisi kueri SQL yang dijalankan mesin PostgreSQL. Hasil kueri ini disalin ke bucket S3 yang diidentifikasi dalam parameter
s3_info
. - s3_info
-
Jenis komposit
aws_commons._s3_uri_1
yang berisi informasi tentang objek S3 berikut:-
bucket
– Nama bucket Amazon S3 yang akan diisi file. -
file_path
– Nama dan jalur file Amazon S3. -
region
— AWS Wilayah tempat ember berada. Untuk daftar nama AWS Wilayah dan nilai terkait, lihatWilayah dan Zona Ketersediaan.Saat ini, nilai ini harus AWS Wilayah yang sama dengan DB cluster DB yang mengekspor. Defaultnya adalah AWS Region dari DB cluster DB yang mengekspor.
Untuk membuat struktur komposit
aws_commons._s3_uri_1
, lihat fungsi aws_commons.create_s3_uri. -
- options
-
String teks opsional yang berisi argumen untuk perintah
COPY
PostgreSQL. Argumen ini menentukan cara menyalin data saat diekspor. Untuk detail selengkapnya, lihat Dokumentasi PostgreSQL COPY. - teks kms_key
-
String teks opsional yang berisi kunci KMS yang dikelola pelanggan dari bucket S3 untuk mengekspor data.
Parameter input alternatif
Untuk memudahkan pengujian, Anda dapat menggunakan serangkaian parameter yang diperluas, bukan parameter s3_info
. Berikut ini adalah variasi sintaks tambahan untuk fungsi aws_s3.query_export_to_s3
.
Alih-alih menggunakan parameter s3_info
untuk mengidentifikasi file Amazon S3, gunakan kombinasi parameter bucket
, file_path
, dan region
.
aws_s3.query_export_to_s3( query text, bucket text, file_path text, region text, options text, kms_key text )
- query
-
String teks yang diperlukan yang berisi kueri SQL yang dijalankan mesin PostgreSQL. Hasil kueri ini disalin ke bucket S3 yang diidentifikasi dalam parameter
s3_info
. - bucket
-
String teks yang diperlukan yang berisi nama bucket Amazon S3 yang berisi file.
- file_path
-
String teks yang diperlukan yang berisi nama file Amazon S3 beserta jalurnya.
- region
-
String teks opsional yang berisi AWS Wilayah tempat bucket berada. Untuk daftar nama AWS Wilayah dan nilai terkait, lihatWilayah dan Zona Ketersediaan.
Saat ini, nilai ini harus AWS Wilayah yang sama dengan DB cluster DB yang mengekspor. Defaultnya adalah AWS Region dari DB cluster DB yang mengekspor.
- options
-
String teks opsional yang berisi argumen untuk perintah
COPY
PostgreSQL. Argumen ini menentukan cara menyalin data saat diekspor. Untuk detail selengkapnya, lihat Dokumentasi PostgreSQL COPY. - teks kms_key
-
String teks opsional yang berisi kunci KMS yang dikelola pelanggan dari bucket S3 untuk mengekspor data.
Parameter output
aws_s3.query_export_to_s3( OUT rows_uploaded bigint, OUT files_uploaded bigint, OUT bytes_uploaded bigint )
- rows_uploaded
-
Jumlah baris tabel yang berhasil diunggah ke Amazon S3 untuk kueri tertentu.
- files_uploaded
-
Jumlah file yang diunggah ke Amazon S3. File dibuat dalam ukuran kira-kira 6 GB. Setiap file tambahan yang dibuat memiliki
_part
yang ditambahkan pada namanya.XX
mewakili 2, kemudian 3, dan seterusnya sesuai kebutuhan.XX
- bytes_uploaded
-
Jumlah total byte yang diunggah ke Amazon S3.
Contoh
psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', '
DOC-EXAMPLE-BUCKET
', 'sample-filepath'); psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'DOC-EXAMPLE-BUCKET
', 'sample-filepath','us-west-2'); psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'DOC-EXAMPLE-BUCKET
', 'sample-filepath','us-west-2','format text');
aws_commons.create_s3_uri
Membuat struktur aws_commons._s3_uri_1
untuk menyimpan informasi file Amazon S3. Gunakan hasil dari fungsi aws_commons.create_s3_uri
dalam parameter s3_info
dari fungsi aws_s3.query_export_to_s3. Untuk contoh penggunaan fungsi aws_commons.create_s3_uri
, lihat Menentukan jalur file Amazon S3 tujuan ekspor.
Sintaksis
aws_commons.create_s3_uri( bucket text, file_path text, region text )
Parameter input
- bucket
-
String teks yang diperlukan yang berisi nama bucket Amazon S3 untuk file tersebut.
- file_path
-
String teks yang diperlukan yang berisi nama file Amazon S3 beserta jalurnya.
- region
-
String teks yang diperlukan yang berisi AWS Wilayah tempat file tersebut berada. Untuk daftar nama AWS Wilayah dan nilai terkait, lihatWilayah dan Zona Ketersediaan.