Example usage for com.amazonaws.services.lambda.model InvokeRequest setFunctionName

List of usage examples for com.amazonaws.services.lambda.model InvokeRequest setFunctionName

Introduction

In this page you can find the example usage for com.amazonaws.services.lambda.model InvokeRequest setFunctionName.

Prototype


public void setFunctionName(String functionName) 

Source Link

Document

The name of the Lambda function, version, or alias.

Usage

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*/

}