全部产品
Search
文档中心

DataWorks:Sumber data HttpFile

更新时间:Jul 02, 2025

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:

  • yyyy-MM-dd HH:mm:ss

  • yyyy-MM-dd

  • HH:mm:ss

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

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

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

Catatan
  • Path file dapat berisi beberapa karakter khusus, seperti spasi, tanda pagar (#), dan tanda persen (%). Metode pelolosan bervariasi berdasarkan karakter khusus tersebut. Anda dapat melihat karakter khusus yang didukung di konsol DataWorks. Untuk informasi tentang metode pelolosan, lihat HTML Uniform Resource Locators.

  • Path akses akhir terdiri dari nama domain URL sumber data dan path file.

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

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

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:

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

Tidak

Tidak ada nilai default

requestHeaders

Header permintaan, yang ditentukan dalam pasangan kunci-nilai. Contoh:

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

Tidak

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

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.

  • Parameter type menentukan tipe data sumber.

  • Parameter index menentukan ID kolom di file sumber, dimulai dari 0.

  • Parameter value menentukan nilai kolom jika kolom tersebut adalah kolom konstan. Pembaca tidak membaca kolom konstan dari sumber. Sebagai gantinya, pembaca menghasilkan data di kolom konstan berdasarkan nilai kolom yang Anda tentukan.

Secara default, pembaca membaca semua data sebagai string berdasarkan konfigurasi berikut:

"column": ["*"]

Anda juga dapat mengonfigurasi parameter column dengan cara berikut:

"column":
    {
       "type": "long",
       "index": 0    // Kolom pertama bertipe INT di file dari mana Anda ingin membaca data. 
    },
    {
       "type": "string",
       "value": "alibaba"  // Nilai kolom saat ini. Dalam kode ini, nilainya adalah konstanta alibaba. 
    }
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:

  • Jika Anda menentukan nullFormat:"null", pembaca menganggap string yang dapat dicetak null sebagai nilai null.

  • Jika Anda menentukan nullFormat:"\u0001", pembaca menganggap string yang tidak dapat dicetak \u0001 sebagai nilai null.

  • Jika Anda tidak mengonfigurasi parameter nullFormat, pembaca tidak mengonversi data sumber.

Tidak

Tidak ada nilai default

skipHeader

Menentukan apakah akan melewati header di file mirip CSV jika file memiliki header. Nilai valid:

  • true: menunjukkan bahwa header dilewati.

  • false: menunjukkan bahwa header tidak dilewati.

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