Soracom

Users

ドキュメント

Funk から送信されるデータフォーマット

Funk では、クラウドサービスに応じて、以下のようなフォーマットのデータが送信されます。

AWS Lambda

Python ランタイムの場合

Python ランタイムのハンドラーは、以下のとおりです。

def lambda_handler(event, context):
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }
  • event: ユーザーが指定したデータ形式でリクエスト Body の値が設定されます。

  • context (クライアントコンテキスト): 以下のフォーマットのデータが設定されます。Python ランタイムの場合は、Python の AWS Lambda context オブジェクト 内の client_context.custom に以下のような JSON を元にした dict が設定されます。

    例:

    {
      "custom": {
        "operatorId": "OPXXXXXXXXXX",
        "coverage": "global",
        "resourceType": "Subscriber",
        "resourceId": "2950XXXXXXXXXXX",
        "sourceProtocol": "http",
        "srn": "srn:soracom:OPXXXXXXXXXX:global:Subscriber:2950XXXXXXXXXXX",
        "imsi": "2950XXXXXXXXXXX",
        "simId": "8942XXXXXXXXXXXXXXX",
        "imei": "8676XXXXXXXXXXX"
      }
    }
    

Node.js ランタイムの場合

Node.js ランタイムのハンドラーは、以下のとおりです。

exports.handler = async (event, context) => {
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};
  • event: ユーザーが指定したデータ形式でリクエスト Body の値が設定されます。

  • context (クライアントコンテキスト): 以下のフォーマットのデータが設定されます。Node.js ランタイムの場合は、Node.js の AWS Lambda context オブジェクト 内の clientContext に以下のような JSON が設定されます。

    {
      "operatorId": "OPXXXXXXXXXX",
      "coverage": "global",
      "resourceType": "Subscriber",
      "resourceId": "2950XXXXXXXXXXX",
      "sourceProtocol": "http",
      "srn": "srn:soracom:OPXXXXXXXXXX:global:Subscriber:2950XXXXXXXXXXX",
      "imsi": "2950XXXXXXXXXXX",
      "simId": "8942XXXXXXXXXXXXXXX",
      "imei": "8676XXXXXXXXXXX",
      "custom": {
        "operatorId": "OPXXXXXXXXXX",
        "coverage": "global",
        "resourceType": "Subscriber",
        "resourceId": "2950XXXXXXXXXXX",
        "sourceProtocol": "http",
        "srn": "srn:soracom:OPXXXXXXXXXX:global:Subscriber:2950XXXXXXXXXXX",
        "imsi": "2950XXXXXXXXXXX",
        "simId": "8942XXXXXXXXXXXXXXX",
        "imei": "8676XXXXXXXXXXX"
      }
    }
    

Azure Functions / Google Cloud Functions

以下のデータフォーマットが渡されます。

  • method: 'POST' が指定されます。
  • body: 指定したデータ形式でリクエスト Body の値が設定されます。
  • headers: user-agent には 'SORACOM Funk' が指定されます。content-type には 'application/json' が指定されます。x-soracom-token には JWT 形式のトークンが指定されます。