Treasure Dataユーザーは、パブリックREST APIを通じてデータを取り込むことができます。Treasure Dataを使用して、データへのカスタムWebhookを作成できます。この記事では、データインポートREST APIの仕様について説明します。
データベース、テーブル、ジョブなどを制御するREST APIについては、REST APIs in Treasure Dataを参照してください。
Data Ingestion APIを使用した改善されたオプションが利用可能です。詳細については、Data Ingestion APIを使用したテーブルレコードのインポートをご覧ください。
- Treasure Dataの基本的な知識
すべてのAPIリクエストは、お客様のリージョンに適切なエンドポイントに送信する必要があります。
Treasure Dataは現時点ではアクセスを制限していません。ただし、システムの健全性を確保するために必要と判断された場合、APIへのアクセスを制限する可能性があります。
すべてのリクエストには_認証情報_を含める必要があります。認証は2つの方法で提供できます。
X-TD-Write-Key HTTPヘッダーを指定する。ヘッダー形式は次のとおりです。
X-TD-Write-Key: <APIKEY>td_write_key URLパラメータを指定する。例:
/postback/v3/event/{database}/{table}?td_write_key=<APIKEY>APIキーは、他のすべてのキー/値パラメータと同様にURLエンコードする必要があります。
ヘッダーとURLパラメータの両方が提供されている場合、ヘッダーが優先されます。
APIキーはTD Consoleから取得できます。Write Only APIキーの使用を推奨します。
{database}: URLで宛先データベース名を指定します。アルファベット、数字、または _ のみが使用できます。
{table}: URLで宛先テーブル名を指定します。アルファベット、数字、または _ のみが使用できます。
ボディとしてJSONを指定します。JSONコンテンツは、すぐにTreasure Data内のレコードになります。また、HTTPリクエストヘッダーにContent-Type: application/jsonを含めてください。
HTTP 200 : 成功
HTTP 400 : 不正なリクエスト
HTTP 403 : 禁止
POSTメソッドを介してレコードをインポートするcurlコマンドの例を次に示します。
$ curl -D a -X POST \
-H 'Content-Type: application/json' \
-H 'X-TD-Write-Key: XXXX' \
--data-binary '{"param1":"value1", "param2":1234}' \
https://in.treasuredata.com/postback/v3/event/test_db/test_tbl$ cat aHTTP/1.1 200 OK
Content-Type: application/json
Date: Thu, 03 Dec 2015 02:31:32 GMT
Content-Length: 2
Connection: keep-aliveこれにより、次のようにレコードが取り込まれます。
{
"time": "1448344701",
"param1": "value1",
"param2": 1234
}