

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# BUAT PUSTAKA
<a name="r_CREATE_LIBRARY"></a>

Menginstal pustaka Python, yang tersedia bagi pengguna untuk digabungkan saat membuat fungsi yang ditentukan pengguna (UDF) dengan perintah. [CREATE FUNCTION](r_CREATE_FUNCTION.md) 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, lihat[Tingkat isolasi di Amazon Redshift](c_serial_isolation.md). 

Amazon Redshift mendukung Python versi 2.7. Untuk informasi lebih lanjut, lihat [www.python.org](https://www.python.org/).

Untuk informasi selengkapnya, lihat [Contoh: Mengimpor modul pustaka Python kustom](udf-importing-custom-python-library-modules.md). 

## Hak istimewa yang diperlukan
<a name="r_CREATE_LIBRARY-privileges"></a>

Berikut ini adalah hak istimewa yang diperlukan untuk CREATE LIBRARY:
+ Superuser
+ Pengguna dengan hak istimewa CREATE LIBRARY atau dengan hak istimewa bahasa yang ditentukan

## Sintaksis
<a name="r_CREATE_LIBRARY-synopsis"></a>

```
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
<a name="r_CREATE_LIBRARY-parameters"></a>

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](udf-python-language-support.md).

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](https://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. Perpustakaan harus dikemas dalam bentuk `.zip` file. Untuk informasi selengkapnya, lihat [Membangun dan Menginstal Modul Python](https://docs.python.org/2/library/distutils.html?highlight=distutils#module-distutils) dalam 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.   
 Jika bucket Amazon S3 tidak berada di AWS Wilayah yang sama dengan kluster Amazon Redshift, Anda harus menggunakan opsi REGION untuk menentukan AWS Wilayah tempat data berada. Nilai untuk *aws\_region* harus cocok dengan AWS Region yang tercantum dalam tabel dalam deskripsi [REGION](copy-parameters-data-source-s3.md#copy-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](copy-parameters-authorization.md).  

```
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](copy-usage_notes-access-permissions.md#r_copy-temporary-security-credentials).

 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](copy-parameters-data-source-s3.md#copy-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
<a name="r_CREATE_LIBRARY-examples"></a>

Dua contoh berikut menginstal modul Python [urlparse](https://docs.python.org/2/library/urlparse.html#module-urlparse), yang dikemas dalam file bernama. `urlparse3-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';
```