AWS Java SDK client for communicating with AWS Lambda Service for function management, invocation, and resource control
—
Core client interfaces and builders for creating Lambda service connections with various configuration options including region, credentials, and endpoint configuration.
Primary synchronous client interface providing all Lambda service operations.
/**
* AWS Lambda synchronous client interface
* Provides access to all Lambda service operations with blocking execution
*/
public interface AWSLambda {
/** Service endpoint prefix */
String ENDPOINT_PREFIX = "lambda";
// Function Management
CreateFunctionResult createFunction(CreateFunctionRequest request);
GetFunctionResult getFunction(GetFunctionRequest request);
UpdateFunctionCodeResult updateFunctionCode(UpdateFunctionCodeRequest request);
UpdateFunctionConfigurationResult updateFunctionConfiguration(UpdateFunctionConfigurationRequest request);
DeleteFunctionResult deleteFunction(DeleteFunctionRequest request);
ListFunctionsResult listFunctions(ListFunctionsRequest request);
ListFunctionsResult listFunctions(); // Simplified overload
GetFunctionConfigurationResult getFunctionConfiguration(GetFunctionConfigurationRequest request);
// Function Invocation
InvokeResult invoke(InvokeRequest request);
InvokeAsyncResult invokeAsync(InvokeAsyncRequest request); // Deprecated
// Version and Alias Management
PublishVersionResult publishVersion(PublishVersionRequest request);
ListVersionsByFunctionResult listVersionsByFunction(ListVersionsByFunctionRequest request);
CreateAliasResult createAlias(CreateAliasRequest request);
GetAliasResult getAlias(GetAliasRequest request);
UpdateAliasResult updateAlias(UpdateAliasRequest request);
DeleteAliasResult deleteAlias(DeleteAliasRequest request);
ListAliasesResult listAliases(ListAliasesRequest request);
// Event Source Mapping
CreateEventSourceMappingResult createEventSourceMapping(CreateEventSourceMappingRequest request);
GetEventSourceMappingResult getEventSourceMapping(GetEventSourceMappingRequest request);
UpdateEventSourceMappingResult updateEventSourceMapping(UpdateEventSourceMappingRequest request);
DeleteEventSourceMappingResult deleteEventSourceMapping(DeleteEventSourceMappingRequest request);
ListEventSourceMappingsResult listEventSourceMappings(ListEventSourceMappingsRequest request);
ListEventSourceMappingsResult listEventSourceMappings(); // Simplified overload
// Layer Management
PublishLayerVersionResult publishLayerVersion(PublishLayerVersionRequest request);
GetLayerVersionResult getLayerVersion(GetLayerVersionRequest request);
GetLayerVersionByArnResult getLayerVersionByArn(GetLayerVersionByArnRequest request);
DeleteLayerVersionResult deleteLayerVersion(DeleteLayerVersionRequest request);
ListLayersResult listLayers(ListLayersRequest request);
ListLayerVersionsResult listLayerVersions(ListLayerVersionsRequest request);
AddLayerVersionPermissionResult addLayerVersionPermission(AddLayerVersionPermissionRequest request);
RemoveLayerVersionPermissionResult removeLayerVersionPermission(RemoveLayerVersionPermissionRequest request);
GetLayerVersionPolicyResult getLayerVersionPolicy(GetLayerVersionPolicyRequest request);
// Concurrency Management
PutFunctionConcurrencyResult putFunctionConcurrency(PutFunctionConcurrencyRequest request);
GetFunctionConcurrencyResult getFunctionConcurrency(GetFunctionConcurrencyRequest request);
DeleteFunctionConcurrencyResult deleteFunctionConcurrency(DeleteFunctionConcurrencyRequest request);
PutProvisionedConcurrencyConfigResult putProvisionedConcurrencyConfig(PutProvisionedConcurrencyConfigRequest request);
GetProvisionedConcurrencyConfigResult getProvisionedConcurrencyConfig(GetProvisionedConcurrencyConfigRequest request);
DeleteProvisionedConcurrencyConfigResult deleteProvisionedConcurrencyConfig(DeleteProvisionedConcurrencyConfigRequest request);
ListProvisionedConcurrencyConfigsResult listProvisionedConcurrencyConfigs(ListProvisionedConcurrencyConfigsRequest request);
// Code Signing
CreateCodeSigningConfigResult createCodeSigningConfig(CreateCodeSigningConfigRequest request);
GetCodeSigningConfigResult getCodeSigningConfig(GetCodeSigningConfigRequest request);
UpdateCodeSigningConfigResult updateCodeSigningConfig(UpdateCodeSigningConfigRequest request);
DeleteCodeSigningConfigResult deleteCodeSigningConfig(DeleteCodeSigningConfigRequest request);
ListCodeSigningConfigsResult listCodeSigningConfigs(ListCodeSigningConfigsRequest request);
PutFunctionCodeSigningConfigResult putFunctionCodeSigningConfig(PutFunctionCodeSigningConfigRequest request);
GetFunctionCodeSigningConfigResult getFunctionCodeSigningConfig(GetFunctionCodeSigningConfigRequest request);
DeleteFunctionCodeSigningConfigResult deleteFunctionCodeSigningConfig(DeleteFunctionCodeSigningConfigRequest request);
ListFunctionsByCodeSigningConfigResult listFunctionsByCodeSigningConfig(ListFunctionsByCodeSigningConfigRequest request);
// Function URLs
CreateFunctionUrlConfigResult createFunctionUrlConfig(CreateFunctionUrlConfigRequest request);
GetFunctionUrlConfigResult getFunctionUrlConfig(GetFunctionUrlConfigRequest request);
UpdateFunctionUrlConfigResult updateFunctionUrlConfig(UpdateFunctionUrlConfigRequest request);
DeleteFunctionUrlConfigResult deleteFunctionUrlConfig(DeleteFunctionUrlConfigRequest request);
ListFunctionUrlConfigsResult listFunctionUrlConfigs(ListFunctionUrlConfigsRequest request);
// Event Invoke Configuration
PutFunctionEventInvokeConfigResult putFunctionEventInvokeConfig(PutFunctionEventInvokeConfigRequest request);
GetFunctionEventInvokeConfigResult getFunctionEventInvokeConfig(GetFunctionEventInvokeConfigRequest request);
UpdateFunctionEventInvokeConfigResult updateFunctionEventInvokeConfig(UpdateFunctionEventInvokeConfigRequest request);
DeleteFunctionEventInvokeConfigResult deleteFunctionEventInvokeConfig(DeleteFunctionEventInvokeConfigRequest request);
ListFunctionEventInvokeConfigsResult listFunctionEventInvokeConfigs(ListFunctionEventInvokeConfigsRequest request);
// Permissions and Policies
AddPermissionResult addPermission(AddPermissionRequest request);
RemovePermissionResult removePermission(RemovePermissionRequest request);
GetPolicyResult getPolicy(GetPolicyRequest request);
// Tagging
TagResourceResult tagResource(TagResourceRequest request);
UntagResourceResult untagResource(UntagResourceRequest request);
ListTagsResult listTags(ListTagsRequest request);
// Account and Runtime Management
GetAccountSettingsResult getAccountSettings(GetAccountSettingsRequest request);
GetRuntimeManagementConfigResult getRuntimeManagementConfig(GetRuntimeManagementConfigRequest request);
PutRuntimeManagementConfigResult putRuntimeManagementConfig(PutRuntimeManagementConfigRequest request);
// Utility Methods
void shutdown();
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
AWSLambdaWaiters waiters();
}Asynchronous client interface extending AWSLambda with Future-based operations and AsyncHandler support.
/**
* AWS Lambda asynchronous client interface
* All operations return Future objects and support AsyncHandler callbacks
*/
public interface AWSLambdaAsync extends AWSLambda {
// All methods from AWSLambda plus async versions:
/**
* Asynchronous function creation with callback support
* @param request Function creation parameters
* @param asyncHandler Optional callback handler for completion notification
* @return Future containing CreateFunctionResult
*/
Future<CreateFunctionResult> createFunctionAsync(
CreateFunctionRequest request,
AsyncHandler<CreateFunctionRequest, CreateFunctionResult> asyncHandler
);
/**
* Asynchronous function invocation
* @param request Invocation parameters
* @param asyncHandler Optional callback handler
* @return Future containing InvokeResult
*/
Future<InvokeResult> invokeAsync(
InvokeRequest request,
AsyncHandler<InvokeRequest, InvokeResult> asyncHandler
);
// Similar async methods for all other operations...
}Builder pattern implementation for creating configured AWSLambda client instances.
/**
* Builder for creating AWSLambda client instances with custom configuration
*/
public final class AWSLambdaClientBuilder
extends AwsSyncClientBuilder<AWSLambdaClientBuilder, AWSLambda> {
/**
* Create default builder instance
* @return New AWSLambdaClientBuilder
*/
public static AWSLambdaClientBuilder standard();
/**
* Create default client with standard configuration
* @return Configured AWSLambda client
*/
public static AWSLambda defaultClient();
/**
* Build the configured client
* @return AWSLambda client instance
*/
@Override
public AWSLambda build();
}Builder for creating asynchronous Lambda client instances.
/**
* Builder for creating AWSLambdaAsync client instances
*/
public final class AWSLambdaAsyncClientBuilder
extends AwsAsyncClientBuilder<AWSLambdaAsyncClientBuilder, AWSLambdaAsync> {
/**
* Create default async builder
* @return New AWSLambdaAsyncClientBuilder
*/
public static AWSLambdaAsyncClientBuilder standard();
/**
* Create default async client
* @return Configured AWSLambdaAsync client
*/
public static AWSLambdaAsync defaultClient();
/**
* Build the configured async client
* @return AWSLambdaAsync client instance
*/
@Override
public AWSLambdaAsync build();
}Base classes for custom client implementations.
/**
* Abstract base class for custom AWSLambda implementations
* Provides default implementations for utility methods
*/
public abstract class AbstractAWSLambda implements AWSLambda {
protected AbstractAWSLambda();
@Override
public void shutdown() {
// Default implementation
}
@Override
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
// Default implementation
return null;
}
@Override
public AWSLambdaWaiters waiters() {
// Default waiter implementation
return new AWSLambdaWaiters(this);
}
}
/**
* Abstract base class for custom AWSLambdaAsync implementations
*/
public abstract class AbstractAWSLambdaAsync extends AbstractAWSLambda implements AWSLambdaAsync {
protected AbstractAWSLambdaAsync();
// Provides default async implementations that delegate to sync methods
@Override
public Future<CreateFunctionResult> createFunctionAsync(
CreateFunctionRequest request,
AsyncHandler<CreateFunctionRequest, CreateFunctionResult> asyncHandler
) {
// Default async delegation implementation
return null;
}
// Similar default implementations for other async methods...
}Usage Examples:
import com.amazonaws.services.lambda.*;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
// Standard synchronous client
AWSLambda lambdaClient = AWSLambdaClientBuilder.standard()
.withRegion(Regions.US_EAST_1)
.build();
// Configured synchronous client
AWSLambda configuredClient = AWSLambdaClientBuilder.standard()
.withRegion(Regions.US_WEST_2)
.withCredentials(new ProfileCredentialsProvider("myprofile"))
.build();
// Asynchronous client
AWSLambdaAsync asyncClient = AWSLambdaAsyncClientBuilder.standard()
.withRegion(Regions.EU_WEST_1)
.build();
// Default clients (uses default credential chain and region)
AWSLambda defaultClient = AWSLambdaClientBuilder.defaultClient();
AWSLambdaAsync defaultAsync = AWSLambdaAsyncClientBuilder.defaultClient();
// Don't forget to shutdown when done
lambdaClient.shutdown();
asyncClient.shutdown();Install with Tessl CLI
npx tessl i tessl/maven-com-amazonaws--aws-java-sdk-lambdadocs