DataWorks Data Integration mendukung Sumber Data HttpFile. Anda dapat mengunduh file melalui HTTP dan menyinkronkannya ke sumber data tujuan.
Batasan
Sumber Data HttpFile hanya mendukung kelompok sumber daya eksklusif untuk Data Integration.
Pemetaan tipe data
Kategori | Deskripsi |
STRING | Teks. |
LONG | Bilangan bulat. |
BYTES | Array byte. Teks yang dibaca dikonversi menjadi array byte. Format pengkodeannya adalah UTF-8. |
BOOL | Boolean. |
DOUBLE | Desimal. |
DATE | Tanggal dan waktu. Format tanggal dan waktu berikut didukung:
|
Mengembangkan tugas sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi data, lihat bagian berikut. Untuk detail pengaturan parameter, lihat tip info setiap parameter di tab konfigurasi tugas.
Tambahkan sumber data
Sebelum mengonfigurasi tugas sinkronisasi data untuk menyinkronkan data dari sumber tertentu, Anda harus menambahkan sumber data ke DataWorks. Untuk informasi lebih lanjut, lihat Tambahkan dan Kelola Sumber Data.
Konfigurasikan tugas sinkronisasi batch untuk menyinkronkan data tabel tunggal
Untuk detail prosedur konfigurasi, lihat Konfigurasikan Tugas Sinkronisasi Batch Menggunakan Antarmuka Tanpa Kode dan Konfigurasikan Tugas Sinkronisasi Batch Menggunakan Editor Kode.
Untuk informasi tentang semua parameter yang dikonfigurasi dan kode yang dijalankan saat menggunakan editor kode untuk mengonfigurasi tugas sinkronisasi batch, lihat Lampiran: Kode dan Parameter.
Lampiran: Kode dan parameter
Konfigurasikan tugas sinkronisasi batch menggunakan editor kode
Jika menggunakan editor kode untuk mengonfigurasi tugas sinkronisasi batch, Anda harus mengonfigurasi parameter pembaca sumber data terkait sesuai dengan persyaratan format di editor kode. Untuk informasi lebih lanjut tentang persyaratan format, lihat Konfigurasikan Tugas Sinkronisasi Batch Menggunakan Editor Kode. Informasi berikut menjelaskan detail konfigurasi parameter untuk pembaca di editor kode.
Kode untuk Pembaca HttpFile
Dalam kode berikut, tugas sinkronisasi dikonfigurasi untuk membaca data dari file 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 dalam kode untuk Pembaca HttpFile
Parameter | Deskripsi | Diperlukan | Nilai default |
datasource | Nama sumber data. Harus sama dengan nama sumber data yang telah ditambahkan. | Ya | Tidak ada nilai default |
fileName | Path file. Jika nama file mengandung karakter khusus, Anda harus memasukkan nilai setelah pelolosan URL. Contohnya, Anda harus meloloskan spasi menjadi %20. Path file asli: Nilai parameter ini: Catatan
| Ya | Tidak ada nilai default |
bufferByteSizeInKB | Ukuran buffer file yang diunduh. Satuan: KB. | Tidak | 1024 |
requestMethod | Metode permintaan. Nilai valid: GET, POST, dan PUT. | Tidak | GET |
requestParam | Parameter ini berlaku hanya ketika parameter requestMethod disetel ke GET. Jika nilai parameter mengandung karakter khusus, nilai parameter harus diloloskan. Contoh: Nilai parameter start adalah Nilai parameter ini adalah Catatan Parameter start menentukan waktu mulai operasi saat permintaan GET diinisiasi. | Tidak | Tidak ada nilai default |
requestBody | Konten permintaan. Parameter ini berlaku hanya ketika parameter requestMethod disetel ke POST atau PUT. Parameter ini harus digunakan bersama dengan parameter Content-Type di requestHeaders. Contoh: | Tidak | Tidak ada nilai default |
requestHeaders | Header permintaan, yang ditentukan dalam pasangan kunci-nilai. Contoh: | Tidak | |
fileFormat | Tipe file sumber. Nilai valid: csv dan text. Anda dapat menentukan pemisah untuk kedua jenis file tersebut. | Tidak | Tidak ada nilai default |
column | Nama kolom dari mana Anda ingin membaca data.
Secara default, pembaca membaca semua data sebagai string berdasarkan konfigurasi berikut: Anda juga dapat mengonfigurasi parameter column dengan cara berikut: Catatan Untuk parameter column, Anda harus mengonfigurasi parameter type dan salah satu dari parameter index atau value. Anda tidak diperbolehkan mengonfigurasi ketiga parameter tersebut secara bersamaan. | Ya | "column": ["*"] |
fieldDelimiter | Pemisah kolom yang digunakan di file dari mana Anda ingin membaca data. Catatan Anda harus menentukan pemisah kolom untuk Pembaca HttpFile. Pemisah kolom default adalah koma (,). Jika Anda tidak menentukan pemisah kolom, pemisah kolom default akan digunakan. Jika pemisah tidak dapat dicetak, masukkan nilai yang dikodekan dalam Unicode, seperti \u001b dan \u007c. | Ya | , |
lineDelimiter | Pemisah baris yang digunakan di file dari mana Anda ingin membaca data. Catatan Parameter ini berlaku hanya ketika parameter fileFormat disetel ke text. | Tidak | Tidak ada nilai default |
compress | Format kompresi file. Secara default, parameter ini dibiarkan kosong, yang menunjukkan bahwa file tidak dikompresi. Format kompresi berikut didukung: GZIP, BZIP2, dan ZIP. | Tidak | Tidak ada nilai default |
encoding | Format pengkodean file dari mana Anda ingin membaca data. | Tidak | utf-8 |
nullFormat | String yang mewakili pointer null. Tidak ada string standar yang dapat mewakili pointer null di file TXT. Anda dapat menggunakan parameter ini untuk mendefinisikan string yang mewakili pointer null. Contoh:
| Tidak | Tidak ada nilai default |
skipHeader | Menentukan apakah akan melewati header di file mirip CSV jika file memiliki header. Nilai valid:
Parameter skipHeader tidak tersedia untuk file terkompresi. Format kompresi file umum adalah GZIP, BZIP2, dan ZIP. | Tidak | false |
connectTimeoutSeconds (parameter lanjutan, hanya tersedia di editor kode) | Periode timeout untuk permintaan HTTP. Satuan: detik. Jika periode timeout yang ditentukan terlampaui, tugas gagal. | Tidak | 60 |
socketTimeoutSeconds (parameter lanjutan, hanya tersedia di editor kode) | Periode timeout untuk respons HTTP. Satuan: detik. Jika interval antara dua paket lebih besar dari periode timeout yang ditentukan, tugas gagal. | Tidak | 3600 |
Referensi
Untuk informasi lebih lanjut tentang sumber data yang didukung, lihat Tipe Sumber Data yang Didukung dan Operasi Sinkronisasi.
Untuk informasi lebih lanjut tentang cara mengelola izin pada sumber data, lihat Mode Otorisasi RAM.