List of usage examples for com.amazonaws.services.lambda.model InvokeRequest setFunctionName
public void setFunctionName(String functionName)
The name of the Lambda function, version, or alias.
From source file:org.alanwilliamson.amazon.lambda.LambdaAsyncExecute.java
License:Open Source License
/** * Executes a lambda function and returns the result of the execution. *///from w ww. ja va2 s. c om @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. *///w w w . j av a 2s .com @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);/*from w w w .ja va 2 s . co m*/ }