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.

90

Quality

90%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Risky

Do not use without reviewing

This version of the tile failed moderation
Moderation pipeline encountered an internal error
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