AWS Lambda 関数の呼び出し、一覧表示、および削除 - AWS SDK for Java 2.x

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Lambda 関数の呼び出し、一覧表示、および削除

このセクションでは、 AWS SDK for Java 2.x を使用して Lambda サービスクライアントでプログラミングする例を示します。

Lambda 関数を呼び出します。

オブジェクトを作成し、その invokeメソッドを呼びLambdaClient出すことで、 Lambda 関数を呼び出すことができます。InvokeRequest オブジェクトを作成して、関数名や関数に渡すペイロードなどの追加情報を指定します Lambda 。関数名は arn:aws:lambda:us-east-1:123456789012:function:HelloFunction と表示されます。 AWS Management Consoleで関数を確認することで、値を取得できます。

ペイロードデータを関数に渡すには、情報を含む SdkBytes オブジェクトを作成します。たとえば、次のコード例では、 Lambda 関数に渡される JSON データに注意してください。

インポート

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

Code

次のコード例は、 Lambda 関数を呼び出す方法を示しています。

public static void invokeFunction(LambdaClient awsLambda, String functionName) { InvokeResponse res = null ; try { //Need a SdkBytes instance for the payload String json = "{\"Hello \":\"Paris\"}"; SdkBytes payload = SdkBytes.fromUtf8String(json) ; //Setup an InvokeRequest InvokeRequest request = InvokeRequest.builder() .functionName(functionName) .payload(payload) .build(); res = awsLambda.invoke(request); String value = res.payload().asUtf8String() ; System.out.println(value); } catch(LambdaException e) { System.err.println(e.getMessage()); System.exit(1); } }

「」で完全な例を参照してください GitHub。

Lambda 関数を一覧表示する

Lambda Client オブジェクトを構築し、その listFunctionsメソッドを呼び出します。このメソッドは ListFunctionsResponse オブジェクトを返します。このオブジェクトの functionsメソッドを呼び出して、FunctionConfigurationオブジェクトのリストを返すことができます。リストを反復処理して、関数に関する情報を取得できます。たとえば、次の Java コード例は、各関数名を取得する方法を示しています。

インポート

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.lambda.LambdaClient; import software.amazon.awssdk.services.lambda.model.LambdaException; import software.amazon.awssdk.services.lambda.model.ListFunctionsResponse; import software.amazon.awssdk.services.lambda.model.FunctionConfiguration; import java.util.List;

Code

次の Java コード例は、 関数名のリストを取得する方法を示しています。

public static void listFunctions(LambdaClient awsLambda) { try { ListFunctionsResponse functionResult = awsLambda.listFunctions(); List<FunctionConfiguration> list = functionResult.functions(); for (FunctionConfiguration config: list) { System.out.println("The function name is "+config.functionName()); } } catch(LambdaException e) { System.err.println(e.getMessage()); System.exit(1); } }

「」で完全な例を参照してください GitHub。

Lambda 関数を削除する

LambdaClient オブジェクトを構築し、その deleteFunctionメソッドを呼び出します。DeleteFunctionRequest オブジェクトを作成し、 deleteFunctionメソッドに渡します。このオブジェクトには、削除する関数の名前などの情報が含まれています。関数名は arn:aws:lambda:us-east-1:123456789012:function:HelloFunction と表示されます。 AWS Management Consoleで関数を確認することで、値を取得できます。

インポート

import software.amazon.awssdk.services.lambda.LambdaClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.lambda.model.DeleteFunctionRequest; import software.amazon.awssdk.services.lambda.model.LambdaException;

Code

次の Java コードは、 Lambda 関数を削除する方法を示しています。

public static void deleteLambdaFunction(LambdaClient awsLambda, String functionName ) { try { DeleteFunctionRequest request = DeleteFunctionRequest.builder() .functionName(functionName) .build(); awsLambda.deleteFunction(request); System.out.println("The "+functionName +" function was deleted"); } catch(LambdaException e) { System.err.println(e.getMessage()); System.exit(1); } }

「」で完全な例を参照してください GitHub。