What is @aws-sdk/client-lambda?
The @aws-sdk/client-lambda package is a client library for AWS Lambda that allows developers to interact with the AWS Lambda service programmatically. It provides methods to create, update, delete, and invoke Lambda functions, as well as manage function configurations, aliases, and versions.
What are @aws-sdk/client-lambda's main functionalities?
Invoke a Lambda function
This feature allows you to invoke an AWS Lambda function with optional payload. The response includes the result of the function execution.
{"const { LambdaClient, InvokeCommand } = require('@aws-sdk/client-lambda');
const client = new LambdaClient({ region: 'us-west-2' });
const params = {
FunctionName: 'my-lambda-function',
Payload: Buffer.from(JSON.stringify({ key: 'value' }))
};
const command = new InvokeCommand(params);
client.send(command).then((response) => {
console.log(response);
}).catch((error) => {
console.error(error);
});"}
Create a Lambda function
This feature allows you to create a new AWS Lambda function by specifying the code, function name, handler, role, and runtime.
{"const { LambdaClient, CreateFunctionCommand } = require('@aws-sdk/client-lambda');
const client = new LambdaClient({ region: 'us-west-2' });
const params = {
Code: { /* code properties */ },
FunctionName: 'my-new-function',
Handler: 'index.handler',
Role: 'arn:aws:iam::123456789012:role/lambda-role',
Runtime: 'nodejs12.x'
};
const command = new CreateFunctionCommand(params);
client.send(command).then((response) => {
console.log(response);
}).catch((error) => {
console.error(error);
});"}
List Lambda functions
This feature allows you to list all of your AWS Lambda functions in a specific region.
{"const { LambdaClient, ListFunctionsCommand } = require('@aws-sdk/client-lambda');
const client = new LambdaClient({ region: 'us-west-2' });
const command = new ListFunctionsCommand({});
client.send(command).then((response) => {
console.log(response.Functions);
}).catch((error) => {
console.error(error);
});"}
Other packages similar to @aws-sdk/client-lambda
aws-sdk
The 'aws-sdk' package is the previous version of the AWS SDK for JavaScript. It provides similar functionalities to interact with AWS Lambda and other AWS services. However, @aws-sdk/client-lambda is part of the modular AWS SDK for JavaScript (v3), which allows for importing only the specific clients needed, potentially reducing bundle sizes and improving load times.
serverless
The 'serverless' package is a framework for building serverless applications using AWS Lambda and other cloud providers. It provides a higher-level abstraction for deploying and managing serverless functions, whereas @aws-sdk/client-lambda is a lower-level client for direct interaction with the AWS Lambda service API.
claudia
The 'claudia' package is a deployment tool for AWS Lambda and API Gateway. It simplifies the process of deploying Node.js projects to AWS Lambda. While Claudia focuses on the deployment aspect, @aws-sdk/client-lambda provides a programmatic interface for managing and invoking Lambda functions.