# AWS Lambda
AWS Lambda (opens new window) は、サーバーのプロビジョニングや管理なしでコードを実行できる、拡張性に優れたコンピューティングサービスです。この汎用性の高いサービスにより、さまざまなリアルタイムのサーバーレスデータ処理システムをすばやく簡単に構築できます。接続するには以下の2つの方法があります。
- アクセスキーを使用する
- IAM ロールを使用する
WARNING
アクセスキー認証は従来の認証形式であるため、IAM ロール認証を使用することを強くお勧めします。
# AWS Lambda コネクターの使用
# 出力スキーマの定義
Lambda 関数をトリガーまたはアクションとして使用する場合は、関数ごとにレスポンスが変わるため、呼び出される関数の出力スキーマを定義する必要があります。このサンプルの出力スキーマを使用して、出力データツリーが構築されます。このデータツリーにより、Lambda 関数から返されるデータを後続のレシピのアクションで使用できるようになります。
出力スキーマを定義するには、Response body
入力項目にサンプルのレスポンスを入力します。このレスポンスは、出力のデータ構造やスキーマを示す内容にしてください。入力項目を設定するには、以下の2つの方法があります。
- サンプルの JSON を使用する
- スキーマデザイナーウィジェットを使用してスキーマを手動で定義する
[Response body] 入力項目
ここでは、サンプルの JSON を使用して出力スキーマを定義する方法を説明します。generate from JSON sample
をクリックすると、以下のようなスキーマデザイナーウィジェットが表示されます。
スキーマデザイナーウィジェット
JSON には、以下の2つの一般的な形式があります。
- JSON レスポンスボディ
- 単一のプリミティブ型データ
# JSON レスポンス
Workato では、すべてのデータがキーと値のペアで提供される必要があります。これは、対応するキーを使用して値をマッピングできるようにするためです。JSON データ形式はこの良い例です。AWS Lambda コネクターでは、すべての JSON レスポンスが親 "response"
オブジェクトでラップされている必要があります。そのため、以下のようなレスポンスを使用する場合、
{
"id": 123,
"name": "Ee Shan",
"email": "eeshan@workato.com"
}
それを以下のように親 "response"
オブジェクトでラップします。
{
"response": {
"id": 123,
"name": "Ee Shan",
"email": "eeshan@workato.com"
}
}
JSON 出力を挿入して、Generate
をクリックします。これにより以下のような出力データツリーが生成されます。
JSON ボディの出力データツリー
# プリミティブ型データのレスポンス
Lambda 関数が JSON 以外のデータ構造、つまり単一の文字列、整数、または単純なブール値などを返す場合は、それも同様に親 "response"
オブジェクトでラップする必要があります。整数値 (ここでは ID) を返す単純な関数の例を見てみましょう。 サンプルのレスポンスは以下のようになります。
4990
それを以下のように親 "response"
オブジェクトでラップします。
{
"response": 4990
}
JSON 出力を挿入して、Generate
をクリックします。これにより以下のような出力データツリーが生成されます。
プリミティブ型のレスポンスの出力データツリー
Last updated: 2023/8/31 1:07:14