

 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.

# Menggunakan antarmuka manajemen Amazon Redshift untuk kluster yang disediakan
<a name="using-aws-sdk"></a>

**catatan**  
Topik ini berfokus pada antarmuka manajemen Amazon Redshift untuk cluster yang disediakan. Ada antarmuka manajemen serupa untuk Amazon Redshift Serverless dan Amazon Redshift Data API.

Amazon Redshift mendukung beberapa antarmuka manajemen yang dapat Anda gunakan untuk membuat, mengelola, dan menghapus klaster Amazon Redshift: the AWS SDKs, the AWS Command Line Interface (),AWS CLI dan API manajemen Amazon Redshift.

**Amazon Redshift API** — Anda dapat memanggil API manajemen Amazon Redshift ini dengan mengirimkan permintaan. Permintaan adalah permintaan HTTP atau HTTPS yang menggunakan kata kerja HTTP `GET` atau `POST` dengan parameter bernama`Action`. Memanggil Amazon Redshift API adalah cara paling langsung untuk mengakses layanan Amazon Redshift. Namun, aplikasi Anda harus menangani detail tingkat rendah seperti penanganan kesalahan dan menghasilkan hash untuk menandatangani permintaan.
+ Untuk informasi tentang membuat dan menandatangani permintaan Amazon Redshift API, lihat. [Menandatangani permintaan HTTP](amazon-redshift-signing-requests.md)
+ Untuk informasi tentang tindakan Amazon Redshift API dan tipe data untuk Amazon Redshift, lihat referensi Amazon [Redshift](https://docs.aws.amazon.com/redshift/latest/APIReference/Welcome.html) API.

**AWS SDKs**— Anda dapat menggunakan AWS SDKs untuk melakukan operasi terkait klaster Amazon Redshift. Beberapa pustaka SDK membungkus API Amazon Redshift yang mendasarinya. Mereka mengintegrasikan fungsionalitas API ke dalam bahasa pemrograman tertentu dan menangani banyak detail tingkat rendah, seperti menghitung tanda tangan, menangani percobaan ulang permintaan, dan penanganan kesalahan. Memanggil fungsi pembungkus di pustaka SDK dapat sangat menyederhanakan proses penulisan aplikasi untuk mengelola cluster Amazon Redshift.
+ Amazon Redshift didukung oleh AWS SDKs untuk Java, .NET, PHP, Python, Ruby, dan Node.js. Fungsi pembungkus untuk Amazon Redshift didokumentasikan dalam manual referensi untuk setiap SDK. Untuk daftar AWS SDKs dan tautan ke dokumentasinya, lihat [Alat untuk Amazon Web Services](https://aws.amazon.com/tools/).
+ Panduan ini memberikan contoh bekerja dengan Amazon Redshift menggunakan Java SDK. Untuk contoh kode AWS SDK yang lebih umum, lihat[Contoh kode untuk Amazon Redshift menggunakan AWS SDKs](service_code_examples.md). 

**AWS CLI**CLI menyediakan seperangkat alat baris perintah yang dapat Anda gunakan untuk mengelola AWS layanan dari komputer Windows, Mac, dan Linux. AWS CLI Termasuk perintah berdasarkan tindakan Amazon Redshift API.
+ Untuk informasi tentang menginstal dan menyiapkan Amazon Redshift CLI, lihat. [Menyiapkan Amazon Redshift CLI](setting-up-rs-cli.md)
+ [https://docs.aws.amazon.com/cli/latest/reference/redshift/index.html](https://docs.aws.amazon.com/cli/latest/reference/redshift/index.html)

# Menggunakan layanan ini dengan AWS SDK
<a name="sdk-general-information-section"></a>

AWS kit pengembangan perangkat lunak (SDKs) tersedia untuk banyak bahasa pemrograman populer. Setiap SDK menyediakan API, contoh kode, dan dokumentasi yang memudahkan developer untuk membangun aplikasi dalam bahasa pilihan mereka.


| Dokumentasi SDK | Contoh kode | 
| --- | --- | 
| [AWS SDK untuk C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK untuk C\$1\$1 contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI contoh kode](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK untuk Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK untuk Go contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK untuk Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK untuk Java contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK untuk JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK untuk JavaScript contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK untuk Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK untuk Kotlin contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK untuk .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK untuk .NET contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK untuk PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK untuk PHP contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [Alat AWS untuk PowerShell](https://docs.aws.amazon.com/powershell) | [Alat AWS untuk PowerShell contoh kode](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK untuk Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK untuk Python (Boto3) contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK untuk Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK untuk Ruby contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK for Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK for Rust contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK for SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK for SAP ABAP contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK for Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK for Swift contoh kode](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

**Ketersediaan contoh**  
Tidak dapat menemukan apa yang Anda butuhkan? Minta contoh kode menggunakan tautan **Berikan umpan balik** di bagian bawah halaman ini.

# Menandatangani permintaan HTTP
<a name="amazon-redshift-signing-requests"></a>

Amazon Redshift mengharuskan setiap permintaan yang Anda kirim ke API manajemen diautentikasi dengan tanda tangan. Topik ini menjelaskan cara menandatangani permintaan Anda. 

Jika Anda menggunakan salah satu Kit Pengembangan Perangkat AWS Lunak (SDKs) atauAWS Command Line Interface, penandatanganan permintaan ditangani secara otomatis, dan Anda dapat melewati bagian ini. Untuk informasi selengkapnya tentang penggunaan AWSSDKs, lihat[Menggunakan antarmuka manajemen Amazon Redshift untuk kluster yang disediakan](using-aws-sdk.md). Untuk informasi selengkapnya tentang penggunaan Antarmuka Baris Perintah Amazon Redshift, buka referensi baris perintah [Amazon Redshift](https://docs.aws.amazon.com/cli/latest/reference/redshift/index.html).

Untuk menandatangani permintaan, Anda menghitung tanda tangan digital dengan menggunakan fungsi hash kriptografi. Hash kriptografi adalah fungsi yang mengembalikan nilai hash unik yang didasarkan pada input. Input ke fungsi hash mencakup teks permintaan Anda dan kunci akses rahasia Anda yang bisa Anda dapatkan dari kredensi sementara. Fungsi hash mengembalikan nilai hash yang Anda sertakan dalam permintaan sebagai tanda tangan Anda. Tanda tangan adalah bagian header `Authorization` dari permintaan Anda.

**catatan**  
Pengguna membutuhkan akses terprogram jika mereka ingin berinteraksi dengan AWS luar. Konsol Manajemen AWS Cara untuk memberikan akses terprogram tergantung pada jenis pengguna yang mengaksesAWS.  
Untuk memberi pengguna akses programatis, pilih salah satu opsi berikut.  


****  

| Pengguna mana yang membutuhkan akses programatis? | Untuk | Oleh | 
| --- | --- | --- | 
| IAM | (Disarankan) Gunakan kredenal konsol sebagai kredensional sementara untuk menandatangani permintaan terprogram ke,, atau. AWS CLI AWS SDKs AWS APIs |  Mengikuti petunjuk untuk antarmuka yang ingin Anda gunakan. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/amazon-redshift-signing-requests.html)  | 
|  Identitas tenaga kerja (Pengguna yang dikelola di Pusat Identitas IAM)  | Gunakan kredensi sementara untuk menandatangani permintaan terprogram keAWS CLI,, AWS SDKs atau. AWS APIs |  Mengikuti petunjuk untuk antarmuka yang ingin Anda gunakan. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/amazon-redshift-signing-requests.html)  | 
| IAM | Gunakan kredensi sementara untuk menandatangani permintaan terprogram keAWS CLI,, AWS SDKs atau. AWS APIs | Mengikuti petunjuk dalam [Menggunakan kredensi sementara dengan AWS sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) di Panduan Pengguna IAM. | 
| IAM | (Tidak direkomendasikan)Gunakan kredensi jangka panjang untuk menandatangani permintaan terprogram keAWS CLI,, AWS SDKs atau. AWS APIs |  Mengikuti petunjuk untuk antarmuka yang ingin Anda gunakan. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/amazon-redshift-signing-requests.html)  | 

Setelah Amazon Redshift menerima permintaan Anda, itu menghitung ulang tanda tangan dengan menggunakan fungsi hash yang sama dan input yang Anda gunakan untuk menandatangani permintaan. Jika tanda tangan yang dihasilkan cocok dengan tanda tangan dalam permintaan, Amazon Redshift memproses permintaan; jika tidak, permintaan akan ditolak. 

Amazon Redshift mendukung otentikasi menggunakan versi [AWStanda tangan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) 4. Proses untuk menghitung tanda tangan terdiri dari tiga tugas. Tugas-tugas ini diilustrasikan dalam contoh berikut.
+  [Tugas 1: Buat permintaan kanonik](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html#create-canonical-request)

  Atur ulang permintaan HTTP Anda ke dalam bentuk kanonik. Menggunakan bentuk kanonik diperlukan karena Amazon Redshift menggunakan bentuk kanonik yang sama untuk menghitung tanda tangan yang dibandingkan dengan yang Anda kirim. 
+  [Tugas 2: Buat string untuk ditandatangani](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html#create-string-to-sign)

  Buat string yang akan Anda gunakan sebagai salah satu nilai input untuk fungsi hash kriptografi Anda. String, yang disebut *string to sign*, adalah rangkaian dari nama algoritme hash, tanggal permintaan, string *cakupan kredensial*, dan permintaan kanonikalisasi dari tugas sebelumnya. String *lingkup kredensi* itu sendiri adalah rangkaian informasi tanggal, wilayah, dan layanan.
+  [Tugas 3: Hitung tanda tangan](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html#calculate-signature)

  *Hitung tanda tangan untuk permintaan Anda dengan menggunakan fungsi hash kriptografi yang menerima dua string input, string Anda untuk ditandatangani dan kunci turunan.* Kunci turunan dihitung dengan memulai dengan kunci akses rahasia Anda dan menggunakan string cakupan kredensi untuk membuat serangkaian kode otentikasi pesan berbasis hash (HMAC-). SHA256 

## Contoh perhitungan tanda tangan
<a name="example-signature-calculation"></a>

Contoh berikut memandu Anda melalui detail pembuatan tanda tangan untuk [CreateCluster](https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateCluster.html)permintaan. Anda dapat menggunakan contoh ini sebagai referensi untuk memeriksa metode perhitungan tanda tangan Anda sendiri. Perhitungan referensi lainnya disertakan dalam [bagian Minta contoh tanda tangan](https://docs.aws.amazon.com/IAM/latest/UserGuide/signature-v4-examples.html) pada Panduan Pengguna IAM.

Anda dapat menggunakan permintaan GET atau POST untuk mengirim permintaan ke Amazon Redshift. Perbedaan antara keduanya adalah bahwa untuk permintaan GET parameter Anda dikirim sebagai parameter string kueri. Untuk permintaan POST mereka termasuk dalam badan permintaan. Contoh di bawah ini menunjukkan permintaan POST.

Contoh tersebut mengasumsikan sebagai berikut:
+ Stempel waktu permintaan adalah `Fri, 07 Dec 2012 00:00:00 GMT`.
+ Titik akhirnya adalah Wilayah AS Timur (Virginia Utara),`us-east-1`.

Sintaks permintaan umum adalah: 

```
https://redshift.us-east-1.amazonaws.com/
   ?Action=CreateCluster
   &ClusterIdentifier=examplecluster
   &MasterUsername=masteruser
   &MasterUserPassword=12345678Aa
   &NumberOfNode=2
   &NodeType=dc2.large
   &Version=2012-12-01
   &x-amz-algorithm=AWS4-HMAC-SHA256
   &x-amz-credential=AKIAIOSFODNN7EXAMPLE/20121207/us-east-1/redshift/aws4_request
   &x-amz-date=20121207T000000Z
   &x-amz-signedheaders=content-type;host;x-amz-date
```

Bentuk kanonik permintaan yang dihitung untuk [Tugas 1: Membuat Permintaan Kanonik](#SignatureCalculationTask1) adalah:

```
POST
/

content-type:application/x-www-form-urlencoded; charset=utf-8
host:redshift.us-east-1.amazonaws.com
x-amz-date:20121207T000000Z

content-type;host;x-amz-date
55141b5d2aff6042ccd9d2af808fdf95ac78255e25b823d2dbd720226de1625d
```

Baris terakhir dari permintaan kanonik adalah hash dari isi permintaan. Baris ketiga dalam permintaan kanonik kosong karena tidak ada parameter kueri untuk API ini. 

String yang akan ditandatangani untuk [Tugas 2: Buat String untuk Ditandatangani](#SignatureCalculationTask2) adalah:

```
AWS4-HMAC-SHA256
20121207T000000Z
20121207/us-east-1/redshift/aws4_request
06b6bef4f4f060a5558b60c627cc6c5b5b5a959b9902b5ac2187be80cbac0714
```

Baris pertama *string to sign* adalah algoritme, baris kedua adalah stempel waktu, baris ketiga adalah *cakupan kredensial*, dan baris terakhir adalah hash permintaan kanonik dari [Tugas 1: Membuat Permintaan Kanonik](#SignatureCalculationTask1). Nama layanan untuk digunakan dalam cakupan kredensial adalah `redshift`.

Untuk [Tugas 3: Hitung Tanda Tangan](#SignatureCalculationTask3), kunci turunan dapat direpresentasikan sebagai:

```
derived key = HMAC(HMAC(HMAC(HMAC("AWS4" + YourSecretAccessKey,"20121207"),"us-east-1"),"redshift"),"aws4_request")
```

Kunci turunan dihitung sebagai rangkaian fungsi hash. Mulai dari pernyataan HMAC dalam rumus di atas, Anda menggabungkan frasa **AWS4** dengan kunci akses rahasia Anda dan menggunakan ini sebagai kunci untuk hash data “us-east-1". Hasil hash ini menjadi kunci untuk fungsi hash berikutnya. 

Setelah Anda menghitung kunci turunan, Anda menggunakannya dalam fungsi hash yang menerima dua string input, string Anda untuk ditandatangani dan kunci turunan. Misalnya, jika Anda menggunakan kunci akses rahasia `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` dan string untuk menandatangani yang diberikan sebelumnya, maka tanda tangan yang dihitung adalah sebagai berikut:

```
9a6b557aa9f38dea83d9215d8f0eae54100877f3e0735d38498d7ae489117920
```

Langkah terakhir adalah membangun header `Authorization`. Untuk access key demonstrasi `AKIAIOSFODNN7EXAMPLE`, header (dengan jeda baris yang ditambahkan untuk keterbacaan) adalah:

```
Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20121207/us-east-1/redshift/aws4_request, 
SignedHeaders=content-type;host;x-amz-date, 
Signature=9a6b557aa9f38dea83d9215d8f0eae54100877f3e0735d38498d7ae489117920
```

# Menyiapkan Amazon Redshift CLI
<a name="setting-up-rs-cli"></a>

Bagian ini menjelaskan cara mengatur dan menjalankan alat baris AWS CLI perintah untuk digunakan dalam mengelola Amazon Redshift. [Alat baris perintah Amazon Redshift berjalan di AWS Command Line Interface (AWS CLI), yang pada gilirannya menggunakan Python (thon.org/). https://www.py](https://www.python.org) Ini AWS CLI dapat dijalankan pada sistem operasi apa pun yang mendukung Python.

## Instalasi AWS Command Line Interface
<a name="setting-up.installing-the-tools"></a>

Untuk mulai menggunakan alat baris perintah Amazon Redshift, Anda terlebih dahulu mengatur AWS CLI, dan kemudian Anda menambahkan file konfigurasi yang menentukan opsi Amazon Redshift CLI.

Jika Anda telah menginstal dan mengkonfigurasi AWS CLI untuk AWS layanan lain, Anda dapat melewati prosedur ini.

**Untuk menginstal AWS Command Line Interface**

1. Pergi ke [Instal atau perbarui ke versi terbaru dari AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html), dan kemudian ikuti petunjuk untuk menginstal AWS CLI.

   Untuk akses CLI, Anda memerlukan ID kunci akses dan kunci akses rahasia. Gunakan kredensyal sementara alih-alih kunci akses jangka panjang jika memungkinkan. Kredensyal sementara mencakup ID kunci akses, kunci akses rahasia, dan token keamanan yang menunjukkan kapan kredensialnya kedaluwarsa. Untuk informasi selengkapnya, lihat [Menggunakan kredensyal sementara dengan AWS sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) di Panduan Pengguna *IAM*.

1. Buat file yang berisi informasi konfigurasi seperti kunci akses, wilayah default, dan format output perintah. Kemudian atur variabel `AWS_CONFIG_FILE` lingkungan untuk referensi file itu. Untuk instruksi terperinci, buka [Mengkonfigurasi antarmuka baris AWS perintah](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) di Panduan AWS Command Line Interface Pengguna.

1. Jalankan perintah uji untuk mengonfirmasi bahwa AWS CLI antarmuka berfungsi. Misalnya, perintah berikut harus menampilkan informasi bantuan untuk AWS CLI:

   ```
   aws help
   ```

   Perintah berikut akan menampilkan informasi bantuan untuk Amazon Redshift:

   ```
   aws redshift help
   ```

[Untuk materi referensi tentang perintah Amazon Redshift CLI, buka Amazon Redshift di Referensi.](https://docs.aws.amazon.com/cli/latest/reference/redshift/index.html) AWS CLI 