AWS Lambda Function ​
The Function resource lets you create and manage AWS Lambda functions with support for Node.js runtimes, environment variables, and function URLs.
Minimal Example ​
Create a basic Lambda function with default settings:
ts
import { Function } from "alchemy/aws";
const func = await Function("api", {
functionName: "my-api",
bundle: bundle,
roleArn: role.arn,
handler: "index.handler"
});
With Environment Variables ​
Add environment variables to configure the function:
ts
const func = await Function("api", {
functionName: "my-api",
bundle: bundle,
roleArn: role.arn,
handler: "index.handler",
environment: {
TABLE_NAME: table.name,
QUEUE_URL: queue.url,
}
});
With Function URL ​
Create a public HTTP endpoint for the function:
ts
const func = await Function("api", {
functionName: "my-api",
bundle: bundle,
roleArn: role.arn,
handler: "index.handler",
url: {
authType: "NONE",
cors: {
allowOrigins: ["*"],
allowMethods: ["GET", "POST"],
allowHeaders: ["content-type"]
}
}
});
With Custom Configuration ​
Customize memory, timeout and other settings:
ts
const func = await Function("worker", {
functionName: "worker",
bundle: bundle,
roleArn: role.arn,
handler: "worker.process",
runtime: "nodejs20.x",
architecture: "arm64",
memorySize: 512,
timeout: 30,
tags: {
Environment: "production"
}
});