Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK:
Azure Data Factory
Azure Synapse Analytics
Petunjuk
Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Anda menggunakan aktivitas transformasi data di Data Factory atau Synapse pipeline untuk mengolah data mentah menjadi prediksi dan wawasan. Script activity adalah salah satu aktivitas transformasi yang didukung oleh pipeline. Artikel ini dibuat berdasarkan artikel data transformasi, yang memberikan gambaran umum tentang transformasi data dan aktivitas transformasi yang didukung.
Dengan menggunakan script activity, Anda dapat menjalankan operasi umum dengan Bahasa Manipulasi Data (DML), dan Bahasa Definisi Data (DDL). Pernyataan DML seperti INSERT, UPDATE, DELETE, dan SELECT memungkinkan pengguna menyisipkan, memodifikasi, menghapus, dan mengambil data dalam database. Pernyataan DDL seperti BUAT, UBAH, dan, HAPUS memungkinkan pengelola database untuk membuat, memodifikasi, dan menghapus objek database seperti tabel, indeks, dan pengguna.
Anda dapat menggunakan aktivitas skrip untuk menjalankan skrip SQL di salah satu penyimpanan data berikut di perusahaan Anda atau di mesin virtual (VM) Azure:
- Azure Database for PostgreSQL (Versi 2.0)
- Azure SQL Database
- Azure Synapse Analytics
- Database SQL Server. Jika Anda menggunakan SQL Server, instal Runtime Integrasi yang Di-host Sendiri pada komputer yang sama dengan yang menghosting database atau di komputer terpisah yang memiliki akses ke database. Runtime integrasi yang dihost sendiri adalah komponen yang menghubungkan sumber data di lokal/di Azure VM dengan layanan cloud dengan cara yang aman dan terkelola. Lihat artikel Self-hosted integration runtime untuk informasi lebih lanjut.
- Oracle
- Snowflake
Skrip dapat berisi satu pernyataan SQL atau beberapa pernyataan SQL yang berjalan secara berurutan. Anda dapat menggunakan tugas Skrip untuk tujuan berikut:
- Potong tabel sebagai persiapan untuk menyisipkan data.
- Buat, ubah, dan hapus objek database seperti tabel dan tampilan.
- Buat ulang tabel fakta dan dimensi sebelum memuat data ke dalamnya.
- Jalankan prosedur yang tersimpan. Jika pernyataan SQL memanggil prosedur tersimpan yang mengembalikan hasil dari tabel sementara, gunakan opsi DENGAN KUMPULAN HASIL untuk menentukan metadata dengan kumpulan hasil.
- Simpan rowset yang dikembalikan dari kueri sebagai output aktivitas untuk penggunaan di hilir.
Detail sintaksis
Berikut adalah format JSON untuk menentukan aktivitas Skrip:
{
"name": "<activity name>",
"type": "Script",
"linkedServiceName": {
"referenceName": "<name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"scripts" : [
{
"text": "<Script Block>",
"type": "<Query> or <NonQuery>",
"parameters":[
{
"name": "<name>",
"value": "<value>",
"type": "<type>",
"direction": "<Input> or <Output> or <InputOutput>",
"size": 256
},
...
]
},
...
],
...
]
},
"scriptBlockExecutionTimeout": "<time>",
"logSettings": {
"logDestination": "<ActivityOutput> or <ExternalStore>",
"logLocationSettings":{
"linkedServiceName":{
"referenceName": "<name>",
"type": "<LinkedServiceReference>"
},
"path": "<folder path>"
}
}
}
}
Tabel berikut menjelaskan properti JSON ini:
| Nama properti | Deskripsi | Wajib |
|---|---|---|
| nama | Nama aktivitas. | Ya |
| jenis | Jenis aktivitas diatur menjadi "Skrip". | Ya |
| typeProperties | Tentukan properti untuk mengonfigurasikan Script Activity. | Ya |
| NamaLayananTertaut | Database target tempat script dijalankan. Hal ini harus menjadi referensi ke layanan tertaut. | Ya |
| skrip | Larik objek untuk mewakili skrip. | Tidak |
| skrip.teks | Teks biasa dari blok kueri. | Tidak |
| scripts.tipe | Jenis blok kueri. Ini bisa menjadi Query atau NonQuery. Default: Kueri. | Tidak |
| skrip.parameter | Susunan parameter dari skrip. | Tidak |
| scripts.parameter.name | Nama parameter. | Tidak |
| scripts.parameter.value | Nilai dari parameter. | Tidak |
| scripts.parameter.type | Tipe data dari parameter. Jenisnya adalah tipe logis dan mengikuti pemetaan tipe setiap konektor. | Tidak |
| skrip.parameter.arah | Arah dari parameter. Bisa jadi Input, Output, InputOutput. Nilai diabaikan jika arahnya adalah Output. Jenis ReturnValue tidak didukung. Atur nilai pengembalian SP ke parameter keluaran untuk pengambilan nilainya. | Tidak |
| scripts.parameter.ukuran | Ukuran maksimum parameter. Hanya berlaku untuk parameter arah Output/InputOutput dari tipe string/byte[]. | Tidak |
| scriptBlockExecutionTimeout | Waktu tunggu untuk operasi eksekusi blok skrip selesai sebelum habis waktu. | Tidak |
| logSettings | Pengaturan untuk menyimpan log output. Jika tidak ditentukan, log skrip akan dinonaktifkan. | Tidak |
| PengaturanLog.TujuanLog | Tujuan keluaran log. Ini bisa menjadi "ActivityOutput" atau "ExternalStore". Default: ActivityOutput. | Tidak |
| logSettings.logLocationSettings | Pengaturan lokasi target jika logDestination adalah ExternalStore. | Tidak |
| logSettings.logLocationSettings.linkedServiceName | Layanan terkait dari lokasi target. Hanya penyimpanan blob yang didukung. | Tidak |
| logSettings.logLocationSettings.path | Jalur folder di bawah mana menyimpan log. | Tidak |
Hasil Aktivitas
Contoh output:
{
"resultSetCount": 2,
"resultSets": [
{
"rowCount": 10,
"rows":[
{
"<columnName1>": "<value1>",
"<columnName2>": "<value2>",
...
}
]
},
...
],
"recordsAffected": 123,
"outputParameters":{
"<parameterName1>": "<value1>",
"<parameterName2>": "<value2>"
},
"outputLogs": "<logs>",
"outputLogsLocation": "<folder path>",
"outputTruncated": true,
...
}
| Nama properti | Deskripsi | Kondisi |
|---|---|---|
| JumlahSetHasil | Jumlah set hasil yang dikembalikan oleh skrip. | Selalu |
| kumpulan hasil | Array yang berisi semua kumpulan hasil. | Selalu |
| resultSets.rowCount | Total baris dalam set hasil. | Selalu |
| resultSets.rows | Susunan baris dalam set hasil. | Selalu |
| recordsAffected | Jumlah baris yang terpengaruh oleh skrip. | Jika scriptType adalah NonQuery |
| parameter keluaran | Parameter output dari script. | Jika tipe parameter adalah Output atau InputOutput. |
| outputLogs | Log yang ditulis oleh script, misalnya, mencetak pernyataan. | Jika konektor mendukung pernyataan log dan enableScriptLogs adalah true dan logLocationSettings tidak disediakan. |
| outputLogsPath | Jalur lengkap file log. | Jika enableScriptLogs benar, dan logLocationSettings disediakan. |
| output terpotong | Indikator apakah output melebihi batas dan terpotong atau tidak. | Jika output melebihi batas. |
Catatan
- Output dikumpulkan setiap kali blok script dijalankan. Output akhir adalah hasil gabungan dari semua output blok script. Parameter keluaran dengan nama yang sama di blok skrip yang berbeda akan ditimpa.
- Karena output memiliki batasan ukuran / baris, output akan dipotong dalam urutan berikut: log -> parameter -> baris. Ini berlaku untuk satu blok skrip, yang berarti baris output blok skrip berikutnya tidak akan mengeluarkan log sebelumnya.
- Kesalahan apapun yang disebabkan oleh log tidak akan menyebabkan aktivitas gagal.
- Untuk mengonsumsi resultSets output aktivitas dalam aktivitas hilir, lihat dokumentasi hasil aktivitas Pencarian.
- Gunakan outputLogs saat Anda menggunakan pernyataan 'PRINT' untuk tujuan pengelogan. Jika kueri mengembalikan resultSets, maka akan tersedia dalam output aktivitas dan akan dibatasi hingga 5000 baris/batas ukuran 4MB.
Mengonfigurasi aktivitas Script menggunakan UI
Skrip inline
Skrip sebaris terintegrasi dengan baik dengan Pipeline CI/CD karena skrip disimpan sebagai bagian dari metadata pipeline.
Pencatatan
Opsi Pencatatan:
- Nonaktifkan - Tidak ada output eksekusi yang dicatat.
- Keluaran aktivitas - Keluaran dari eksekusi skrip ditambahkan ke keluaran aktivitas. Aktivitas hilir kemudian dapat mengonsumsinya. Ukuran output dibatasi hingga 4 MB.
- Penyimpanan eksternal - Mempertahankan output ke penyimpanan. Gunakan opsi ini jika ukuran output lebih besar dari 2 MB atau Anda ingin secara eksplisit mempertahankan output di akun penyimpanan Anda.
Catatan
Penagihan - Aktivitas script akan ditagih sebagai aktivitas pipeline.
Konten terkait
Lihat artikel berikut yang menjelaskan cara mentransformasikan data dengan cara lain: