CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-com-amazonaws--aws-java-sdk-lambda

AWS Java SDK client for communicating with AWS Lambda Service for function management, invocation, and resource control

Pending
Overview
Eval results
Files

function-management.mddocs/

Function Management

Comprehensive function lifecycle operations including creation, configuration, updates, and deletion of Lambda functions with support for ZIP packages, container images, and various runtime configurations.

Capabilities

Function Creation

Creates a new Lambda function from a deployment package.

/**
 * Creates a Lambda function from deployment package (ZIP or container image)
 * @param request Function creation parameters including code, runtime, handler, and role
 * @return CreateFunctionResult containing function configuration details
 * @throws ServiceException if service encounters an error
 * @throws ResourceConflictException if function with same name exists
 * @throws InvalidParameterValueException if parameters are invalid
 */
CreateFunctionResult createFunction(CreateFunctionRequest request);

public class CreateFunctionRequest {
    /** Function name (required) - 1-64 characters, pattern: [a-zA-Z0-9-_]+ */
    private String functionName;
    /** Function runtime (required) */
    private Runtime runtime;
    /** IAM role ARN (required) */
    private String role;
    /** Function handler (required for ZIP packages) */
    private String handler;
    /** Function code (required) */
    private FunctionCode code;
    /** Function description (optional) */
    private String description;
    /** Timeout in seconds (optional, default: 3, max: 900) */
    private Integer timeout;
    /** Memory size in MB (optional, default: 128, range: 128-10240) */
    private Integer memorySize;
    /** Whether to publish version (optional, default: false) */
    private Boolean publish;
    /** VPC configuration (optional) */
    private VpcConfig vpcConfig;
    /** Dead letter queue configuration (optional) */
    private DeadLetterConfig deadLetterConfig;
    /** Environment variables (optional) */
    private Environment environment;
    /** KMS key ARN for encryption (optional) */
    private String kmsKeyArn;
    /** X-Ray tracing configuration (optional) */
    private TracingConfig tracingConfig;
    /** Function tags (optional) */
    private Map<String, String> tags;
    /** Function layers (optional) */
    private List<String> layers;
    /** File system configurations (optional) */
    private List<FileSystemConfig> fileSystemConfigs;
    /** Image configuration for container images (optional) */
    private ImageConfig imageConfig;
    /** Code signing config ARN (optional) */
    private String codeSigningConfigArn;
    /** Instruction set architecture (optional) */
    private List<String> architectures;
    /** Ephemeral storage configuration (optional) */
    private EphemeralStorage ephemeralStorage;
    /** Logging configuration (optional) */
    private LoggingConfig loggingConfig;
    
    // Standard getters and setters with fluent API
    public CreateFunctionRequest withFunctionName(String functionName) { ... }
    public CreateFunctionRequest withRuntime(Runtime runtime) { ... }
    // ... other fluent setters
}

public class CreateFunctionResult {
    /** Function name */
    private String functionName;
    /** Function ARN */
    private String functionArn;
    /** Function runtime */
    private Runtime runtime;
    /** IAM role ARN */
    private String role;
    /** Function handler */
    private String handler;
    /** Code size in bytes */
    private Long codeSize;
    /** Function description */
    private String description;
    /** Timeout in seconds */
    private Integer timeout;
    /** Memory size in MB */
    private Integer memorySize;
    /** Last modified timestamp */
    private String lastModified;
    /** Code SHA256 hash */
    private String codeSha256;
    /** Function version */
    private String version;
    /** VPC configuration */
    private VpcConfigResponse vpcConfig;
    /** Dead letter queue configuration */
    private DeadLetterConfig deadLetterConfig;
    /** Environment variables */
    private EnvironmentResponse environment;
    /** KMS key ARN */
    private String kmsKeyArn;
    /** X-Ray tracing configuration */
    private TracingConfigResponse tracingConfig;
    /** Master ARN (for edge functions) */
    private String masterArn;
    /** Revision ID */
    private String revisionId;
    /** Function layers */
    private List<Layer> layers;
    /** Function state */
    private State state;
    /** State reason */
    private String stateReason;
    /** State reason code */
    private StateReasonCode stateReasonCode;
    /** Last update status */
    private LastUpdateStatus lastUpdateStatus;
    /** Last update status reason */
    private String lastUpdateStatusReason;
    /** Last update status reason code */
    private LastUpdateStatusReasonCode lastUpdateStatusReasonCode;
    /** File system configurations */
    private List<FileSystemConfig> fileSystemConfigs;
    /** Package type */
    private PackageType packageType;
    /** Image configuration */
    private ImageConfigResponse imageConfig;
    /** Signing profile version ARN */
    private String signingProfileVersionArn;
    /** Signing job ARN */
    private String signingJobArn;
    /** Instruction set architectures */
    private List<String> architectures;
    /** Ephemeral storage configuration */
    private EphemeralStorage ephemeralStorage;
    /** Logging configuration */
    private LoggingConfig loggingConfig;
    
