Web サイトエントリポイント
デバイスから HTTP リクエストを受け付け、HTTP もしくは HTTPS で転送先へリクエストを転送します。転送先としてホスト (プロトコル、ホスト名、ポート番号) を設定して、すべてのパスに転送できます。デバイスの状況に応じて、転送先のパスを変更するユースケースに向いています。
Web サイトエントリポイントは、Unified Endpoint を経由して利用できません
パスをあらかじめ登録する必要がありません
HTTP エントリポイントとは異なり、パスをあらかじめ登録する必要がありません。たとえば example.com
を指定すると、http://beam.soracom.io:18080/path/to/target
に送信されたデータは https://example.com/path/to/target
に転送されます。
Web サイトエントリポイントを設定する
Web サイトエントリポイントで設定できる項目は以下のとおりです。
項目 | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
任意の名前を入力します。 同じ名前の設定を追加できます は、エントリポイントの一意のキーとして扱われません。ほかのエントリポイントと同じ名前を設定できます。 | |||||||||
この設定の有効 / 無効を切り替えます。 | |||||||||
エントリポイントで受け付けたリクエストの転送先を設定します。
パスをあらかじめ登録する必要がありませんHTTP エントリポイントとは異なり、パスをあらかじめ登録する必要がありません。たとえば | |||||||||
転送先へのリクエストに追加するヘッダーを設定します。ヘッダーの設定は、HTTP エントリポイントと同様です。詳しくは、HTTP エントリポイントの [ヘッダ操作] を参照してください。 |
SORACOM CLI / SORACOM API の場合
グループ設定に Beam のエントリポイントを追加するコマンドについては、SORACOM Beam を有効化する の SORACOM CLI / SORACOM API の場合 を参照してください。
ここでは、HTTP エントリポイントを追加する場合のリクエストボディに指定する key
と value
のペアを説明します。なお、この key
と value
のペアは、Object の要素として指定します。
key | value の型 | value |
---|---|---|
http://beam.soracom.io:18080 | Object | Web サイトエントリポイントの Object を参照してください。 |
SORACOM CLI のコマンド例:
$ soracom groups put-config --group-id {group_id} --namespace SoracomBeam \
--body '[
{
"key": "http://beam.soracom.io:18080",
"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"
}
}
]'
SORACOM CLI や API で設定を更新するときは
HTTP エントリポイントの設定を部分的に更新するときは、更新しない設定も含めて、すべての設定を漏れなく指定してください。更新する設定だけを指定すると、省略した設定は初期値に戻ります。
想定していない値を指定した場合の動作は、定義されていません。SORACOM CLI / SORACOM API で設定を変更したあとで、SORACOM ユーザーコンソールで意図通りに設定されていることを確認してください。
Web サイトエントリポイントの Object
以下の key
と value
を指定します。なお、この key
と value
のペアは、通常の JSON Object として指定します。
key | value の型 | value | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | String | Beam には同じ種類のエントリポイントを複数設定できます。設定を識別するために名前を入力します。 同じ名前の設定を追加できます は、エントリポイントの一意のキーとして扱われません。ほかのエントリポイントと同じ名前を設定できます。 | ||||||||||||
enabled | Boolean | このエントリポイントの有効 / 無効を設定します。
| ||||||||||||
destination | String | エントリポイントで受け付けたリクエストの転送先 (URL) を入力します。例: https://beamtest.soracom.io/ | ||||||||||||
addSubscriberHeader | Boolean | 転送先へのリクエストに
| ||||||||||||
addSimIdHeader | Boolean | 転送先へのリクエストに
| ||||||||||||
addMsisdnHeader | Boolean | 転送先へのリクエストに
| ||||||||||||
addEquipmentHeader | Boolean | 転送先へのリクエストに
| ||||||||||||
addSignature | Boolean | 転送先へのリクエストに
| ||||||||||||
psk.$credentialsId | String | addSignature が true のときに、署名に利用する事前共有鍵の認証情報 IDを指定します。認証情報 ID は、認証情報ストア に事前共有鍵を登録したときに指定しています。詳しくは、署名ヘッダと事前共有鍵を使って送信元を検証する を参照してください。 | ||||||||||||
customHeaders | Object | 転送先へのリクエストヘッダーを追加、置換、削除できます。
リクエストヘッダーは大文字小文字が区別されません では、大文字小文字を区別して登録できますが、一般に、リクエストヘッダーは大文字小文字が区別されません。大文字小文字を同一視した結果、同じ値になるヘッダーを複数登録した場合の動作は保証されません。 | ||||||||||||
addAuthorizationHeader | Object | 転送先へのリクエストに
|
addAuthorizationHeader.config
の Object
HTTP エントリポイントの Object のうち、addAuthorizationHeader.config
の設定内容は、addAuthorizationHeader.type
の設定によって異なります。
addAuthorizationHeader.type
がbearer_jwt
の場合:key
value
の型value
jwtClaims
Object JSON Web Token の生成に使う情報を指定します。
例:
{ "iss": "soracom-beam@long-stack-371107.iam.gserviceaccount.com", "sub": "soracom-beam@long-stack-371107.iam.gserviceaccount.com", "aud": "https://pubsub.googleapis.com/google.pubsub.v1.Publisher" }
iat
およびexp
は、デバイスが Beam にアクセスしたときに、自動的に生成されます。credentials.$credentialsId
String 認証情報ストアに登録した Google Service Account (JSON) または 秘密鍵 (PEM) の認証情報 ID を指定します。 algorithm
String 署名アルゴリズムを指定します。
RS256
ES256
RS512
ES512
addAuthorizationHeader.type
がaws_sig_v4
の場合:key
value
の型value
service
String lambda
またはs3
を指定します。region
String AWS Lambda 関数または Amazon S3 バケットのリージョンを指定します。例: ap-northeast-1
unsignedPayload
Boolean Amazon S3 にファイルサイズが 1 MiB を超えるファイルをアップロードする可能性がある場合は、 true
を指定します。credentials.$credentialsId
String 認証情報ストアに登録した AWS IAM ロール認証情報 の認証情報 ID を指定します。 addAuthorizationHeader.type
がbearer
またはbasic
の場合:key
value
の型value
credentials.$credentialsId
String addAuthorizationHeader.type
がbearer
の場合は、認証情報ストアに登録した API トークン認証情報 または 事前共有鍵 の認証情報 ID を指定します。addAuthorizationHeader.type
がbasic
の場合は、認証情報ストアに登録した ユーザ名・パスワード認証情報 の認証情報 ID を指定します。
Web サイトエントリポイント URL
http://beam.soracom.io:18080
設定上のポートは 18080 となっており、 http://beam.soracom.io:18080 でも通信を行えますが、 http://beam.soracom.io (80 番ポート) に対して通信を行ってもよい状態となっております。
Web サイトエントリポイントにリクエストする
Web サイトエントリポイントの挙動は HTTP エントリポイントと同じです。詳しくは、HTTP エントリポイントにリクエストする を参照してください。
ポート番号に注意してください
HTTP エントリポイントと Web サイトエントリポイントは、ポート番号が異なります。
エントリポイント | ポート番号 |
---|---|
HTTP エントリポイント | 8888 |
Web サイトエントリポイント | 18080 または 80 |