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

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

Introduction

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

Prototype


public void setQualifier(String qualifier) 

Source Link

Document

Specify a version or alias to invoke a published version of the function.

Usage

From source file:com.netflix.spinnaker.clouddriver.lambda.deploy.ops.InvokeLambdaAtomicOperation.java

License:Apache License

private InvokeResult invokeFunction(String functionName, String payload) {
        AWSLambda client = getLambdaClient();
        InvokeRequest req = new InvokeRequest().withFunctionName(functionName).withLogType(LogType.Tail)
                .withPayload(payload);/*  ww w. j a  va2 s.  c o m*/

        String qualifierRegex = "|[a-zA-Z0-9$_-]+";
        if (description.getQualifier().matches(qualifierRegex)) {
            req.setQualifier(description.getQualifier());
        }

        InvokeResult result = client.invoke(req);
        updateTaskStatus("Finished Invoking of AWS Lambda Function Operation...");
        return result;
    }

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.  j ava2  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.
 *//*from  w  w w . jav a2 s. 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;
    }

}