Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

Bulk-Write CSV Data

単一の HTTP POST で多数のエントリを CSV 形式でチャネルに書き込みます

説明

デバイスの電力を節約したり、グループチャネルの更新を行うには、一括更新API を使用できます。一括更新API を使用する場合は、時間をかけてデータを収集し、そのデータをThingSpeak™にアップロードします。JSON 形式でデータを書き込むには、 Bulk-Write JSON Dataを参照してください。単一のエントリを作成するには、 Write Dataを参照してください。

メモ

React appを設定し、 Test FrequencyOn Data Insertionに設定すると、React はTG が実行されたときに一括書き込み要求ごとに 1 回だけトリガーされます。 Condition Typeは、 Condition が複数回一致した場合でも、 Condition と一致します。

要求

HTTP メソッド

POST

URL

https://api.thingspeak.com/channels/<channel_id>/bulk_update.csv

URLパラメーター

名前説明

<channel_id>

(必須) 対象のチャネルのチャネルID。

≪URLの例:≫ https://api.thingspeak.com/channels/999990/bulk_update.csv

Content-Type

application/x-www-form-urlencoded

Bodyパラメーター

名前説明値のタイプ
write_api_key

(必須) この特定のチャネルの書き込み API キーを指定します。書き込み API キーは、チャネルビューのAPI Keysタブにあります。

string

time_format

(必須) time_format=absoluteでイベントの絶対時間を指定するか、 time_format=relativeで測定間の時間を指定します。

文字列absoluteまたはrelative

updates

チャネルに投稿するバルク データ。連続するエントリはパイプ文字 (|) で区切ります。各更新を絶対日時または秒数で開始します。連続するフィールドはカンマで区切ります

パラメーターの更新を参照してください。

パラメーターの更新

アップデートには、チャネルに投稿するデータが含まれています。パラメーターは、表に示されている順序で各更新に順次表示されます。時間仕様は各アップデートに 1 つだけ表示されます。

名前説明値のタイプ
timestamp

(必須) time_format=absoluteの場合は、ISO 8601、EPOCH、または MYSQL 形式で日時を指定します。time_format=relativeの場合は、最後のエントリからの経過秒数を指定します。タイムスタンプはチャネル内で一意である必要があります。

日時または整数

フィールド<X>データ

(必須) フィールド X データ。X はフィールド ID です。

任意

緯度

(必須) 度単位の緯度。 -90から90までの値として指定します。

小数

経度

(必須) 度単位の経度。 -180から180までの値として指定します。

小数

標高

(必須) メートル単位の標高

整数

ステータス(必須) ステータスフィールド入力のメッセージstring

Bodyフォーマット

各 CSV 一括書き込みには、書き込み API キーと時刻形式の仕様が含まれています。それぞれの一括書き込みには複数の更新を含めることができます。連続するエントリはパイプ文字 (|) で区切ります。有効なデータを持つ最後のパラメーターまでの各連続パラメーターにデータまたは空白のエントリを指定します。

write_api_key=WRITE_API_KEY&time_format=TIME_FORMAT&updates=TIMESTAMP,FIELD1_VALUE,FIELD2_VALUE,FIELD3_VALUE,FIELD4_VALUE,FIELD5_VALUE,FIELD6_VALUE,FIELD7_VALUE,FIELD8_VALUE,LATITUDE,LONGITUDE,ELEVATION,STATUS | DATETIME_STAMP_OR_SECONDS_FROM_LAST_ENTRY,FIELD1_VALUE,FIELD2_VALUE,FIELD3_VALUE,FIELD4_VALUE,FIELD5_VALUE,FIELD6_VALUE,FIELD7_VALUE,FIELD8_VALUE,LATITUDE,LONGITUDE,ELEVATION,STATUS
絶対時間形式の指定
write_api_key=XXXXXXXXXXXXXXXX&time_format=absolute&updates=2018-06-14T12:12:22-0500,1,,3,0.4,1.5,1.6,,1.8,40.0,5.4,0,wet|2018-01-30T10:26:23-0500,1.2,2.3,3,4,5,6,7,8,42.0,0.5,50,falling
相対時間形式の指定
write_api_key=XXXXXXXXXXXXXXXX&time_format=relative&updates=4,1.1,2,0.3,,,6,7.7,0.8,41.2,19.5,100,ok|3,1,2,3,4,5,6,7,8,41.2,25.1,110,rising