    // Standard getters
}

Function Retrieval

Gets function information including configuration and download link.

/**
 * Returns function information with signed download URL (valid 10 minutes)
 * @param request Function retrieval parameters
 * @return GetFunctionResult containing function metadata and code location
 * @throws ServiceException if service encounters an error
 * @throws ResourceNotFoundException if function doesn't exist
 */
GetFunctionResult getFunction(GetFunctionRequest request);

public class GetFunctionRequest {
    /** Function name, ARN, or qualified ARN (required) */
    private String functionName;
    /** Function version or alias (optional, default: $LATEST) */
    private String qualifier;
    
    public GetFunctionRequest withFunctionName(String functionName) { ... }
    public GetFunctionRequest withQualifier(String qualifier) { ... }
}

public class GetFunctionResult {
    /** Function configuration */
    private FunctionConfiguration configuration;
    /** Function code location */
    private FunctionCodeLocation code;
    /** Function tags */
    private Map<String, String> tags;
    /** Concurrency settings */
    private Concurrency concurrency;
    
    // Standard getters
}

Function Configuration

Gets version-specific configuration settings without code information.

/**
 * Returns version-specific function configuration metadata
 * @param request Configuration retrieval parameters
 * @return GetFunctionConfigurationResult containing function settings
 * @throws ServiceException if service encounters an error
 * @throws ResourceNotFoundException if function doesn't exist
 */
GetFunctionConfigurationResult getFunctionConfiguration(GetFunctionConfigurationRequest request);

public class GetFunctionConfigurationRequest {
    /** Function name, ARN, or qualified ARN (required) */
    private String functionName;
    /** Function version or alias (optional, default: $LATEST) */
    private String qualifier;
    
    public GetFunctionConfigurationRequest withFunctionName(String functionName) { ... }
    public GetFunctionConfigurationRequest withQualifier(String qualifier) { ... }
}

public class GetFunctionConfigurationResult {
    /** Function name */
    private String functionName;
    /** Function ARN */
    private String functionArn;
    /** Function runtime */
    private Runtime runtime;
    /** IAM role ARN */
    private String role;
    /** Function handler */
    private String handler;
    /** Code size in bytes */
    private Long codeSize;
    /** Function description */
    private String description;
    /** Timeout in seconds */
    private Integer timeout;
    /** Memory size in MB */
    private Integer memorySize;
    /** Last modified timestamp */
    private String lastModified;
    /** Code SHA256 hash */
    private String codeSha256;
    /** Function version */
    private String version;
    // ... additional configuration fields same as CreateFunctionResult
}

Function Code Updates

Updates function code for ZIP or container image packages.

/**
 * Updates function code with new deployment package
 * @param request Code update parameters
 * @return UpdateFunctionCodeResult containing updated function configuration
 * @throws ServiceException if service encounters an error
 * @throws ResourceNotFoundException if function doesn't exist
 * @throws InvalidParameterValueException if parameters are invalid
 * @throws ResourceConflictException if function is being modified
 */
UpdateFunctionCodeResult updateFunctionCode(UpdateFunctionCodeRequest request);

public class UpdateFunctionCodeRequest {
    /** Function name (required) */
    private String functionName;
    /** ZIP file content (base64 encoded, max 50MB) */
    private String zipFile;
    /** S3 bucket name */
    private String s3Bucket;
    /** S3 object key */
    private String s3Key;
    /** S3 object version */
    private String s3ObjectVersion;
    /** Container image URI */
    private String imageUri;
    /** Whether to publish new version (optional, default: false) */
    private Boolean publish;
    /** Whether to perform dry run (optional, default: false) */
    private Boolean dryRun;
    /** Expected revision ID for conditional update (optional) */
    private String revisionId;
    /** Instruction set architectures (optional) */
    private List<String> architectures;
    
