Skip to main content
aws-sdk-java-v2-lambda Provides AWS Lambda patterns using AWS SDK for Java 2.x. Use when invoking Lambda functions, creating/updating functions, managing function configurations, working with Lambda layers, or integrating Lambda with Spring Boot applications.
설치로 이동 Skills Marketplace 커뮤니티가 만든 AI 스킬을 발견하고 탐색하세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/giuseppe-trisciuoglio/developer-kit --skill aws-sdk-java-v2-lambda명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Zip 다운로드 다운로드 중... 이 저장소의 다른 Skills Posts review findings from a JSON file as inline comments on a GitHub Pull Request, attaching each comment to its file and line. Use when you have a list/JSON of review findings (each with a file path, line number, and a message such as summary/failure_scenario) and want them published on a PR as inline review comments. Triggers include "post these review comments on the PR", "associate comments to files in the PR", "publish review findings to PR
typescript-security-review Provides security review capability for TypeScript/Node.js applications, validates code against XSS, injection, CSRF, JWT/OAuth2 flaws, dependency CVEs, and secrets exposure. Use when performing security audits, before deployment, reviewing authentication/authorization implementations, or ensuring OWASP compliance for Express, NestJS, and Next.js. Triggers on "security review", "check for security issues", "TypeScript security audit".
Initialize Spec-Driven Development context — detects tech stack, conventions, architecture patterns, and bootstraps persistence backends. Triggers on 'sdd-init', 'init sdd', 'setup sdd', 'initialize sdd', 'setup project', 'initialize project context'. Creates/updates docs/specs/architecture.md & ontology.md (Constitution), and populates knowledge-graph.json.
giuseppe-trisciuoglio
giuseppe-trisciuoglio/developer-kit
GitHub 저장소 열기 name aws-sdk-java-v2-lambda description Provides AWS Lambda patterns using AWS SDK for Java 2.x. Use when invoking Lambda functions, creating/updating functions, managing function configurations, working with Lambda layers, or integrating Lambda with Spring Boot applications. allowed-tools Read, Write, Edit, Bash, Glob, Grep
AWS SDK for Java 2.x - AWS Lambda
Overview
AWS Lambda is a compute service that runs code without managing servers. Use this skill to implement AWS Lambda operations using AWS SDK for Java 2.x in applications and services.
When to Use
Invoking Lambda functions from Java applications
Deploying and updating Lambda functions via SDK
Managing function configurations and layers
Integrating Lambda with Spring Boot applications
Quick Reference
Operation SDK Method Use Case Invoke invoke()Synchronous/async function invocation List Functions listFunctions()Get all Lambda functions Get Config getFunction()Retrieve function configuration Create Function createFunction()Create new Lambda function Update Code
updateFunctionCode()
Update Config updateFunctionConfiguration()Modify settings (timeout, memory, env vars)
Delete Function deleteFunction()Remove Lambda function
Instructions
1. Add Dependencies Include Lambda SDK dependency in pom.xml:
<dependency >
<groupId > software.amazon.awssdk</groupId >
<artifactId > lambda</artifactId >
</dependency >
2. Create Client Instantiate LambdaClient with proper configuration:
LambdaClient lambdaClient = LambdaClient.builder()
.region(Region.US_EAST_1)
.build();
For async operations, use LambdaAsyncClient.
3. Invoke Lambda Function InvokeRequest request = InvokeRequest.builder()
.functionName("my-function" )
.payload(SdkBytes.fromUtf8String(payload))
.build();
InvokeResponse response = lambdaClient.invoke(request);
return response.payload().asUtf8String();
4. Handle Responses Parse response payloads and check for errors:
if (response.functionError() != null ) {
throw new LambdaInvocationException ("Lambda error: " + response.functionError());
}
String result = response.payload().asUtf8String();
5. Manage Functions Create, update, or delete Lambda functions:
CreateFunctionRequest createRequest = CreateFunctionRequest.builder()
.functionName("my-function" )
.runtime(Runtime.JAVA17)
.role(roleArn)
.code(code)
.build();
lambdaClient.createFunction(createRequest);
GetFunctionRequest getRequest = GetFunctionRequest.builder()
.functionName("my-function" )
.build();
GetFunctionResponse getResponse = lambdaClient.getFunction(getRequest);
if (!"Active" .equals(getResponse.configuration().state())) {
throw new IllegalStateException ("Function not active: " + getResponse.configuration().stateReason());
}
UpdateFunctionCodeRequest updateCodeRequest = UpdateFunctionCodeRequest.builder()
.functionName("my-function" )
.zipFile(SdkBytes.fromByteArray(zipBytes))
.build();
lambdaClient.updateFunctionCode(updateCodeRequest);
Waiter<GetFunctionConfigurationRequest> waiter = lambdaClient.waiter();
waiter.waitUntilFunctionUpdatedActive(GetFunctionConfigurationRequest.builder()
.functionName("my-function" )
.build());
6. Configure Environment Set environment variables and concurrency limits:
Environment env = Environment.builder()
.variables(Map.of(
"DB_URL" , "jdbc:postgresql://db" ,
"LOG_LEVEL" , "INFO"
))
.build();
UpdateFunctionConfigurationRequest configRequest = UpdateFunctionConfigurationRequest.builder()
.functionName("my-function" )
.environment(env)
.timeout(60 )
.memorySize(512 )
.build();
lambdaClient.updateFunctionConfiguration(configRequest);
7. Integrate with Spring Boot Configure Lambda beans and services:
@Configuration
public class LambdaConfiguration {
@Bean
public LambdaClient lambdaClient () {
return LambdaClient.builder()
.region(Region.US_EAST_1)
.build();
}
}
@Service
public class LambdaInvokerService {
public <T, R> R invoke (String functionName, T request, Class<R> responseType) {
}
}
8. Test Locally Use mocks or LocalStack for development testing.
Examples
Basic Invocation public String invokeFunction (LambdaClient client, String functionName, String payload) {
InvokeRequest request = InvokeRequest.builder()
.functionName(functionName)
.payload(SdkBytes.fromUtf8String(payload))
.build();
InvokeResponse response = client.invoke(request);
if (response.functionError() != null ) {
throw new RuntimeException ("Lambda error: " + response.functionError());
}
return response.payload().asUtf8String();
}
Async Invocation public void invokeAsync (LambdaClient client, String functionName, Map<String, Object> event) {
String jsonPayload = new ObjectMapper ().writeValueAsString(event);
InvokeRequest request = InvokeRequest.builder()
.functionName(functionName)
.invocationType(InvocationType.EVENT)
.payload(SdkBytes.fromUtf8String(jsonPayload))
.build();
client.invoke(request);
}
Spring Boot Service @Service
public class LambdaService {
private final LambdaClient lambdaClient;
public UserResponse processUser (UserRequest request) {
String payload = objectMapper.writeValueAsString(request);
InvokeResponse response = lambdaClient.invoke(
InvokeRequest.builder()
.functionName("user-processor" )
.payload(SdkBytes.fromUtf8String(payload))
.build()
);
return objectMapper.readValue(
response.payload().asUtf8String(),
UserResponse.class
);
}
}
Best Practices
Reuse clients : Create LambdaClient/LambdaAsyncClient once; they are thread-safe
Use async client : For fire-and-forget invocations, use LambdaAsyncClient with CompletableFuture
Verify deployments : Always wait for function state to be Active after create/update operations
Limit payload size : Keep request/response payloads under 256KB for async, 6MB for sync invocations
Configure timeouts : Set client read timeout slightly higher than Lambda function timeout
Use latest runtime : Specify Runtime.JAVA17 or newer for improved cold start performance
Constraints and Warnings
Payload Limit : 6MB (sync), 256KB (async invocation)
Timeout : Max 900 seconds (15 minutes) per invocation
Cold Starts : JVM-based functions have longer cold starts; use GraalVM Native Image for improvement
Deployment Size : Function code + layers must not exceed 50MB (zipped) or 250MB (unzipped)
Concurrency : Default 1000 per region; use reserved concurrency to guarantee capacity
Cost : Monitor with CloudWatch metrics; set billing alerts to prevent runaway costs
References
Related Skills
aws-sdk-java-v2-core — Core AWS SDK patterns and client configuration
spring-boot-dependency-injection — Spring dependency injection best practices
unit-test-service-layer — Service testing patterns with Mockito
spring-boot-actuator — Production monitoring and health checks
External Resources