DataWorks Data Integration は HttpFile データソースをサポートしています。HTTP プロトコルを使用してファイルをダウンロードし、ターゲットデータソースに同期できます。
制限事項
HttpFile データソースは、サーバーレスリソースグループ (推奨) と Data Integration 専用リソースグループをサポートしています。
サポートされているフィールドタイプ
データの型 | 説明 |
STRING | テキストタイプ。 |
LONG | 整数。 |
BYTES | バイト配列。テキストコンテンツは UTF-8 エンコードされたバイト配列に変換されます。 |
BOOL | ブール型。 |
DOUBLE | 小数。 |
DATE | 日付と時刻の型。以下の形式がサポートされています。
|
データソースの追加
DataWorks で同期タスクを開発する前に、「データソース管理」の手順に従って、必要なデータソースを DataWorks に追加する必要があります。DataWorks コンソールでパラメーターの説明を確認し、データソースを追加する際のパラメーターの意味を理解できます。
データ同期タスクの開発: HttpFile 同期ガイド
同期タスクの設定のエントリポイントと手順については、以下の設定ガイドをご参照ください。
単一テーブルのオフライン同期タスクの構成
詳細については、「コードレス UI でのタスクの構成」と「コードエディタでのタスクの構成」をご参照ください。
コードエディタのすべてのパラメーターとスクリプトデモについては、「付録: HttpFile スクリプトデモとパラメーターの説明」をご参照ください。
付録: 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,
"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"
}
]
}
}リーダーのスクリプトパラメーター
パラメーター | 説明 | 必須 | デフォルト値 |
datasource | データソースの名前。この名前は、データソース管理ページで作成した HttpFile データソースの名前と同じである必要があります。 | Yes | None |
fileName | ファイルパス。パスに特殊文字や中国語文字が含まれる場合、URL エンコードされた値を入力する必要があります。 例: スペースは %20 としてエンコードされます。 ファイルパス: このパラメーターの値: 説明
| Yes | None |
bufferByteSizeInKB | ファイルダウンロードのバッファーサイズ。単位: KB。 | No | 1024 |
requestMethod | GET、POST、PUT がサポートされています。 | No | GET |
requestParam | このパラメーターは、requestMethod パラメーターが GET に設定されている場合にのみ有効です。パラメーター値に特殊文字や中国語文字が含まれる場合、値は URL エンコードされている必要があります。例: start パラメーターの値は このパラメーターの値: 説明 start パラメーターは、GET リクエストを開始する際の操作の開始時刻を指定します。 | No | None |
requestBody | リクエストボディ。このパラメーターは、requestMethod パラメーターが POST または PUT に設定されている場合にのみ有効です。また、requestHeaders の Content-Type とともに使用する必要があります。例: | No | None |
requestHeaders | リクエストヘッダー。このパラメーターをキーと値のペアとして指定します。例: | No | |
fileFormat | ソースファイルのタイプ。有効な値: CSV および TEXT。両方の形式でカスタム区切り文字を指定できます。 | No | None |
column | 読み取るフィールドのリスト:
デフォルトでは、すべてのデータを STRING 型として読み取ることができます。構成は以下のとおりです。 column フィールドの情報を指定できます。構成は以下のとおりです。 重要 指定する column 情報については、type を指定する必要があります。また、index または value のいずれかを指定する必要があり、両方を指定することはできません。 | Yes | すべてのフィールドは STRING 型として読み取られます。 |
fieldDelimiter | フィールド区切り文字。 説明 HttpFile リーダーがデータを読み取る際には、フィールド区切り文字を指定する必要があります。このパラメーターを指定しない場合、デフォルトの英語のコンマ (,) が使用されます。UI もデフォルトで (,) に設定されます。 区切り文字が印字不可能な文字である場合は、その Unicode 表現を入力します。例: \u001b または \u007c。 | Yes | , |
lineDelimiter | 行区切り文字。 説明 このパラメーターは、fileFormat が TEXT に設定されている場合にのみ有効です。 | No | None |
compress | テキストファイルの圧縮形式。デフォルトでは、このパラメーターは空のままであり、ファイルが圧縮されていないことを意味します。サポートされている形式: gzip、bzip2、zip。 | No | 非圧縮 |
encoding | ファイルのエンコード形式。 | No | utf-8 |
nullFormat | テキストファイルでは、標準文字列を使用してヌルポインタを定義することはできません。Data Integration は、どの文字列が null を表すかを定義するために nullFormat パラメーターを提供します。例:
| No | None |
skipHeader | CSV 形式のファイルにはヘッダー行がある場合があります。データ同期中にヘッダー行をスキップするかどうかを選択できます。
skipHeader パラメーターは圧縮ファイルではサポートされていません。一般的な圧縮形式には、gzip、bzip2、zip があります。 | No | false |
connectTimeoutSeconds (このパラメーターはアドバンストモードでのみ利用可能であり、コードレス UI では構成できません。) | HTTP 接続を確立するためのタイムアウト期間。単位: 秒。タイムアウト期間を超過すると、タスクは失敗します。 | No | 60 |
socketTimeoutSeconds (このパラメーターはアドバンストモードでのみ利用可能であり、コードレス UI では構成できません。) | 応答しない HTTP 接続のタイムアウト期間。単位: 秒。連続するメッセージ送信間の間隔がこの値を超過すると、タスクは失敗します。 | No | 3600 |
参考
データソースの構成の詳細については、「サポートされているデータソースと同期ソリューション」をご参照ください。
データソース権限管理の詳細については、「RAM ロール権限付与モード」をご参照ください。