# AWS Lambda

AWS Lambda (opens new window) は、サーバーのプロビジョニングや管理なしでコードを実行できる、拡張性に優れたコンピューティングサービスです。この汎用性の高いサービスにより、さまざまなリアルタイムのサーバーレスデータ処理システムをすばやく簡単に構築できます。接続するには以下の2つの方法があります。

  1. アクセスキーを使用する
  2. IAM ロールを使用する

WARNING

アクセスキー認証は従来の認証形式であるため、IAM ロール認証を使用することを強くお勧めします。

# AWS Lambda コネクターの使用

# 出力スキーマの定義

Lambda 関数をトリガーまたはアクションとして使用する場合は、関数ごとにレスポンスが変わるため、呼び出される関数の出力スキーマを定義する必要があります。このサンプルの出力スキーマを使用して、出力データツリーが構築されます。このデータツリーにより、Lambda 関数から返されるデータを後続のレシピのアクションで使用できるようになります。

出力スキーマを定義するには、Response body 入力項目にサンプルのレスポンスを入力します。このレスポンスは、出力のデータ構造やスキーマを示す内容にしてください。入力項目を設定するには、以下の2つの方法があります。

  • サンプルの JSON を使用する
  • スキーマデザイナーウィジェットを使用してスキーマを手動で定義する

スキーマデザイナー [Response body] 入力項目

ここでは、サンプルの JSON を使用して出力スキーマを定義する方法を説明します。generate from JSON sample をクリックすると、以下のようなスキーマデザイナーウィジェットが表示されます。

サンプルの JSON のポップアップ表示 スキーマデザイナーウィジェット

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 レスポンスの出力データツリー JSON ボディの出力データツリー

# プリミティブ型データのレスポンス

Lambda 関数が JSON 以外のデータ構造、つまり単一の文字列、整数、または単純なブール値などを返す場合は、それも同様に親 "response" オブジェクトでラップする必要があります。整数値 (ここでは ID) を返す単純な関数の例を見てみましょう。 サンプルのレスポンスは以下のようになります。

4990

それを以下のように親 "response" オブジェクトでラップします。

{
  "response": 4990
}

JSON 出力を挿入して、Generate をクリックします。これにより以下のような出力データツリーが生成されます。

プリミティブ型のレスポンスの出力データツリー プリミティブ型のレスポンスの出力データツリー


Last updated: 2023/8/31 1:07:14