List of usage examples for com.amazonaws.services.lambda.model InvokeRequest setInvocationType
public void setInvocationType(InvocationType invocationType)
Choose from the following options.
From source file:org.alanwilliamson.amazon.lambda.LambdaAsyncExecute.java
License:Open Source License
/** * Executes a lambda function and returns the result of the execution. *//*w w w . j ava2 s. c o m*/ @Override public cfData execute(cfSession _session, cfArgStructData argStruct) throws cfmRunTimeException { AmazonKey amazonKey = getAmazonKey(_session, argStruct); // Arguments to extract String payload = getNamedStringParam(argStruct, "payload", null); String functionName = getNamedStringParam(argStruct, "function", null); String qualifier = getNamedStringParam(argStruct, "qualifier", null); try { // Construct the Lambda Client InvokeRequest invokeRequest = new InvokeRequest(); invokeRequest.setInvocationType(InvocationType.Event); invokeRequest.setLogType(LogType.Tail); invokeRequest.setFunctionName(functionName); invokeRequest.setPayload(payload); if (qualifier != null) { invokeRequest.setQualifier(qualifier); } // Lambda client must be created with credentials BasicAWSCredentials awsCreds = new BasicAWSCredentials(amazonKey.getKey(), amazonKey.getSecret()); AWSLambda awsLambda = AWSLambdaClientBuilder.standard() .withRegion(amazonKey.getAmazonRegion().toAWSRegion().getName()) .withCredentials(new AWSStaticCredentialsProvider(awsCreds)).build(); // Execute awsLambda.invoke(invokeRequest); } catch (Exception e) { throwException(_session, "AmazonLambdaAsyncExecute: " + e.getMessage()); return cfBooleanData.FALSE; } return cfBooleanData.TRUE; }
From source file:org.alanwilliamson.amazon.lambda.LambdaExecute.java
License:Open Source License
/** * Executes a lambda function and returns the result of the execution. *///from w ww.j a va 2s .co m @Override public cfData execute(cfSession _session, cfArgStructData argStruct) throws cfmRunTimeException { AmazonKey amazonKey = getAmazonKey(_session, argStruct); // Arguments to extract String payload = getNamedStringParam(argStruct, "payload", null); String functionName = getNamedStringParam(argStruct, "function", null); String qualifier = getNamedStringParam(argStruct, "qualifier", null); try { // Construct the Lambda Client InvokeRequest invokeRequest = new InvokeRequest(); invokeRequest.setInvocationType(InvocationType.RequestResponse); invokeRequest.setLogType(LogType.Tail); invokeRequest.setFunctionName(functionName); invokeRequest.setPayload(payload); if (qualifier != null) { invokeRequest.setQualifier(qualifier); } // Lambda client must be created with credentials BasicAWSCredentials awsCreds = new BasicAWSCredentials(amazonKey.getKey(), amazonKey.getSecret()); AWSLambda awsLambda = AWSLambdaClientBuilder.standard() .withRegion(amazonKey.getAmazonRegion().toAWSRegion().getName()) .withCredentials(new AWSStaticCredentialsProvider(awsCreds)).build(); // Execute and process the results InvokeResult result = awsLambda.invoke(invokeRequest); // Convert the returned result ByteBuffer resultPayload = result.getPayload(); String resultJson = new String(resultPayload.array(), "UTF-8"); Map<String, Object> resultMap = Jackson.fromJsonString(resultJson, Map.class); return tagUtils.convertToCfData(resultMap); } catch (Exception e) { throwException(_session, "AmazonLambdaExecute: " + e.getMessage()); return cfBooleanData.FALSE; } }
From source file:org.diksha.common.utils.SchedulerActivitiesImpl.java
License:Apache License
@Override public void runPeriodicActivity(String functionName, String functionContext) { ActivityExecutionContextProvider provider = new ActivityExecutionContextProviderImpl(); ActivityExecutionContext aec = provider.getActivityExecutionContext(); // System.out.println("NOw invoking lambda"); String swfAccessId = System.getenv("AWS_ACCESS_KEY_ID"); String swfSecretKey = System.getenv("AWS_SECRET_ACCESS_KEY"); AWSCredentials awsCredentials = new BasicAWSCredentials(swfAccessId, swfSecretKey); AWSLambdaClient alc = new AWSLambdaClient(awsCredentials); InvokeRequest invokeRequest = new InvokeRequest(); System.out.println("invoking function " + functionName + " for executionId " + aec.getWorkflowExecution().getWorkflowId()); invokeRequest.setFunctionName(functionName); invokeRequest.setInvocationType("Event"); invokeRequest.setClientContext(functionContext); alc.invoke(invokeRequest);// w ww. j av a 2 s . com }