JavaでAWS Lambdaを呼び出す方法。AWS SDK for Java v2を使用してLambda関数を同期的に呼び出す手順を解説します。

1. AWS SDK for Java v2のセットアップ

最初に、AWS SDK for Java v2をプロジェクトに組み込む必要があります。以下は、Mavenを使用したpom.xmlの依存関係の設定例です。

2. Lambda関数の呼び出しコード

Lambda関数を呼び出すJavaコードは以下の通りです。

import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.lambda.LambdaClient;
import software.amazon.awssdk.services.lambda.model.InvokeRequest;
import software.amazon.awssdk.services.lambda.model.InvokeResponse;
import software.amazon.awssdk.core.SdkBytes;

import java.nio.charset.StandardCharsets;

public class LambdaInvoker {

    public static void main(String[] args) {
        // AWS Lambda関数のARN
        String functionArn = "arn:aws:lambda:REGION:ACCOUNT_ID:function:YOUR_FUNCTION_NAME";

        // LambdaClientの作成
        LambdaClient lambdaClient = LambdaClient.builder()
                .region(Region.US_EAST_1) // 適切なリージョンを指定
                .build();

        // Lambda関数の呼び出し payloadはSdkBytes型でinputを設定すること
        InvokeResponse response = lambdaClient.invoke(InvokeRequest.builder()
                .functionName(functionArn)
                .payload(SdkBytes.fromUtf8String("{ \"key1\": \"value1\", \"key2\": \"value2\" }"))
                .build());

        // レスポンスの処理
        String result = new String(response.payload().asByteArray(), StandardCharsets.UTF_8);
        System.out.println("Lambda Function Response: " + result);

        // LambdaClientのクローズ
        lambdaClient.close();
    }
}

3. コードの解説

参考文献

https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/lambda/LambdaClient.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です