    public UpdateFunctionCodeRequest withFunctionName(String functionName) { ... }
    public UpdateFunctionCodeRequest withZipFile(String zipFile) { ... }
    public UpdateFunctionCodeRequest withS3Bucket(String s3Bucket) { ... }
    // ... other fluent setters
}

public class UpdateFunctionCodeResult {
    // Same fields as CreateFunctionResult
    private String functionName;
    private String functionArn;
    private Runtime runtime;
    // ... all configuration fields
}

Function Configuration Updates

Modifies version-specific function settings.

/**
 * Updates function configuration settings (not code)
 * @param request Configuration update parameters  
 * @return UpdateFunctionConfigurationResult with updated settings
 * @throws ServiceException if service encounters an error
 * @throws ResourceNotFoundException if function doesn't exist
 * @throws InvalidParameterValueException if parameters are invalid
 * @throws ResourceConflictException if function is being modified
 */
UpdateFunctionConfigurationResult updateFunctionConfiguration(UpdateFunctionConfigurationRequest request);

public class UpdateFunctionConfigurationRequest {
    /** Function name (required) */
    private String functionName;
    /** IAM role ARN (optional) */
    private String role;
    /** Function handler (optional) */
    private String handler;
    /** Function description (optional) */
    private String description;
    /** Timeout in seconds (optional, range: 1-900) */
    private Integer timeout;
    /** Memory size in MB (optional, range: 128-10240) */
    private Integer memorySize;
    /** VPC configuration (optional) */
    private VpcConfig vpcConfig;
    /** Environment variables (optional) */
    private Environment environment;
    /** Function runtime (optional) */
    private Runtime runtime;
    /** Dead letter queue configuration (optional) */
    private DeadLetterConfig deadLetterConfig;
    /** KMS key ARN (optional) */
    private String kmsKeyArn;
    /** X-Ray tracing configuration (optional) */
    private TracingConfig tracingConfig;
    /** Expected revision ID for conditional update (optional) */
    private String revisionId;
    /** Function layers (optional) */
    private List<String> layers;
    /** File system configurations (optional) */
    private List<FileSystemConfig> fileSystemConfigs;
    /** Image configuration (optional) */
    private ImageConfig imageConfig;
    /** Ephemeral storage configuration (optional) */
    private EphemeralStorage ephemeralStorage;
    /** Logging configuration (optional) */
    private LoggingConfig loggingConfig;
    
    public UpdateFunctionConfigurationRequest withFunctionName(String functionName) { ... }
    public UpdateFunctionConfigurationRequest withRole(String role) { ... }
    // ... other fluent setters
}

public class UpdateFunctionConfigurationResult {
    // Same fields as CreateFunctionResult
    private String functionName;
    private String functionArn;
    // ... all configuration fields
}

Function Deletion

Deletes function including all versions and aliases.

/**
 * Deletes Lambda function, all versions, and aliases
 * @param request Function deletion parameters
 * @return DeleteFunctionResult (empty response)
 * @throws ServiceException if service encounters an error
 * @throws ResourceNotFoundException if function doesn't exist
 * @throws InvalidParameterValueException if parameters are invalid
 * @throws ResourceConflictException if function is being modified
 */
DeleteFunctionResult deleteFunction(DeleteFunctionRequest request);

public class DeleteFunctionRequest {
    /** Function name (required) */
    private String functionName;
    /** Function version or alias (optional, deletes specific version if provided) */
    private String qualifier;
    
    public DeleteFunctionRequest withFunctionName(String functionName) { ... }
    public DeleteFunctionRequest withQualifier(String qualifier) { ... }
}

public class DeleteFunctionResult {
    // Empty response
}

Function Listing

Lists Lambda functions with pagination support.

/**
 * Lists Lambda functions (up to 50 per call)
 * @param request Function listing parameters
 * @return ListFunctionsResult containing function list and pagination token
 * @throws ServiceException if service encounters an error
 * @throws InvalidParameterValueException if parameters are invalid
 */
