AWS Lambda

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

AWS Lambdaは、サーバーのプロビジョニングや管理を行わずにコードを実行できるスケーラブルなコンピューティングサービスです。 AWS Lambdaを使用すると、さまざまなリアルタイムのサーバーレスデータ処理システムをすばやく簡単に構築できます。 次のいずれかの方法を使用して、AWS LambdaをWorkatoに接続する必要があります。

  • IAMユーザーアクセスキー認証
  • IAMロール認証

レガシーアクセスキー認証

アクセスキー認証はレガシー認証形式です。 IAMロール認証の使用を強くお勧めします。

IAMユーザーアクセスキーを使用してAWS Lambdaに接続する

IAMユーザーアクセスキーを使用したAWS Lambdaへの接続は許可されていますが、非推奨であることに注意してください。 この認証方法では、ユーザー認証情報を提供する必要があります。

アクセスキーの入力フィールド

  • アクセスキー認証のフィールド。
    • コネクション名
    • このコネクションには、接続先のAWS Lambdaインスタンスを識別できる一意の名前を付けます。
    • 場所
    • コネクションを必要とするWorkatoプロジェクト。
    • 認証タイプ
    • アクセスキーを選択します。
    • アクセスキーID
    • ユーザーのID。
    • シークレットアクセスキー
    • ユーザーのシークレット。
    • 地域
    • このAWS Lambdaアカウントのリージョンを指定します。

認可方法 - Access Key認可方法 - Access key

IAMユーザーポリシーの要件

Workatoは、このIAMユーザーとしてAWS Lambdaアカウントで操作を実行します。 トリガーとアクションのすべてのセットを使用するには、IAMユーザーにlambda:ListFunctions権限が必要です。

Workato用ポリシーの作成手順については、IAM権限ポリシーの作成を参照してください。

IAMロールを使用してAWS Lambdaに接続する

Workato IAMロールをプロビジョニングしてAWS Lambdaに接続できます。 専用のIAMプロファイルをプロビジョニングすると、AWS Lambdaインスタンスの所有者はAWSセキュリティ認証情報を共有せずに、WorkatoにAWSリソースへのアクセス権を付与できます。 また、サードパーティアプリケーション(Workatoなど)によって許可される、特定のAWSフォルダおよびアクションへの制御されたアクセスを含む、権限境界の維持にも役立ちます。

Workato用のIAMロールを作成し、Amazonリソースネーム(ARN)を取得する方法については、AWS向けIAMロールベース認証ページを参照してください。

IAMロールの入力フィールド

  • IAMロール認証のフィールド。
    • コネクション名
    • このコネクションには、接続先のAWS Lambdaインスタンスを識別できる一意の名前を付けます。
    • 場所
    • コネクションを必要とするWorkatoプロジェクト。
    • 認証タイプ
    • IAMロールを選択します。
    • IAMロールARN
    • IAMロールARN。

      : Workatoは一意の外部ID(例: workato-user-84762)を生成します。 この値はWorkatoユーザーごとに異なり、AWS LambdaでIAMロールを作成するときに指定する必要があります。
    • 地域
    • このAWS Lambdaアカウントのリージョンを指定します。

認可方法 - IAMロール認可方法 - IAMロール

出力スキーマの定義

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

出力スキーマを定義するには、Function output入力フィールドにサンプルレスポンスを入力します。 これは、出力のデータ構造とスキーマを記述する必要があります。 この入力フィールドを設定する方法は2つあります。

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

スキーマデザイナーFunction output入力フィールド

次の例では、サンプルJSONを使用した出力スキーマの定義に焦点を当てます。 Use JSONをクリックすると、次のスキーマデザイナーウィジェットが表示されます。

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

JSONには、一般的な形式が2つあります。

  • JSON関数出力
  • 単一のプリミティブデータ

JSONレスポンス

Workatoでは、すべてのデータをキーと値のペアとして表す必要があります。 これは、それぞれのキーを使用して値をマッピングできるようにするためです。 JSONデータ形式は良い例です。 AWS Lambdaコネクターでは、すべてのレスポンスJSONを親responseオブジェクトでラップする必要があります。 レスポンスは次の例のようになります。

json
{
  "id": 123,
  "name": "Ee Shan",
  "email": "[email protected]"
}

"response"オブジェクトでラップします。

json
{
  "response": {
    "id": 123,
    "name": "Ee Shan",
    "email": "[email protected]"
  }
}

出力JSONを挿入し、Nextをクリックしてデータを確認してから、Generateをクリックします。 これにより、次の出力データツリーが生成されます。

JSONレスポンス出力データツリーJSON本文出力データツリー

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

Lambda関数が単一の文字列、整数、単純なブール値などの非JSONデータ構造を返す場合は、親"response"オブジェクトでラップする必要があります。 次の関数例は、IDの整数値を返します。 サンプルレスポンスは次のようになります。

json
4990

"response"オブジェクトでラップします。

json
{
  "response": 4990
}

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

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

Last updated: