DataWorks Data Integration は HttpFile データソースをサポートしています。 HTTP 経由でファイルをダウンロードし、ファイルを宛先データソースに同期できます。
制限事項
HttpFile データソースは、Data Integration 専用のリソースグループのみをサポートしています。
データ型マッピング
カテゴリ | 説明 |
STRING | テキスト。 |
LONG | 整数。 |
BYTES | バイト配列。読み取られたテキストはバイト配列に変換されます。エンコード形式は UTF-8 です。 |
BOOL | ブール値。 |
DOUBLE | 10進数。 |
DATE | 日付と時刻。次の日付と時刻の形式がサポートされています。
|
データ同期タスクの開発
データ同期タスクの設定のエントリポイントと手順については、以下のセクションを参照してください。パラメータ設定の詳細については、タスクの設定タブにある各パラメータのヒントをご覧ください。
データソースの追加
特定のデータソースからデータを同期するためにデータ同期タスクを設定する前に、DataWorks にデータソースを追加する必要があります。詳細については、「データソースの追加と管理」をご参照ください。
単一テーブルのデータを同期するためのバッチ同期タスクの設定
設定手順の詳細については、「コードレス UI を使用したバッチ同期タスクの設定」および「コードエディタを使用したバッチ同期タスクの設定」をご参照ください。
コードエディタを使用してバッチ同期タスクを設定する場合に設定されるすべてのパラメータと実行されるコードについては、「付録: コードとパラメータ」をご参照ください。
付録: コードとパラメータ
コードエディタを使用したバッチ同期タスクの設定
コードエディタを使用してバッチ同期タスクを設定する場合は、コードエディタの形式要件に基づいて、関連データソースのリーダーのパラメータを設定する必要があります。形式要件の詳細については、「コードエディタを使用したバッチ同期タスクの設定」をご参照ください。以下の情報は、コードエディタのリーダーのパラメータの設定の詳細について説明しています。
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 にエスケープする必要があります。 元のファイルパス: このパラメータの値: 説明
| はい | デフォルト値なし |
bufferByteSizeInKB | ダウンロードされたファイルのバッファサイズ。単位: KB。 | いいえ | 1024 |
requestMethod | リクエストメソッド。有効な値: GET、POST、PUT。 | いいえ | GET |
requestParam | このパラメータは、requestMethod パラメータが GET に設定されている場合にのみ有効になります。パラメータ値に特殊文字が含まれている場合は、パラメータ値をエスケープする必要があります。例: start パラメータの値は このパラメータの値は 説明 start パラメータは、GET リクエストが開始されたときの操作の開始時刻を指定します。 | いいえ | デフォルト値なし |
requestBody | リクエストのコンテンツ。このパラメータは、requestMethod パラメータが POST または PUT に設定されている場合にのみ有効になります。このパラメータは、requestHeaders の Content-Type パラメータと組み合わせて使用する必要があります。例: | いいえ | デフォルト値なし |
requestHeaders | キーと値のペアで指定されたリクエストヘッダー。例: | いいえ | |
fileFormat | ソースファイルのタイプ。有効な値: csv および text。2 つのタイプのファイルに区切り文字を指定できます。 | いいえ | デフォルト値なし |
column | データを読み取るカラムの名前。
デフォルトでは、リーダーは次の設定に基づいてすべてのデータを文字列として読み取ります。 column パラメータは、次のようにも設定できます。 説明 column パラメータの場合は、type パラメータと、index または value パラメータのいずれかを設定する必要があります。3 つのパラメータを同時に設定することはできません。 | はい | "column": ["*"] |
fieldDelimiter | データを読み取るファイルで使用されるカラム区切り文字。 説明 HttpFile リーダーにはカラム区切り文字を指定する必要があります。デフォルトのカラム区切り文字はカンマ(,)です。カラム区切り文字を指定しない場合は、デフォルトのカラム区切り文字が使用されます。 区切り文字が表示できない場合は、\u001b や \u007c など、Unicode でエンコードされた値を入力します。 | はい | , |
lineDelimiter | データを読み取るファイルで使用される行区切り文字。 説明 このパラメータは、fileFormat パラメータが text に設定されている場合にのみ有効になります。 | いいえ | デフォルト値なし |
compress | ファイルの圧縮形式。デフォルトでは、このパラメータは空のままです。これは、ファイルが圧縮されていないことを示します。サポートされている圧縮形式は、GZIP、BZIP2、ZIP です。 | いいえ | デフォルト値なし |
encoding | データを読み取るファイルのエンコード形式。 | いいえ | utf-8 |
nullFormat | ヌルポインタを表す文字列。TXT ファイルでは、標準の文字列でヌルポインタを表すことはできません。このパラメータを使用して、ヌルポインタを表す文字列を定義できます。例:
| いいえ | デフォルト値なし |
skipHeader | CSV のようなファイルにヘッダーがある場合に、ヘッダーをスキップするかどうかを指定します。有効な値:
skipHeader パラメータは、圧縮ファイルでは使用できません。一般的なファイル圧縮形式は、GZIP、BZIP2、ZIP です。 | いいえ | false |
connectTimeoutSeconds (詳細パラメータ、コードエディタでのみ使用可能) | HTTP リクエストのタイムアウト期間。単位: 秒。指定されたタイムアウト期間を超えると、タスクは失敗します。 | いいえ | 60 |
socketTimeoutSeconds (詳細パラメータ、コードエディタでのみ使用可能) | HTTP レスポンスのタイムアウト期間。単位: 秒。2 つのパケットの間隔が指定されたタイムアウト期間よりも長い場合、タスクは失敗します。 | いいえ | 3600 |
関連情報
サポートされているデータソースの詳細については、「サポートされているデータソースの種類と同期操作」をご参照ください。
データソースの権限を管理する方法の詳細については、「RAM 認証モード」をご参照ください。