CtrlK
BlogDocsLog inGet started
Tessl Logo

giuseppe-trisciuoglio/developer-kit

Comprehensive developer toolkit providing reusable skills for Java/Spring Boot, TypeScript/NestJS/React/Next.js, Python, PHP, AWS CloudFormation, AI/RAG, DevOps, and more.

89

Quality

89%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Risky

Do not use without reviewing

Overview
Quality
Evals
Security
Files

function-management.mdplugins/developer-kit-java/skills/aws-sdk-java-v2-lambda/references/

Lambda Function Management

List Functions

import software.amazon.awssdk.services.lambda.model.ListFunctionsResponse;
import software.amazon.awssdk.services.lambda.model.FunctionConfiguration;

public List<FunctionConfiguration> listFunctions(LambdaClient lambdaClient) {
    ListFunctionsResponse response = lambdaClient.listFunctions();
    return response.functions();
}

Get Function Configuration

public FunctionConfiguration getFunctionConfig(LambdaClient lambdaClient,
                                                String functionName) {
    GetFunctionRequest request = GetFunctionRequest.builder()
        .functionName(functionName)
        .build();

    GetFunctionResponse response = lambdaClient.getFunction(request);

    return response.configuration();
}

Update Function Code

import java.nio.file.Files;
import java.nio.file.Paths;

public void updateFunctionCode(LambdaClient lambdaClient,
                               String functionName,
                               String zipFilePath) throws IOException {
    byte[] zipBytes = Files.readAllBytes(Paths.get(zipFilePath));

    UpdateFunctionCodeRequest request = UpdateFunctionCodeRequest.builder()
        .functionName(functionName)
        .zipFile(SdkBytes.fromByteArray(zipBytes))
        .publish(true)
        .build();

    UpdateFunctionCodeResponse response = lambdaClient.updateFunctionCode(request);

    System.out.println("Updated function version: " + response.version());
}

Update Function Configuration

public void updateFunctionConfiguration(LambdaClient lambdaClient,
                                        String functionName,
                                        Map<String, String> environment) {
    Environment env = Environment.builder()
        .variables(environment)
        .build();

    UpdateFunctionConfigurationRequest request = UpdateFunctionConfigurationRequest.builder()
        .functionName(functionName)
        .environment(env)
        .timeout(60)
        .memorySize(512)
        .build();

    lambdaClient.updateFunctionConfiguration(request);
}

Create Function

public void createFunction(LambdaClient lambdaClient,
                          String functionName,
                          String roleArn,
                          String handler,
                          String zipFilePath) throws IOException {
    byte[] zipBytes = Files.readAllBytes(Paths.get(zipFilePath));

    FunctionCode code = FunctionCode.builder()
        .zipFile(SdkBytes.fromByteArray(zipBytes))
        .build();

    CreateFunctionRequest request = CreateFunctionRequest.builder()
        .functionName(functionName)
        .runtime(Runtime.JAVA17)
        .role(roleArn)
        .handler(handler)
        .code(code)
        .timeout(60)
        .memorySize(512)
        .build();

    CreateFunctionResponse response = lambdaClient.createFunction(request);

    System.out.println("Function ARN: " + response.functionArn());
}

Delete Function

public void deleteFunction(LambdaClient lambdaClient, String functionName) {
    DeleteFunctionRequest request = DeleteFunctionRequest.builder()
        .functionName(functionName)
        .build();

    lambdaClient.deleteFunction(request);
}

Environment Variables

Set Environment Variables

public void setEnvironmentVariables(LambdaClient lambdaClient,
                                   String functionName,
                                   Map<String, String> variables) {
    Environment environment = Environment.builder()
        .variables(variables)
        .build();

    UpdateFunctionConfigurationRequest request = UpdateFunctionConfigurationRequest.builder()
        .functionName(functionName)
        .environment(environment)
        .build();

    lambdaClient.updateFunctionConfiguration(request);
}

Get Environment Variables

public Map<String, String> getEnvironmentVariables(LambdaClient lambdaClient,
                                                    String functionName) {
    GetFunctionConfigurationRequest request = GetFunctionConfigurationRequest.builder()
        .functionName(functionName)
        .build();

    GetFunctionConfigurationResponse response = lambdaClient.getFunctionConfiguration(request);

    return response.environment().variables();
}

Concurrency Configuration

Set Reserved Concurrency

public void setReservedConcurrency(LambdaClient lambdaClient,
                                   String functionName,
                                   Integer concurrentExecutions) {
    PutFunctionConcurrencyRequest request = PutFunctionConcurrencyRequest.builder()
        .functionName(functionName)
        .reservedConcurrentExecutions(concurrentExecutions)
        .build();

    lambdaClient.putFunctionConcurrency(request);
}

Set Provisioned Concurrency

public void setProvisionedConcurrency(LambdaClient lambdaClient,
                                      String functionName,
                                      String aliasName,
                                      Integer provisionedConcurrentExecutions) {
    PutProvisionedConcurrencyConfigRequest request = PutProvisionedConcurrencyConfigRequest.builder()
        .functionName(functionName)
        .qualifier(aliasName)
        .provisionedConcurrentExecutions(provisionedConcurrentExecutions)
        .build();

    lambdaClient.putProvisionedConcurrencyConfig(request);
}

Layers Management

List Layers

public List<LayerConfiguration> listLayers(LambdaClient lambdaClient) {
    ListLayersResponse response = lambdaClient.listLayers();
    return response.layers();
}

Add Layer to Function

public void addLayerToFunction(LambdaClient lambdaClient,
                               String functionName,
                               String layerArn) {
    UpdateFunctionConfigurationRequest request = UpdateFunctionConfigurationRequest.builder()
        .functionName(functionName)
        .layers(layerArn)
        .build();

    lambdaClient.updateFunctionConfiguration(request);
}

Aliases and Versions

Create Alias

public void createAlias(LambdaClient lambdaClient,
                       String functionName,
                       String aliasName,
                       String version) {
    CreateAliasRequest request = CreateAliasRequest.builder()
        .functionName(functionName)
        .name(aliasName)
        .functionVersion(version)
        .build();

    lambdaClient.createAlias(request);
}

Update Alias

public void updateAlias(LambdaClient lambdaClient,
                       String functionName,
                       String aliasName,
                       String newVersion) {
    UpdateAliasRequest request = UpdateAliasRequest.builder()
        .functionName(functionName)
        .name(aliasName)
        .functionVersion(newVersion)
        .build();

    lambdaClient.updateAlias(request);
}

Publish Version

public String publishVersion(LambdaClient lambdaClient,
                            String functionName) {
    PublishVersionRequest request = PublishVersionRequest.builder()
        .functionName(functionName)
        .build();

    PublishVersionResponse response = lambdaClient.publishVersion(request);

    return response.version();
}

plugins

developer-kit-java

skills

README.md

CHANGELOG.md

context7.json

CONTRIBUTING.md

README_CN.md

README_ES.md

README_IT.md

README.md

tessl.json

tile.json