Вызвать лямбда-функцию AWS из Java-SDK AWS - PullRequest
0 голосов
/ 11 мая 2018

введите описание изображения здесь Можно ли вызвать лямбда-функцию aws из примера публикации java-кода aws для публикации?Можем ли мы вызвать лямбда-функцию из нашего кода Java?если да то как?

1 Ответ

0 голосов
/ 11 мая 2018

Вызов лямбда-функции AWS из Java

import com.amazonaws.regions.Regions;
import com.amazonaws.services.lambda.AWSLambda;
import com.amazonaws.services.lambda.AWSLambdaClientBuilder;
import com.amazonaws.services.lambda.model.InvokeRequest;
import com.amazonaws.services.lambda.model.InvokeResult;
// ...
// (1) Define the AWS Region in which the function is to be invoked
Regions region = Regions.fromName("us-east-1");
// (2) Instantiate AWSLambdaClientBuilder to build the Lambda client
AWSLambdaClientBuilder builder = AWSLambdaClientBuilder.standard()
                                    .withRegion(region);
// (3) Build the client, which will ultimately invoke the function
AWSLambda client = builder.build();
// (4) Create an InvokeRequest with required parameters
InvokeRequest req = new InvokeRequest()
                           .withFunctionName("myFunctionName")
                           .withPayload("{ ... }"); // optional
// (5) Invoke the function and capture response
InvokeResult result = client.invoke(req);
// (6) Handle result
...

Выше приведен синхронный вызов лямбды;однако вы также можете вызывать асинхронно, используя Java Futures или обратные вызовы.

Вызов с ключом доступа и секретным ключом В приведенном выше примере будет использоваться DefaultAWSCredentialsProviderChain для использования переменных среды, профиля экземпляра EC2 и т. д.при вызове функции.Хотя это часто является наилучшей практикой, существуют также сценарии, когда вам может потребоваться предоставить доступ и секретные ключи.Для этого нам нужно всего лишь внести небольшое изменение в приведенный выше код:

import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
// (1a) Instantiate credentials
BasicAWSCredentials credentials = new 
  BasicAWSCredentials("myAccessKey", "mySecretKey");
// (2) Modify to leverage credentials
AWSLambdaClientBuilder builder = AWSLambdaClientBuilder.standard()
  .withCredentials(new AWSStaticCredentialsProvider(credentials));                                     
  .withRegion(region);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...