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

client-management.mddocs/

Client Management

Core client interfaces and builders for creating Lambda service connections with various configuration options including region, credentials, and endpoint configuration.

Capabilities

AWSLambda Interface

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();
}

AWSLambdaAsync Interface

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...
}

AWSLambdaClientBuilder

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();
}

AWSLambdaAsyncClientBuilder

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();
}

Abstract Base Classes

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