対応

成功

HTTPステータスコード

200 OK

本文

応答は成功を示す JSON オブジェクトです。

{
    "success": true
}

エラー

完全なリストについては、エラー コード を参照してください。

制限

  • 1 回の一括更新のメッセージ数は、無料アカウントのユーザーの場合は 960 メッセージ、有料アカウントのユーザーの場合は 14,400 メッセージに制限されています。連続した一括更新呼び出し間の時間間隔は 15 秒以上である必要があります。

  • MQTT サブスクリプションは、一括書き込み操作によるチャネルへの更新を報告しません。

  • すべての更新では同じ時刻形式を使用する必要があります。

  • タイムスタンプはすべて一意でなければなりません。重複したタイムスタンプを送信すると、すべての更新が拒否されます。それ以外の場合は、すでにチャネル内にあるタイムスタンプを持つ更新のみが拒否されます。

すべて展開する

POSTMANを構成して、RESTful API 呼び出しを試すことができます。HTTP POST要求を送信して、CSV 形式のデータを使用してチャネルフィードを一括更新には、 POSTMANを構成します。

  1. HTTP 動詞のドロップダウン リストから [POST] を選択します。

  2. URL を入力し、 <channel_id>をチャネルID に変更します。

    https://api.thingspeak.com/channels/<channel_id>/bulk_update.csv

  3. x-www-form-urlencoded を選択します。

  4. write_api_key」セクションに「Key」と入力し、 「value」セクションにチャネルの書き込み API キーを入力します。

  5. time_format」セクションに「time_format」と入力し、 「relative」セクションに「value」と入力します。

  6. updates」セクションに「Key」と入力し、次に「0,2,,,,,,,,,,,|2,2,,,,,,,,,,,|1,16,,,,,,,,,,,|2,2,,,,,,,,,,,|5,164,,,,,,,,,,,|1,22,,,,,,,,,,,|3,116,,,,,,,,,,,|」と入力します。

    valueセクション。空白のエントリごとにカンマを使用します。

  7. 要求を送信します。

要求に対する応答は、成功を示す JSON オブジェクトです。

{
    "success": true
}

19:07:20 にチャネルへの 1 回の呼び出しでポストされた 6 つの値がプロットに表示されます。最後のエントリには、要求が送信されたときのタイムスタンプが含まれています。相対タイムスタンプを持つ要求内の各更新は、最後のエントリから時間を遡って減分されます。

リアルタイム クロックが組み込まれているデバイスの場合、各エントリの相対タイムスタンプを指定できます。time_format=relativeを指定します。各エントリは、前回の測定からの時間 (秒) から始まります。

POST /channels/266256/bulk_update.csv HTTP/1.1
Host: api.thingspeak.com
Content-Type: application/x-www-form-urlencoded
time_format: relative


write_api_key=JNWIVP3CD54ZGI9X&time_format=absolute&updates=2018-01-30T10%3A26%3A2-0500%2C2%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%7C2018-01-30+10%3A26%3A23-0500%2C2%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%7C2018-01-31+10%3A27%3A2-0500%2C16%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%7C2018-01-31+11%3A26%3A32-0500%2C2%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%7C2018-01-31+11%3A27%3A22-0500%2C164%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C

メッセージは URL エンコードされている必要があります。 %2C および %7C は、「,」および「|」の URL エンコード文字を表します。それぞれ。

要求に対する応答は、成功を示す JSON オブジェクトです。

{
    "success": true
}
18:05:37 にチャネルへの 1 回の呼び出しでポストされた 6 つの値がプロットに表示されます。