調用,列出和刪除 AWS Lambda 功能 - AWS SDK for Java 2.x

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

調用,列出和刪除 AWS Lambda 功能

本節提供使用 AWS SDK for Java 2.x 與 Lambda 服務用戶端進行程式設計的範例。

叫用 Lambda 函數。

您可以透過建立LambdaClient物件並叫用其invoke方法來叫用 Lambda 函式。建立InvokeRequest物件以指定其他資訊,例如要傳遞給函數的函 Lambda 數名稱和有效負載。函數名稱顯示為 ARN:AWN:羊:美東-1:123456789012:功能:。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:AWN:羊:美東-1:123456789012:功能:。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。