Soracom

Users

ドキュメント
Home ドキュメント SORACOM Beam Getting Started

Unified Endpoint を経由して HTTPS テストサーバーに POST リクエストでデータを送信する

Unified Endpoint と、Beam の HTTP エントリポイント、それに加えてソラコムが用意する HTTPS テストサーバー を使って、Beam で POST リクエストを転送する際の動作を確認してみましょう。

なお、Unified Endpoint と HTTPS テストサーバーを利用する際は、特別な設定は必要ありません。ここでは、HTTP エントリポイントの設定を追加して、デバイスから POST リクエストを送信します。

HTTPS テストサーバーは HTTP リクエストの種類によって動作が異なります

HTTPS テストサーバーは、HTTP リクエストの種類に応じて以下のようにレスポンスを返します。

HTTP リクエストの種類HTTPS テストサーバー (https://beamtest.soracom.io) のレスポンス
POST リクエストPOST リクエストの HTTP ボディ (ペイロード) に含まれる情報が加工されて返されます。
GET リクエストGET リクエストの HTTP ヘッダーに含まれる情報が加工されて返されます。
デバイスが POST リクエストを送信する先は Unified Endpoint です

デバイスが POST リクエストを送信する先は、Unified Endpoint (http://uni.soracom.io) です。デバイスは、Beam の HTTP エントリポイントや、HTTPS テストサーバーの URL を意識する必要がないことがポイントです。

HTTP エントリポイントの設定を追加する

SIM グループに HTTP エントリポイントの設定を追加して、IoT SIM を SIM グループに所属させます。

Beam の設定はグループに対して行います

ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。

  1. SIM グループ画面で [SORACOM Beam 設定] をクリックします。

    SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。

  2. [+設定を追加する][HTTP エントリポイント] の順にクリックします。

    「SORACOM Beam - HTTP 設定」画面が表示されます。

  3. 以下のように設定します。

    項目
    [設定名]任意の名前を入力します。例: http over ssl
    [エントリポイント][パス]/ を入力します。
    [転送先][プロトコル]「HTTPS」を選択します。
    [転送先][ホスト名]beamtest.soracom.io を入力します。
    [転送先][ポート番号]空欄のままにします。
    [転送先][パス]/ を入力します。
    [ヘッダ操作][IMSI ヘッダ]オンにします。(*1)
    [ヘッダ操作][SIM ID ヘッダ]オンにします。(*1)
    • (*1) [IMSI ヘッダ][SIM ID ヘッダ] をオンにすると、転送先にリクエストが転送されるときに各ヘッダーが追加されます。なお、Beam で追加されたヘッダーは、HTTPS テストサーバーに GET リクエストを送信 したときにレスポンスに含まれます。HTTPS テストサーバーに POST リクエストを送信するときは、動作に影響はありません。

    HTTP エントリポイント HTTP エントリポイント

    HTTP エントリポイントの設定項目について詳しくは、HTTP エントリポイント を参照してください。

  4. [保存] をクリックします。

  5. IoT SIM が所属するグループを切り替えます。

    IoT SIM の Beam の設定が完了しました。

デバイスで Unified Endpoint に POST リクエストを送信する

Unified Endpoint に送信した POST リクエストは、下図のように Unified Endpoint と Beam を経由して、HTTPS テストサーバーに転送されます。HTTPS テストサーバーは、転送された POST リクエストの HTTP ボディ (ペイロード) に含まれる情報を加工してレスポンスを返します。

Beam の利用料金が発生します

Beam では、リクエストを送信するとリクエスト単位で利用料金が発生します。なお、Beam には無料利用枠があるため、無料利用枠内の利用であれば、Beam 利用料金が発生しません。詳しくは、SORACOM Beam の料金プラン を参照してください。

  1. 「HTTP エントリポイントを利用する設定を行った IoT SIM」を利用するデバイスで、Unified Endpoint (http://uni.soracom.io) に POST リクエストを送信します。

    POST リクエストの例:

    $ curl http://uni.soracom.io -d 'Hello from Soracom SIM'
    
    Success: Hello from Soracom SIM
    

想定通りに動作しない場合は、エラーログを確認してください。詳しくは、エラーログを確認する を参照してください。

HTTP エントリポイントを利用しても HTTPS テストサーバーにデータを送信できます

Unified Endpoint (http://uni.soracom.io) を使用せずに、HTTP エントリポイント (http://beam.soracom.io:8888) に POST リクエストを送信しても同様に動作します。

Unified Endpoint に送信したデータは Harvest Data、Funnel、Funk にも転送できます

Unified Endpoint に送信したデータは Harvest Data、Funnel、Funk にも転送 (複製) できます。デバイスの設定を変更することなく、ユーザーコンソールで送信先を変更できて便利です。POST リクエストでデータを送信する場合は、Unified Endpoint に送信することを推奨します。

レスポンスを生成するのは HTTPS テストサーバーです

HTTP エントリポイントで [IMSI ヘッダ][SIM ID ヘッダ][カスタムヘッダ] などをオンにすると、リクエストの種類 (POST リクエスト、GET リクエストなど) によらず、リクエストが Beam で転送されるときにリクエストヘッダーが追加されます。

ただし、HTTPS テストサーバーに POST リクエストでリクエストヘッダーを送信しても、HTTPS テストサーバーからのレスポンスボディにはヘッダーの情報は含まれません。

Beam の設定を無効化する

Beam では、リクエストを送信するとリクエスト単位で利用料金が発生します。Beam を使わない場合は、エントリポイントの設定を無効化するか、IoT SIM をグループから解除してください。