ListFunctionsResult listFunctions(ListFunctionsRequest request);

/**
 * Lists all Lambda functions with default parameters
 * @return ListFunctionsResult containing function list
 */
ListFunctionsResult listFunctions();

public class ListFunctionsRequest {
    /** ARN of master function (for edge functions, optional) */
    private String masterRegion;
    /** Function version filter (optional, values: ALL) */
    private String functionVersion;
    /** Pagination token from previous call (optional) */
    private String marker;
    /** Maximum functions to return (optional, range: 1-50, default: 50) */
    private Integer maxItems;
    
    public ListFunctionsRequest withMasterRegion(String masterRegion) { ... }
    public ListFunctionsRequest withFunctionVersion(String functionVersion) { ... }
    // ... other fluent setters
}

public class ListFunctionsResult {
    /** Next pagination token (null if no more results) */
    private String nextMarker;
    /** List of function configurations */
    private List<FunctionConfiguration> functions;
    
    // Standard getters
}

Usage Examples:

import com.amazonaws.services.lambda.*;
import com.amazonaws.services.lambda.model.*;
import java.nio.ByteBuffer;
import java.util.Base64;

// Create client
AWSLambda lambdaClient = AWSLambdaClientBuilder.defaultClient();

// Create function from ZIP file
byte[] zipContent = // ... load ZIP file bytes
CreateFunctionRequest createRequest = new CreateFunctionRequest()
    .withFunctionName("my-java-function")
    .withRuntime(Runtime.java11)
    .withRole("arn:aws:iam::123456789012:role/lambda-execution-role")
    .withHandler("com.example.MyHandler::handleRequest")
    .withCode(new FunctionCode().withZipFile(ByteBuffer.wrap(zipContent)))
    .withDescription("My Java Lambda function")
    .withTimeout(30)
    .withMemorySize(512)
    .withEnvironment(new Environment()
        .addVariablesEntry("ENV", "production")
        .addVariablesEntry("LOG_LEVEL", "INFO"));

CreateFunctionResult createResult = lambdaClient.createFunction(createRequest);
System.out.println("Created function: " + createResult.getFunctionArn());

// Update function code from S3
UpdateFunctionCodeRequest updateCodeRequest = new UpdateFunctionCodeRequest()
    .withFunctionName("my-java-function")
    .withS3Bucket("my-lambda-bucket")
    .withS3Key("my-function-v2.zip")
    .withPublish(true);

UpdateFunctionCodeResult updateResult = lambdaClient.updateFunctionCode(updateCodeRequest);
System.out.println("Updated to version: " + updateResult.getVersion());

// Update function configuration
UpdateFunctionConfigurationRequest updateConfigRequest = new UpdateFunctionConfigurationRequest()
    .withFunctionName("my-java-function")
    .withTimeout(60)
    .withMemorySize(1024)
    .withEnvironment(new Environment()
        .addVariablesEntry("ENV", "production")
        .addVariablesEntry("LOG_LEVEL", "DEBUG"));

UpdateFunctionConfigurationResult configResult = lambdaClient.updateFunctionConfiguration(updateConfigRequest);

// Get function information
GetFunctionRequest getRequest = new GetFunctionRequest()
    .withFunctionName("my-java-function");
GetFunctionResult getResult = lambdaClient.getFunction(getRequest);
System.out.println("Function state: " + getResult.getConfiguration().getState());

// List all functions
ListFunctionsResult listResult = lambdaClient.listFunctions();
for (FunctionConfiguration func : listResult.getFunctions()) {
    System.out.println(func.getFunctionName() + " - " + func.getRuntime());
}

// Delete function
DeleteFunctionRequest deleteRequest = new DeleteFunctionRequest()
    .withFunctionName("my-java-function");
lambdaClient.deleteFunction(deleteRequest);

Install with Tessl CLI

npx tessl i tessl/maven-com-amazonaws--aws-java-sdk-lambda

docs

account-settings.md

alias-version-management.md

client-management.md

concurrency-performance.md

event-source-mapping.md

function-invocation.md

function-management.md

function-url-management.md

high-level-invocation.md

index.md

layer-management.md

permissions-policies.md

runtime-management.md

security-code-signing.md

tagging.md

waiters-polling.md

tile.json