---
schema_version: "1"
id: 0f79c3daa601535ab788b209516867a0e73a8580ba0a5da61fc04d455262a2b1
title: Amazon Lambda Connector 1.0 の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/amazon-lambda-connector/1.0/amazon-lambda-connector-examples.md
canonical_url: https://docs.mulesoft.com/jp/amazon-lambda-connector/1.0/amazon-lambda-connector-examples
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 6104994e28bcfd3cf539f0bd5ea9e307a01704dca047814ea6b7c7b315d34f27
description: MuleSoft Documentation Site
release: "1.0"
latest: false
---
# Amazon Lambda Connector 1.0 の例

次の例は、Amazon Lambda 用 Anypoint Connector (Amazon Lambda Connector) を使用して同期コールを呼び出して AWS Lambda から結果を取得する方法を示しています。

## [](#始める前に)始める前に

Amazon Lambda Connector が Anypoint Studio 内の Mule プロジェクトに追加されていることを確認します。追加されていない場合、​[「コネクタを Mule プロジェクトに追加する」](https://docs.mulesoft.com/jp/amazon-lambda-connector/1.0/amazon-lambda-connector-studio#add-connector-to-project)​の手順に従ってください。

## [](#同期呼び出しフロー)同期呼び出しフロー

次の例は、HTTP リスナーを使用して呼び出される簡単な AWS Lambda 関数コールを示しています。​`http://localhost:8081/invoke`​ URL がコールされると、Lambda の ​**Invoke**​ 操作が実行され、結果が直接返されます。

### [](#設定ファイルを作成する)設定ファイルを作成する

1. Studio で ​**\[Package Explorer\]**​ ビューに移動して、プロジェクトの ​`/src/main/resources`​ フォルダーを右クリックします。
2. **\[New (新規)\] > \[File (ファイル)\]**​ を選択します。
3. ファイルに ​`environment.properties`​ という名前を付けます。
4. ファイルを編集して、必要なプロパティおよび値を定義します。

### [](#configure-http-listener)HTTP リスナーを設定する

設定済みのホスト (​`localhost`​) およびポート (​`8081`​) で要求を受信するたびに Amazon Lambda Connector の ​**Invoke**​ 操作フローを開始するように HTTP Listener ソースを設定します。

1. **\[Mule Palette (Mule パレット)\]**​ で、​**\[HTTP\] > \[Listener\]**​ を選択します。
2. **\[Listener\]**​ を Studio キャンバスにドラッグします。
3. **\[Connector configuration (コネクタ設定)\]**​ の横にある ​**+**​ をクリックして、アプリケーション内の HTTP Listener ソースのすべてのインスタンスで使用できるグローバル要素を設定します。
4. **\[General (一般)\]**​ タブで、コネクタの接続情報を指定します。
5. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule が指定されたサーバーに接続できることを確認します。
6. **\[OK\]**​ をクリックします。

### [](#invoke-操作を設定する)Invoke 操作を設定する

1. **\[Mule Palette (Mule パレット)\]**​ で、​**\[Amazon Lambda Connector\] > \[Invoke (呼び出し)\]**​ を選択します。
2. **\[Invoke\]**​ を Studio キャンバスの ​**\[Listener\]**​ ソースの右にドラッグします。
    
    ![Studio での簡単な呼び出しフローの例](/mulesoft/current/ja-jp/amazon-lambda-connector/1.0/_images/amazon-lambda-simple-invoke-example.png)
3. **Invoke**​ 操作を設定します。
    
    ![簡単な Invoke 操作の \[General (一般)\] プロパティ設定](_images/amazon-lambda-simple-invoke-example-properties.png)
    
    この例では、関数名は ​`environment.properties`​ ファイルで ​`$config.functionName`​ として提供されます。
    
    HTTP リスナーからのペイロードは、​`REQUEST_RESPONSE`​ として指定されている ​**Invoke**​ 操作の本文に直接渡されます。これにより、この操作のログを保存する必要がないことが AWS Lambda に指示され、このコールが実質的に同期コールになります。つまり、AWS Lambda 関数の処理が終了するまで待ってから結果が返されます。
    
    または、​**\[Invocation Type (呼び出し種別)\]**​ を ​`EVENT`​ に設定することもできます。これにより、このコールは非同期コールのように動作し、空の応答をすぐに返しますが、そのアクションは AWS Lambda によりバックグラウンドで実行されています。

### [](#aws-lambda-関数を作成する)AWS Lambda 関数を作成する

Lambda 関数によっては、このフローを実行するときに、リクエストボディで送信することが必要になる場合があります。たとえば、次のような Python 3.8 Lambda 関数を作成できます。

```python
def lambda_handler(event, context):
    message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])

	return {'message' : message}
```

新しい AWS Lambda 関数を作成する方法は、公式 AWS ドキュメントを参照してください。

この関数は、入力から項目 ​`first_name`​ と ​`last_name`​ を JSON 形式で取得し、指定された氏名を使用して挨拶文を送信します。

次のような JSON 本文を使用して ​`http://localhost:8081/invoke`​ エンドポイントをコールします。

```json
{
    "first_name":"<first_name>",
    "last_name":"<last_name>"
}
```

Mule フローはコード 200 のメッセージで応答します。

{
    "message": "Hello <first\_name> <last\_name>!"
}

## [](#invoke-の例の-xml)Invoke の例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:amazon-lambda="http://www.mulesoft.org/schema/mule/amazon-lambda" xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/amazon-lambda http://www.mulesoft.org/schema/mule/amazon-lambda/current/mule-amazon-lambda.xsd">
	<flow name="amazon-lambda-invoke-example">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/invoke"/>
		<amazon-lambda:create20150331-functions-invocations-by-function-name doc:name="Invoke" config-ref="Test_Aws_Config" functionName="${config.functionName}" xAmzInvocationType="REQUEST_RESPONSE">
		</amazon-lambda:create20150331-functions-invocations-by-function-name>
	</flow>
</mule>
```

### [](#関連情報)関連情報

- [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [Anypoint Connector 設定](https://docs.mulesoft.com/connectors/introduction/intro-connector-configuration-overview)​。
- [Amazon Lambda Connector リファレンス](https://docs.mulesoft.com/jp/amazon-lambda-connector/1.0/amazon-lambda-connector-reference)​。
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)