DataWorks Data Integration mendukung sumber data HttpFile. Anda dapat menggunakan protokol HTTP untuk mengunduh file dan menyinkronkannya ke sumber data target.
Batasan
Sumber data HttpFile mendukung kelompok sumber daya arsitektur tanpa server (direkomendasikan) dan kelompok sumber daya eksklusif untuk Data Integration.
Tipe bidang yang didukung
Tipe data | Deskripsi |
STRING | Tipe teks. |
LONG | Bilangan bulat. |
BYTES | Array byte. Konten teks dikonversi menjadi array byte dengan encoding UTF-8. |
BOOL | Tipe boolean. |
DOUBLE | Bilangan desimal. |
DATE | Tipe tanggal dan waktu. Format berikut didukung:
|
Tambahkan sumber data
Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks sesuai petunjuk dalam Pengelolaan sumber data. Anda dapat melihat deskripsi parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Kembangkan tugas sinkronisasi data: Panduan sinkronisasi HttpFile
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.
Konfigurasikan tugas sinkronisasi offline untuk tabel tunggal
Untuk informasi lebih lanjut, lihat Konfigurasikan tugas di Antarmuka tanpa kode dan Konfigurasikan tugas di editor kode.
Untuk semua parameter dan contoh skrip editor kode, lihat Lampiran: Contoh skrip HttpFile dan deskripsi parameter.
Lampiran: Contoh skrip HttpFile dan deskripsi parameter
Konfigurasikan tugas sinkronisasi batch menggunakan editor kode
Jika ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai format skrip terpadu. Untuk informasi lebih lanjut, lihat Konfigurasikan tugas di editor kode. Informasi berikut menjelaskan parameter yang harus dikonfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.
Contoh skrip Reader
Kode berikut menyediakan contoh skrip untuk membaca data dari sumber data HttpFile:
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "httpfile",
"parameter": {
"datasource": "",
"fileName": "/f/z/1.csv",
"requestMethod": "GET",
"requestBody": "",
"requestHeaders": {
"header1": "v1",
"header2": "v2"
},
"socketTimeoutSeconds": 3600,
"connectTimeoutSeconds": 60,
"bufferByteSizeInKB": 1024,
"fileFormat": "csv",
"encoding": "utf8/gbk/...",
"fieldDelimiter": ",",
"useMultiCharDelimiter": true,
"lineDelimiter": "\n",
"skipHeader": true,
"compress": "zip/gzip",
"column": [
{
"index": 0,
"type": "long"
},
{
"index": 1,
"type": "boolean"
},
{
"index": 2,
"type": "double"
},
{
"index": 3,
"type": "string"
},
{
"index": 4,
"type": "date"
}
]
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 1
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}Parameter skrip Reader
Parameter | Deskripsi | Wajib | Nilai default |
datasource | Nama sumber data. Nama ini harus sama dengan nama sumber data HttpFile yang Anda buat di halaman Pengelolaan Sumber Data. | Ya | Tidak ada |
fileName | Jalur file. Jika jalur berisi karakter khusus atau karakter Tionghoa, Anda harus memasukkan nilai yang telah di-encode URL. Misalnya, spasi di-encode sebagai %20. Jalur file: Nilai untuk parameter ini: Catatan
| Ya | Tidak ada |
bufferByteSizeInKB | Ukuran buffer untuk pengunduhan file. Satuan: KB. | Tidak | 1024 |
requestMethod | Metode GET, POST, dan PUT didukung. | Tidak | GET |
requestParam | Parameter ini hanya berlaku ketika parameter requestMethod diatur ke GET. Jika nilai parameter berisi karakter khusus atau karakter Tionghoa, nilainya harus di-encode URL. Contohnya: Nilai parameter start adalah Nilai untuk parameter ini: Catatan Parameter start menentukan waktu mulai operasi saat Anda mengirim permintaan GET. | Tidak | Tidak ada |
requestBody | Badan permintaan. Parameter ini hanya berlaku ketika parameter requestMethod diatur ke POST atau PUT. Anda juga harus menggunakannya bersama Content-Type di requestHeaders. Contohnya: | Tidak | Tidak ada |
requestHeaders | Header permintaan. Tentukan parameter ini sebagai pasangan kunci-nilai. Contohnya: | Tidak | |
fileFormat | Tipe file sumber. Nilai yang valid: CSV dan TEXT. Anda dapat menentukan pemisah kustom untuk kedua format tersebut. | Tidak | Tidak ada |
column | Daftar bidang yang akan dibaca:
Secara default, Anda dapat membaca semua data sebagai tipe STRING. Konfigurasinya sebagai berikut. Anda dapat menentukan informasi untuk bidang column. Konfigurasinya sebagai berikut. Penting Untuk informasi column yang Anda tentukan, Anda harus menentukan type. Anda harus menentukan salah satu dari index atau value, tetapi tidak keduanya. | Ya | Semua bidang dibaca sebagai tipe STRING. |
fieldDelimiter | Pemisah bidang. Catatan Saat reader HttpFile membaca data, Anda harus menentukan pemisah bidang. Jika Anda tidak menentukan parameter ini, koma Inggris (,) digunakan sebagai default. Antarmuka pengguna juga menggunakan (,) sebagai default. Jika pemisahnya adalah karakter tak tercetak, masukkan representasi Unicode-nya. Misalnya, \u001b atau \u007c. | Ya | , |
lineDelimiter | Pemisah baris. Catatan Parameter ini hanya berlaku ketika fileFormat diatur ke TEXT. | Tidak | Tidak ada |
compress | Format kompresi file teks. Secara default, parameter ini dibiarkan kosong, yang berarti file tidak dikompresi. Format yang didukung: gzip, bzip2, dan zip. | Tidak | Tidak dikompresi |
encoding | Format encoding file. | Tidak | utf-8 |
nullFormat | Dalam file teks, Anda tidak dapat menggunakan string standar untuk mendefinisikan penunjuk null. Data Integration menyediakan parameter nullFormat untuk mendefinisikan string mana yang merepresentasikan null. Contohnya:
| Tidak | Tidak ada |
skipHeader | File mirip CSV mungkin memiliki baris header. Anda dapat memilih apakah akan melewatkan baris header selama sinkronisasi data.
Parameter skipHeader tidak didukung untuk file terkompresi. Format kompresi umum termasuk gzip, bzip2, dan zip. | Tidak | false |
connectTimeoutSeconds (Parameter ini hanya tersedia dalam mode Advanced dan tidak dapat dikonfigurasi di Antarmuka tanpa kode.) | Periode timeout untuk membuat koneksi HTTP. Satuan: detik. Jika periode timeout terlampaui, tugas gagal. | Tidak | 60 |
socketTimeoutSeconds (Parameter ini hanya untuk mode Advanced dan tidak dapat dikonfigurasi di Antarmuka tanpa kode.) | Periode timeout untuk koneksi HTTP yang tidak merespons. Satuan: detik. Jika interval antara transmisi pesan berturut-turut melebihi nilai ini, tugas gagal. | Tidak | 3600 |
Referensi
Untuk informasi lebih lanjut tentang konfigurasi sumber data, lihat Sumber data yang didukung dan solusi sinkronisasi.
Untuk informasi lebih lanjut tentang pengelolaan izin sumber data, lihat Mode otorisasi peran RAM.