View a markdown version of this page

BUAT TEMPLAT - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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

BUAT TEMPLAT

Membuat template yang dapat digunakan kembali untuk perintah Amazon Redshift sepertiMENYONTEK. Template menyimpan parameter yang umum digunakan yang dapat direferensikan di beberapa eksekusi perintah, meningkatkan konsistensi dan mengurangi spesifikasi parameter manual.

Template menghilangkan kebutuhan untuk berulang kali menentukan parameter pemformatan yang sama di beberapa operasi, sementara jalur sumber, tabel target, dan otorisasi dapat bervariasi antar operasi.

Hak istimewa yang diperlukan

Untuk membuat template, Anda harus memiliki salah satu dari berikut ini:

  • Hak istimewa pengguna super

  • Izin BUAT pada skema tempat Anda ingin membuat template, atau BUAT izin cakupan pada skema di database tempat Anda ingin membuat template

Sintaksis

CREATE [ OR REPLACE ] TEMPLATE [database_name.][schema_name.]template_name FOR COPY [ AS ] [ [ FORMAT ] [ AS ] data_format ] [ parameter [ argument ] [ , ... ] ];

Parameter

ATAU GANTI

Jika template dengan nama yang sama sudah ada di database dan skema yang ditentukan, template yang ada diganti. Anda hanya dapat mengganti template dengan template baru yang mendefinisikan jenis operasi yang sama, misalnya, COPY. Anda harus memiliki hak istimewa yang diperlukan untuk mengganti template.

database_name

(Opsional) Nama database tempat template akan dibuat. Jika tidak ditentukan, template dibuat dalam database saat ini.

Jika database atau skema tidak ada, template tidak dibuat, dan pernyataan mengembalikan kesalahan. Anda tidak dapat membuat template di database sistemtemplate0,template1,padb_harvest, atausys:internal.

nama skema

(Opsional) Nama skema tempat template akan dibuat. Jika tidak ditentukan, template dibuat dalam skema saat ini.

Jika nama skema diberikan, template baru dibuat dalam skema itu (dengan asumsi pembuat memiliki akses ke skema). Nama template harus berupa nama unik untuk skema itu.

nama_templat

Nama template yang akan dibuat. Secara opsional, nama template dapat memenuhi syarat dengan database dan nama skema. Dalam contoh berikut, nama database adalahdemo_database, nama skema adalahdemo_schema, dan nama template adalahtest. Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengenal.

CREATE TEMPLATE demo_database.demo_schema.test FOR COPY AS CSV;
MENYALIN

Menentukan jenis perintah Redshift tempat template dibuat. Saat ini, hanya perintah COPY yang didukung.

[[FORMAT] [AS] data_ format]

Ini adalah parameter opsional. Ini menentukan format data untuk operasi COPY.

[parameter [argumen]]

Setiap parameter yang valid untuk perintah pergeseran merah yang ditentukan.

Misalnya, template untuk perintah COPY dapat mencakup:

Untuk daftar lengkap parameter yang didukung, lihat MENYONTEK perintah.

Catatan penggunaan

  • Secara default, semua pengguna memiliki hak istimewa CREATE dan USAGE pada skema PUBLIK. Untuk melarang pengguna membuat objek dalam skema PUBLIK database, gunakan perintah REVOKE untuk menghapus hak istimewa tersebut.

  • Ketika parameter ada di template dan perintah, parameter perintah diutamakan.

  • Template adalah objek database dan mengikuti aturan izin dan penamaan objek Redshift standar. Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengenal.

  • Template tidak dapat berisi spesifikasi file manifes untuk MENYONTEK perintah.

Batasan

  • Setidaknya satu parameter harus ditentukan saat membuat template.

  • Parameter yang dikecualikan — Command-specific parameter seperti jalur sumber, tabel target, kredentif otorisasi, dan spesifikasi file manifes tidak dapat dimasukkan dalam template. Parameter ini harus ditentukan dalam perintah yang sebenarnya.

  • Template maksimum per cluster — Anda dapat membuat maksimal 1.000 templat per cluster. Batas ini berlaku untuk jumlah total template di semua database dan skema di cluster.

  • Cross-database referensi — Template tidak dapat direferensikan di seluruh database.

  • Berbagi data — Template tidak dapat dimasukkan dalam berbagi data. Template harus dibuat secara terpisah di setiap cluster di mana mereka dibutuhkan.

Contoh

Contoh berikut membuat template untuk perintah COPY

CREATE TEMPLATE test_schema.demo_template FOR COPY AS FORMAT JSON 'auto' NULL AS '' MAXERROR 100;

Gunakan TAMPILKAN TEMPLATE untuk mendapatkan definisi template:

SHOW TEMPLATE test_schema.demo_template; CREATE OR REPLACE TEMPLATE dev.test_schema.demo_template FOR COPY AS FORMAT AS JSON 'auto' NULL '' MAXERROR 100;

Kueri SYS_REDSHIFT_TEMPLATE tampilan sistem untuk mendapatkan detail lebih lanjut tentang template.

SELECT * FROM SYS_REDSHIFT_TEMPLATE; database_name | schema_name | template_name | template_type | create_time | last_modified_time | owner_id | last_modified_by | template_parameters ---------------+-------------+---------------+---------------+----------------------------+----------------------------+----------+------------------+--------------------- dev | test_schema | demo_template | 1 | 2025-12-17 20:06:01.944171 | 2025-12-17 20:06:01.944171 | 1 | 1 | { "JSON": "auto", "MAXERROR": 100, "NULL": "" }