

 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.

# Mengunggah file ke Amazon S3 untuk digunakan dengan COPY
<a name="t_uploading-data-to-S3"></a>

Ada beberapa pendekatan yang harus diambil saat mengunggah file teks ke Amazon S3:
+ Jika Anda memiliki file terkompresi, kami sarankan Anda membagi file besar untuk memanfaatkan pemrosesan paralel di Amazon Redshift.
+ Di sisi lain, COPY secara otomatis membagi data file besar, tidak terkompresi, dibatasi teks untuk memfasilitasi paralelisme dan secara efektif mendistribusikan data dari file besar.

Buat bucket Amazon S3 untuk menyimpan file data Anda, lalu unggah file data ke bucket. Untuk informasi tentang membuat bucket dan mengunggah file, lihat [Bekerja dengan Bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) di Panduan Pengguna Layanan Penyimpanan *Sederhana Amazon*. 

**penting**  
Bucket Amazon S3 yang menyimpan file data harus dibuat di AWS Wilayah yang sama dengan cluster Anda kecuali Anda menggunakan [REGION](copy-parameters-data-source-s3.md#copy-region) opsi untuk menentukan Wilayah tempat bucket Amazon S3 berada.

Pastikan rentang IP S3 ditambahkan ke daftar yang diizinkan Anda. Untuk mempelajari lebih lanjut tentang rentang IP S3 yang diperlukan, lihat [Isolasi jaringan](https://docs.aws.amazon.com//redshift/latest/mgmt/security-network-isolation.html#network-isolation).

Anda dapat membuat bucket Amazon S3 di Wilayah tertentu baik dengan memilih Wilayah saat membuat bucket menggunakan konsol Amazon S3, atau dengan menentukan titik akhir saat membuat bucket menggunakan Amazon S3 API atau CLI.

Setelah pemuatan data, verifikasi bahwa file yang benar ada di Amazon S3.

**Topics**
+ [Mengelola konsistensi data](managing-data-consistency.md)
+ [Mengunggah data terenkripsi ke Amazon S3](t_uploading-encrypted-data.md)
+ [Memverifikasi bahwa file yang benar ada di bucket Anda](verifying-that-correct-files-are-present.md)

# Mengelola konsistensi data
<a name="managing-data-consistency"></a>

Amazon S3 memberikan read-after-write konsistensi yang kuat untuk operasi COPY, UNLOAD, INSERT (tabel eksternal), CREATE EXTERNAL TABLE AS, dan Amazon Redshift Spectrum pada bucket Amazon S3 di semua Wilayah. AWS Selain itu, operasi baca di Amazon S3 Select, Daftar Kontrol Akses Amazon S3, Tag Objek Amazon S3, dan metadata objek (misalnya, objek HEAD) sangat konsisten. Untuk informasi selengkapnya tentang konsistensi data, lihat [Model Konsistensi Data Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Introduction.html#ConsistencyModel) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

# Mengunggah data terenkripsi ke Amazon S3
<a name="t_uploading-encrypted-data"></a>

Amazon S3 mendukung enkripsi sisi server dan enkripsi sisi klien. Topik ini membahas perbedaan antara enkripsi sisi server dan sisi klien dan menjelaskan langkah-langkah untuk menggunakan enkripsi sisi klien dengan Amazon Redshift. Enkripsi sisi server transparan untuk Amazon Redshift. 

## enkripsi di sisi server
<a name="server-side-encryption"></a>

Enkripsi sisi server adalah enkripsi data saat istirahat—yaitu, Amazon S3 mengenkripsi data Anda saat mengunggahnya dan mendekripsi untuk Anda saat Anda mengaksesnya. Saat Anda memuat tabel menggunakan perintah COPY, tidak ada perbedaan dalam cara Anda memuat dari objek terenkripsi atau tidak terenkripsi sisi server di Amazon S3. Untuk informasi selengkapnya tentang enkripsi sisi server, lihat [Menggunakan Enkripsi Sisi Server di Panduan Pengguna](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) Layanan Penyimpanan *Sederhana Amazon*.

## Enkripsi di sisi klien
<a name="client-side-encryption"></a>

Dalam enkripsi sisi klien, aplikasi klien Anda mengelola enkripsi data Anda, kunci enkripsi, dan alat terkait. Anda dapat mengunggah data ke bucket Amazon S3 menggunakan enkripsi sisi klien, lalu memuat data menggunakan perintah COPY dengan opsi ENCRYPTED dan kunci enkripsi pribadi untuk memberikan keamanan yang lebih besar.

Anda mengenkripsi data Anda menggunakan enkripsi amplop. Dengan *enkripsi amplop,* aplikasi Anda menangani semua enkripsi secara eksklusif. Kunci enkripsi pribadi Anda dan data tidak terenkripsi Anda tidak pernah dikirim ke AWS, jadi sangat penting bagi Anda untuk mengelola kunci enkripsi dengan aman. Jika Anda kehilangan kunci enkripsi, Anda tidak akan dapat membatalkan enkripsi data Anda, dan Anda tidak dapat memulihkan kunci enkripsi Anda. AWS Enkripsi amplop menggabungkan kinerja enkripsi simetris cepat sambil mempertahankan keamanan yang lebih besar yang disediakan oleh manajemen kunci dengan kunci asimetris. Kunci one-time-use simetris (kunci simetris amplop) dihasilkan oleh klien enkripsi Amazon S3 Anda untuk mengenkripsi data Anda, kemudian kunci itu dienkripsi oleh kunci root Anda dan disimpan bersama data Anda di Amazon S3. Saat Amazon Redshift mengakses data Anda selama pemuatan, kunci simetris terenkripsi diambil dan didekripsi dengan kunci asli Anda, lalu data didekripsi.

Untuk bekerja dengan data terenkripsi sisi klien Amazon S3 di Amazon Redshift, ikuti langkah-langkah yang diuraikan dalam [Melindungi Data Menggunakan Enkripsi Sisi Klien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html) di Panduan Pengguna *Layanan Penyimpanan Sederhana Amazon*, dengan persyaratan tambahan yang Anda gunakan:
+ **Enkripsi simetris —** AWS SDK for `AmazonS3EncryptionClient` Java class menggunakan enkripsi amplop, dijelaskan sebelumnya, yang didasarkan pada enkripsi kunci simetris. Gunakan kelas ini untuk membuat klien Amazon S3 untuk mengunggah data terenkripsi sisi klien.
+ Kunci **simetris root AES 256-bit — Kunci** root mengenkripsi kunci amplop. Anda meneruskan kunci root ke instance `AmazonS3EncryptionClient` kelas Anda. Simpan kunci ini, karena Anda akan membutuhkannya untuk menyalin data ke Amazon Redshift.
+ **Metadata objek untuk menyimpan kunci amplop terenkripsi — Secara default, Amazon S3 menyimpan kunci** amplop sebagai metadata objek untuk kelas. `AmazonS3EncryptionClient` Kunci amplop terenkripsi yang disimpan sebagai metadata objek digunakan selama proses dekripsi. 

**catatan**  
Jika Anda mendapatkan pesan kesalahan enkripsi sandi saat Anda menggunakan API enkripsi untuk pertama kalinya, versi JDK Anda mungkin memiliki file kebijakan yurisdiksi Java Cryptography Extension (JCE) yang membatasi panjang kunci maksimum untuk enkripsi dan transformasi dekripsi menjadi 128 bit. Untuk informasi tentang mengatasi masalah ini, buka [Menentukan Enkripsi Sisi Klien Menggunakan SDK for AWS Java](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryptionUpload.html) di Panduan Pengguna Layanan Penyimpanan Sederhana *Amazon*. 

Untuk informasi tentang memuat file terenkripsi sisi klien ke dalam tabel Amazon Redshift menggunakan perintah COPY, lihat. [Memuat file data terenkripsi dari Amazon S3](c_loading-encrypted-files.md)

## Contoh: Mengunggah data terenkripsi sisi klien
<a name="client-side-encryption-example"></a>

*Untuk contoh cara menggunakan AWS SDK for Java untuk mengunggah data terenkripsi sisi klien, buka [Melindungi data menggunakan enkripsi sisi klien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/encrypt-client-side-symmetric-master-key.html) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.* 

Opsi kedua menunjukkan pilihan yang harus Anda buat selama enkripsi sisi klien sehingga data dapat dimuat di Amazon Redshift. Secara khusus, contoh menunjukkan penggunaan metadata objek untuk menyimpan kunci amplop terenkripsi dan penggunaan kunci simetris akar AES 256-bit. 

Contoh ini memberikan contoh kode menggunakan AWS SDK for Java untuk membuat kunci root simetris AES 256-bit dan menyimpannya ke file. Kemudian contoh mengunggah objek ke Amazon S3 menggunakan klien enkripsi S3 yang pertama mengenkripsi data sampel di sisi klien. Contoh ini juga mengunduh objek dan memverifikasi bahwa datanya sama.

# Memverifikasi bahwa file yang benar ada di bucket Anda
<a name="verifying-that-correct-files-are-present"></a>

Setelah Anda mengunggah file ke bucket Amazon S3, sebaiknya cantumkan konten bucket untuk memverifikasi bahwa semua file yang benar ada dan tidak ada file yang tidak diinginkan. Misalnya, jika bucket `amzn-s3-demo-bucket` menyimpan file bernama`venue.txt.back`, file itu akan dimuat, mungkin secara tidak sengaja, dengan perintah berikut:

```
COPY venue FROM 's3://amzn-s3-demo-bucket/venue' … ;
```

Jika Anda ingin mengontrol secara spesifik file mana yang dimuat, Anda dapat menggunakan file manifes untuk secara eksplisit mencantumkan file data. Untuk informasi selengkapnya tentang menggunakan file manifes, lihat [copy_from_s3_manifest_file](copy-parameters-data-source-s3.md#copy-manifest-file) opsi untuk perintah COPY dan [Menggunakan manifes untuk menentukan file data](r_COPY_command_examples.md#copy-command-examples-manifest) dalam contoh COPY. 

Untuk informasi selengkapnya tentang mencantumkan konten bucket, lihat [Daftar Kunci Objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html) di Panduan *Pengembang Amazon S3*.