All Products
Search
Document Center

DataWorks:HttpFile

Last Updated:Mar 01, 2026

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:

  • yyyy-MM-dd HH:mm:ss

  • yyyy-MM-dd

  • HH:mm:ss

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

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: /file/test abc.csv

Nilai untuk parameter ini: /file/test%20abc.csv

Catatan
  • Jalur file dapat berisi berbagai karakter khusus, seperti spasi, #, dan %. Metode encoding untuk karakter khusus berbeda-beda. Karakter khusus yang didukung bergantung pada antarmuka pengguna. Untuk informasi tentang cara meng-encode karakter khusus, lihat HTML URL Encoding Reference.

  • Jalur akses akhir merupakan gabungan dari nama domain URL sumber data dan jalur file.

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 2024-03-25 17:06:54

Nilai untuk parameter ini: start=2024-03-25%2017:06:54

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:

{
 "requestBody":"{\"a\":\"b\"}",
 "requestHeaders": {
 "Content-Type": "application/json"
 }
}

Tidak

Tidak ada

requestHeaders

Header permintaan. Tentukan parameter ini sebagai pasangan kunci-nilai. Contohnya:

{
 "Content-Type": "application/json"
}

Tidak

{
 "User-Agent": "DataX Http File Reader"
}

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:

  • type menentukan tipe data dari data sumber.

  • index menentukan nomor kolom (dimulai dari 0) dalam file teks tempat data dibaca.

  • value menentukan nilai konstan. Jika Anda mengatur parameter ini, reader akan mengisi kolom dengan nilai konstan yang ditentukan alih-alih membaca data dari file sumber.

Secara default, Anda dapat membaca semua data sebagai tipe STRING. Konfigurasinya sebagai berikut.

"column": ["*"]

Anda dapat menentukan informasi untuk bidang column. Konfigurasinya sebagai berikut.

"column":
    {
       "type": "long",
       "index": 0    // Membaca bidang bilangan bulat dari kolom pertama file teks HttpFile.
    },
    {
       "type": "string",
       "value": "alibaba"  // Menghasilkan bidang string dengan nilai "alibaba" dari dalam reader HttpFile sebagai bidang saat ini.
    }
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:

  • nullFormat:"null": Menginterpretasikan string "null" dalam data sumber sebagai nilai null selama sinkronisasi data.

  • nullFormat:"\u0001": Merepresentasikan "karakter tak tercetak". Jika data sumber adalah string "\u0001", Data Integration memperlakukannya sebagai bidang null.

  • Jika parameter "nullFormat" tidak dikonfigurasi, data sumber ditulis ke tujuan apa adanya tanpa konversi apa pun.

Tidak

Tidak ada

skipHeader

File mirip CSV mungkin memiliki baris header. Anda dapat memilih apakah akan melewatkan baris header selama sinkronisasi data.

  • true: Dilewati.

  • false: Tidak dilewati.

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