すべてのプロダクト
Search
ドキュメントセンター

DataWorks:HttpFile データソース

最終更新日:Jan 11, 2025

DataWorks Data Integration は HttpFile データソースをサポートしています。 HTTP 経由でファイルをダウンロードし、ファイルを宛先データソースに同期できます。

制限事項

HttpFile データソースは、Data Integration 専用のリソースグループのみをサポートしています。

データ型マッピング

カテゴリ

説明

STRING

テキスト。

LONG

整数。

BYTES

バイト配列。読み取られたテキストはバイト配列に変換されます。エンコード形式は UTF-8 です。

BOOL

ブール値。

DOUBLE

10進数。

DATE

日付と時刻。次の日付と時刻の形式がサポートされています。

  • yyyy-MM-dd HH:mm:ss

  • yyyy-MM-dd

  • HH:mm:ss

データ同期タスクの開発

データ同期タスクの設定のエントリポイントと手順については、以下のセクションを参照してください。パラメータ設定の詳細については、タスクの設定タブにある各パラメータのヒントをご覧ください。

データソースの追加

特定のデータソースからデータを同期するためにデータ同期タスクを設定する前に、DataWorks にデータソースを追加する必要があります。詳細については、「データソースの追加と管理」をご参照ください。

単一テーブルのデータを同期するためのバッチ同期タスクの設定

付録: コードとパラメータ

コードエディタを使用したバッチ同期タスクの設定

コードエディタを使用してバッチ同期タスクを設定する場合は、コードエディタの形式要件に基づいて、関連データソースのリーダーのパラメータを設定する必要があります。形式要件の詳細については、「コードエディタを使用したバッチ同期タスクの設定」をご参照ください。以下の情報は、コードエディタのリーダーのパラメータの設定の詳細について説明しています。

HttpFile リーダーのコード

次のコードでは、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, // バッファサイズ(KB)
        "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"
      }
    ]
  }
}

HttpFile リーダーのコードのパラメータ

パラメータ

説明

必須

デフォルト値

datasource

データソースの名前。追加されたデータソースの名前と同じである必要があります。

はい

デフォルト値なし

fileName

ファイルパス。ファイル名に特殊文字が含まれている場合は、URL エスケープ後の値を入力する必要があります。

たとえば、スペースは %20 にエスケープする必要があります。

元のファイルパス: /file/test abc.csv

このパラメータの値: /file/test%20abc.csv

説明
  • ファイルパスには、スペース、シャープ記号(#)、パーセント記号(%)など、複数の特殊文字を含めることができます。エスケープ方法は、特殊文字によって異なります。サポートされている特殊文字は DataWorks コンソールで確認できます。エスケープ方法の詳細については、「HTML Uniform Resource Locators」を参照してください。

  • 最終的なアクセス パスは、データソースの URL ドメイン名とファイルパスで構成されます。

はい

デフォルト値なし

bufferByteSizeInKB

ダウンロードされたファイルのバッファサイズ。単位: KB。

いいえ

1024

requestMethod

リクエストメソッド。有効な値: GET、POST、PUT。

いいえ

GET

requestParam

このパラメータは、requestMethod パラメータが GET に設定されている場合にのみ有効になります。パラメータ値に特殊文字が含まれている場合は、パラメータ値をエスケープする必要があります。例:

start パラメータの値は 2024-03-25 17:06:54 です。

このパラメータの値は start=2024-03-25%2017:06:54 です。

説明

start パラメータは、GET リクエストが開始されたときの操作の開始時刻を指定します。

いいえ

デフォルト値なし

requestBody

リクエストのコンテンツ。このパラメータは、requestMethod パラメータが POST または PUT に設定されている場合にのみ有効になります。このパラメータは、requestHeaders の Content-Type パラメータと組み合わせて使用する必要があります。例:

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

いいえ

デフォルト値なし

requestHeaders

キーと値のペアで指定されたリクエストヘッダー。例:

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

いいえ

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

fileFormat

ソースファイルのタイプ。有効な値: csv および text。2 つのタイプのファイルに区切り文字を指定できます。

いいえ

デフォルト値なし

column

データを読み取るカラムの名前。

  • type パラメータは、ソースデータ型を指定します。

  • index パラメータは、ソースファイルのカラムの ID を 0 から始まる数値で指定します。

  • value パラメータは、カラムが定数カラムの場合にカラム値を指定します。リーダーは、ソースから定数カラムを読み取りません。代わりに、指定したカラム値に基づいて定数カラムにデータを生成します。

デフォルトでは、リーダーは次の設定に基づいてすべてのデータを文字列として読み取ります。

"column": ["*"]

column パラメータは、次のようにも設定できます。

"column":
    {
       "type": "long",
       "index": 0    // データを読み取るファイルの最初の INT 型カラム。
    },
    {
       "type": "string",
       "value": "alibaba"  // 現在のカラムの値。このコードでは、値は定数 alibaba です。
    }
説明

column パラメータの場合は、type パラメータと、index または value パラメータのいずれかを設定する必要があります。3 つのパラメータを同時に設定することはできません。

はい

"column": ["*"]

fieldDelimiter

データを読み取るファイルで使用されるカラム区切り文字。

説明

HttpFile リーダーにはカラム区切り文字を指定する必要があります。デフォルトのカラム区切り文字はカンマ(,)です。カラム区切り文字を指定しない場合は、デフォルトのカラム区切り文字が使用されます。

区切り文字が表示できない場合は、\u001b\u007c など、Unicode でエンコードされた値を入力します。

はい

,

lineDelimiter

データを読み取るファイルで使用される行区切り文字。

説明

このパラメータは、fileFormat パラメータが text に設定されている場合にのみ有効になります。

いいえ

デフォルト値なし

compress

ファイルの圧縮形式。デフォルトでは、このパラメータは空のままです。これは、ファイルが圧縮されていないことを示します。サポートされている圧縮形式は、GZIPBZIP2ZIP です。

いいえ

デフォルト値なし

encoding

データを読み取るファイルのエンコード形式。

いいえ

utf-8

nullFormat

ヌルポインタを表す文字列。TXT ファイルでは、標準の文字列でヌルポインタを表すことはできません。このパラメータを使用して、ヌルポインタを表す文字列を定義できます。例:

  • nullFormat:"null" を指定すると、リーダーは表示可能な文字列 null をヌル値と見なします。

  • nullFormat:"\u0001" を指定すると、リーダーは表示できない文字列 \u0001 をヌル値と見なします。

  • nullFormat パラメータを設定しない場合、リーダーはソースデータを変換しません。

いいえ

デフォルト値なし

skipHeader

CSV のようなファイルにヘッダーがある場合に、ヘッダーをスキップするかどうかを指定します。有効な値:

  • true: ヘッダーをスキップすることを示します。

  • false: ヘッダーをスキップしないことを示します。

skipHeader パラメータは、圧縮ファイルでは使用できません。一般的なファイル圧縮形式は、GZIPBZIP2ZIP です。

いいえ

false

connectTimeoutSeconds

(詳細パラメータ、コードエディタでのみ使用可能)

HTTP リクエストのタイムアウト期間。単位: 秒。指定されたタイムアウト期間を超えると、タスクは失敗します。

いいえ

60

socketTimeoutSeconds

(詳細パラメータ、コードエディタでのみ使用可能)

HTTP レスポンスのタイムアウト期間。単位: 秒。2 つのパケットの間隔が指定されたタイムアウト期間よりも長い場合、タスクは失敗します。

いいえ

3600

関連情報