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 の設定はグループに対して行います
ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。
SIM グループ画面で
をクリックします。SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。
→ の順にクリックします。
「SORACOM Beam - HTTP 設定」画面が表示されます。
以下のように設定します。
項目 値 任意の名前を入力します。例: http over ssl
→ /
を入力します。→ 「HTTPS」を選択します。 → beamtest.soracom.io
を入力します。→ 空欄のままにします。 → /
を入力します。→ オンにします。(*1) → オンにします。(*1) - (*1) HTTPS テストサーバーに GET リクエストを送信 したときにレスポンスに含まれます。HTTPS テストサーバーに POST リクエストを送信するときは、動作に影響はありません。 と をオンにすると、転送先にリクエストが転送されるときに各ヘッダーが追加されます。なお、Beam で追加されたヘッダーは、
HTTP エントリポイントの設定項目について詳しくは、HTTP エントリポイント を参照してください。
をクリックします。
IoT SIM の Beam の設定が完了しました。
デバイスで Unified Endpoint に POST リクエストを送信する
Unified Endpoint に送信した POST リクエストは、下図のように Unified Endpoint と Beam を経由して、HTTPS テストサーバーに転送されます。HTTPS テストサーバーは、転送された POST リクエストの HTTP ボディ (ペイロード) に含まれる情報を加工してレスポンスを返します。
Beam の利用料金が発生します
Beam では、リクエストを送信するとリクエスト単位で利用料金が発生します。なお、Beam には無料利用枠があるため、無料利用枠内の利用であれば、Beam 利用料金が発生しません。詳しくは、SORACOM Beam の料金プラン を参照してください。
「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 エントリポイントで
や 、 などをオンにすると、リクエストの種類 (POST リクエスト、GET リクエストなど) によらず、リクエストが Beam で転送されるときにリクエストヘッダーが追加されます。ただし、HTTPS テストサーバーに POST リクエストでリクエストヘッダーを送信しても、HTTPS テストサーバーからのレスポンスボディにはヘッダーの情報は含まれません。
Beam の設定を無効化する
Beam では、リクエストを送信するとリクエスト単位で利用料金が発生します。Beam を使わない場合は、エントリポイントの設定を無効化するか、IoT SIM をグループから解除してください。
- エントリポイントの設定を無効化する手順については、エントリポイントを無効化する を参照してください。
- IoT SIM をグループから解除 (離脱) する手順については、グループ設定を解除 (離脱) する を参照してください。