Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
BUAT PUSTAKA
Menginstal pustaka Python, yang tersedia bagi pengguna untuk digabungkan saat membuat fungsi yang ditentukan pengguna (UDF) dengan perintah. CREATE FUNCTION Ukuran total pustaka yang diinstal pengguna tidak boleh melebihi 100 MB.
CREATE LIBRARY tidak dapat dijalankan di dalam blok transaksi (BEGIN... END). Untuk informasi lebih lanjut tentang transaksi, lihatIsolasi yang dapat diserialisasi.
Amazon Redshift mendukung Python versi 2.7. Untuk informasi lebih lanjut, lihat www.python.org
Untuk informasi selengkapnya, lihat Contoh: Mengimpor modul pustaka Python kustom.
Hak istimewa yang diperlukan
Berikut ini adalah hak istimewa yang diperlukan untuk CREATE LIBRARY:
Superuser
Pengguna dengan hak istimewa CREATE LIBRARY atau dengan hak istimewa bahasa yang ditentukan
Sintaks
CREATE [ OR REPLACE ] LIBRARY library_name LANGUAGE plpythonu FROM { 'https://file_url' | 's3://bucketname/file_name' authorization [ REGION [AS] 'aws_region'] IAM_ROLE { default | ‘arn:aws:iam::
<Akun AWS-id>
:role/<role-name>
’ } }
Parameter
- ATAU GANTI
-
Menentukan bahwa jika perpustakaan dengan nama yang sama dengan yang satu ini sudah ada, perpustakaan yang ada diganti. GANTI komit segera. Jika UDF yang bergantung pada pustaka berjalan secara bersamaan, UDF mungkin gagal atau mengembalikan hasil yang tidak terduga, bahkan jika UDF berjalan dalam transaksi. Anda harus menjadi pemilik atau superuser untuk mengganti perpustakaan.
- perpustakaan_name
-
Nama perpustakaan yang akan diinstal. Anda tidak dapat membuat library yang berisi modul dengan nama yang sama dengan modul Python Standard Library atau modul Python Amazon Redshift yang sudah diinstal sebelumnya. Jika pustaka yang diinstal pengguna yang ada menggunakan paket Python yang sama dengan pustaka yang akan diinstal, Anda harus menghapus pustaka yang ada sebelum menginstal pustaka baru. Untuk informasi selengkapnya, lihat Dukungan bahasa Python untuk UDFs.
- BAHASA plpythonu
-
bahasa yang digunakan. Python (plpythonu) adalah satu-satunya bahasa yang didukung. Amazon Redshift mendukung Python versi 2.7. Untuk informasi lebih lanjut, lihat www.python.org
. - FROM
-
Lokasi file perpustakaan. Anda dapat menentukan bucket Amazon S3 dan nama objek, atau Anda dapat menentukan URL untuk mengunduh file dari situs web publik. Pustaka harus dikemas dalam bentuk
.zip
file. Untuk informasi selengkapnya, lihat Membangun dan Menginstal Modul Pythondalam dokumentasi Python. - https://file_url
-
URL untuk mengunduh file dari situs web publik. URL dapat berisi hingga tiga pengalihan. Berikut ini adalah contoh URL file.
'https://www.example.com/pylib.zip'
- s3://bucket_name/file_name
-
Jalur ke objek Amazon S3 tunggal yang berisi file pustaka. Berikut ini adalah contoh jalur objek Amazon S3.
's3://amzn-s3-demo-bucket/my-pylib.zip'
Jika Anda menentukan bucket Amazon S3, Anda juga harus memberikan kredensi bagi AWS pengguna yang memiliki izin untuk mengunduh file tersebut.
penting
Jika bucket Amazon S3 tidak berada di AWS Wilayah yang sama dengan cluster Amazon Redshift, Anda harus menggunakan opsi REGION untuk menentukan Wilayah tempat AWS data berada. Nilai untuk aws_region harus cocok dengan AWS Region yang tercantum dalam tabel dalam deskripsi REGION parameter untuk perintah COPY.
- otorisasi
-
Klausa yang menunjukkan metode yang digunakan klaster untuk autentikasi dan otorisasi guna mengakses bucket Amazon S3 yang berisi file library. Cluster Anda harus memiliki izin untuk mengakses Amazon S3 dengan tindakan LIST dan GET.
Sintaks untuk otorisasi sama dengan otorisasi perintah COPY. Untuk informasi selengkapnya, lihat Parameter otorisasi.
IAM_ROLE { default | ‘arn:aws:iam::
<Akun AWS-id>
:role/<role-name>
’Gunakan kata kunci default agar Amazon Redshift menggunakan peran IAM yang ditetapkan sebagai default dan terkait dengan cluster saat perintah CREATE LIBRARY berjalan.
Gunakan Amazon Resource Name (ARN) untuk peran IAM yang digunakan klaster Anda untuk autentikasi dan otorisasi. Jika Anda menentukan IAM_ROLE, Anda tidak dapat menggunakan ACCESS_KEY_ID dan SECRET_ACCESS_KEY, SESSION_TOKEN, atau CREDENTIALS.
Secara opsional, jika bucket Amazon S3 menggunakan enkripsi sisi server, berikan kunci enkripsi dalam string credentials-args. Jika Anda menggunakan kredensil keamanan sementara, berikan token sementara dalam string credentials-args.
Untuk informasi selengkapnya, lihat Kredensial keamanan sementara.
- WILAYAH [AS] aws_region
-
AWS Wilayah tempat ember Amazon S3 berada. REGION diperlukan saat bucket Amazon S3 tidak berada di AWS Wilayah yang sama dengan cluster Amazon Redshift. Nilai untuk aws_region harus cocok dengan AWS Region yang tercantum dalam tabel dalam deskripsi REGION parameter untuk perintah COPY.
Secara default, CREATE LIBRARY mengasumsikan bahwa bucket Amazon S3 terletak di Wilayah AWS yang sama dengan cluster Amazon Redshift.
Contoh
Dua contoh berikut menginstal modul Python urlparseurlparse3-1.0.3.zip
Perintah berikut menginstal pustaka UDF bernama f_urlparse
dari paket yang telah diunggah ke bucket Amazon S3 yang terletak di Wilayah Timur AS.
create library f_urlparse language plpythonu from 's3://amzn-s3-demo-bucket/urlparse3-1.0.3.zip' credentials 'aws_iam_role=arn:aws:iam::
<aws-account-id>
:role/<role-name>
' region as 'us-east-1';
Contoh berikut menginstal pustaka bernama f_urlparse
dari file pustaka di situs web.
create library f_urlparse language plpythonu from 'https://example.com/packages/urlparse3-1.0.3.zip';