· 3 years ago · Jan 26, 2022, 04:30 PM
1import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
2import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
3import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
4import software.amazon.awssdk.core.SdkBytes;
5import software.amazon.awssdk.regions.Region;
6import software.amazon.awssdk.services.lambda.LambdaClient;
7import software.amazon.awssdk.services.lambda.model.InvokeRequest;
8import software.amazon.awssdk.services.lambda.model.InvokeResponse;
9import software.amazon.awssdk.services.lambda.model.LambdaException;
10
11public class AwsExample {
12 public static void main(String[] args) {
13 try {
14
15 Region region = Region.US_WEST_2;
16
17 AwsBasicCredentials awsBasicCredentials = AwsBasicCredentials.create("access_key", "secret_key");
18 AwsCredentialsProvider awsCredentialsProvider = StaticCredentialsProvider.create(awsBasicCredentials);
19
20 LambdaClient awsLambda = LambdaClient.builder().region(region).credentialsProvider(awsCredentialsProvider).build();
21
22 InvokeResponse response = null;
23
24 String json = String.format("{\"jid\":\"%s\"}", "HASHMD5");
25 SdkBytes payload = SdkBytes.fromUtf8String(json);
26
27 InvokeRequest request = InvokeRequest.builder().functionName("CARD_API_DEV_GET_CARDS").payload(payload).build();
28
29 response = awsLambda.invoke(request);
30 String responseString = response.payload().asUtf8String();
31
32 ObjectMapper mapper = new ObjectMapper();
33 JsonNode jsonResponse = mapper.readTree(responseString);
34 String jsonString = jsonResponse.get("body").asText();
35
36 CardDto card = new ObjectMapper().readValue(jsonString, CardDto.class);
37
38 return card;
39 } catch (LambdaException ex) {
40 throw new Exception(ex.getMessage());
41 } catch (Exception ex) {
42 throw ex;
43 }
44 }
45}