HTTP エントリポイント
デバイスから HTTP リクエストを受け付け、HTTP もしくは HTTPS で転送先へリクエストを転送します。API エンドポイントに対して転送するのに向いています。
このエントリポイントは、設定項目のひとつであるパス (Beam エントリポイントの受付パス) がかぶらない限り、複数のエントリポイントを作成できます。
設定項目
SORACOM ユーザーコンソールの場合
- 設定名: 本設定の名前
- エントリポイント
- プロトコル: デバイスとの通信プロトコル (HTTP)
- パス: デバイスからのリクエスト受付パス
- 転送先
- プロトコル: 転送先への送信プロトコル (HTTP もしくは HTTPS から選択)
- ホスト名: 転送先の FQDN
- ポート番号: 転送先のポート番号
- パス: 転送先へのリクエストパス
- ヘッダ操作
- IMSI ヘッダ付与: 転送先へのリクエストに
x-soracom-imsi: ${IMSI}
を追加します。 - IMEI ヘッダ付与: 転送先へのリクエストに
x-soracom-imei: ${IMEI}
を追加します。 - MSISDN ヘッダ付与: 転送先へのリクエストに
x-soracom-msisdn: ${MSISDN}
を追加します。 - SIM ID ヘッダ付与: 転送先へのリクエストに
x-soracom-sim-id: ${SIM_ID}
を追加します。 - 署名ヘッダ付与: 転送先へのリクエストに
x-soracom-signature: ${signature}
を追加します。 - 事前共有鍵: 署名に利用する共通鍵を設定します。詳細は、署名ヘッダと事前共有鍵を使って送信元を検証する を参照してください。
- IMSI ヘッダ付与: 転送先へのリクエストに
- カスタムヘッダ: 転送先へのリクエストに任意の HTTP ヘッダを付与できます。
SORACOM CLI / SORACOM API の場合
soracom groups put-config
(Group:putConfigurationParameters API
) を使用します。
{namespace}
は、SoracomBeam
です。
ボディで指定するプロパティについては、以下の key
と value
のペアを配列で指定します。
"http://beam.soracom.io:8888/": { // 固定
"name": "string", // 任意の名称
"destination": "https://example.com/path/to/resource", // 通信先URL
"enabled": true | false, // エンドポイントの有効無効
"addSubscriberHeader": true, // Subscriber の情報をヘッダとして付与するか否か
"customHeaders": { // 独自HTTPヘッダ
"X-HEADER-NAME": { // 独自ヘッダの名前
"action": "replace" | "append" | "delete", // 置換、追記、削除が選択可能
"headerKey": "X-HEADER-NAME",
"headerValue": "VALUE" // ヘッダに設定する内容
}
},
"addSignature": true | false, // 検証用シグネチャを付与するか否か
"psk": "string" // 検証用シグネチャを計算する際の事前共有パスフレーズ
}
設定例
[
{
"key": "http://beam.soracom.io:8888/",
"value": {
"name": "test",
"destination": "https://beamtest.soracom.io/",
"enabled": true,
"addSubscriberHeader": true,
"customHeaders": {
"X-GROUP-NAME": {
"action": "replace",
"headerKey": "X-GROUP-NAME",
"headerValue": "TEST"
}
},
"addSignature": true,
"psk": "topsecret"
}
}
]
エントリポイント URL
http://beam.soracom.io:8888/${ご自身で設定したパス}
リクエスト
Beam はオリジナルのリクエストに対して Connection ヘッダに close を設定してリクエストを転送します。
レスポンス
Beam は転送先から返された HTTP レスポンスをそのままデバイスに返します。
実際の利用例
以下、送信するデータの形式に JSON を選択した場合のデータ送信例です。
$ curl -v -XPOST -H "Content-Type:application/json" -d "{\"key\":\"value\"}" http://beam.soracom.io:8888/
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 100.127.127.100...
* Connected to beam.soracom.io (100.127.127.100) port 8888 (#0)
> POST / HTTP/1.1
> Host: beam.soracom.io:8888
> User-Agent: curl/7.49.0
> Accept: */*
> Content-Type:application/json
> Content-Length: 15
>
* upload completely sent off: 15 out of 15 bytes
< HTTP/1.1 200 OK
< Content-Type: application/json
< Date: Wed, 21 Dec 2016 02:25:01 GMT
< Connection: close
< Transfer-Encoding: chunked
<
* Closing connection 0