在具有自动生成名称的文件夹中部署 lambda 代码
deploying lambda code inside a folder with an autogenerated name
我正在尝试在 pulumi-aws 中设置一个 lambda,但我的函数代码在部署时被包装在一个与生成的 lambda 函数名称同名的文件夹中。
我不希望有这个,因为它是不必要的,但更重要的是,这意味着我无法确定生成文件夹名称时我的处理程序应该是什么?
(我知道我可能可以使用引用来获取这个生成的名称,但我不喜欢无缘无故增加的复杂性。我没有看到将此文件夹放在 lambda 中的充分理由?)
例如我的函数代码是 1 个简单的 index.js 文件。带有 1 个命名的处理程序导出。我希望我的 lambda 处理程序是 index.handler.
(请注意,我的 pulumi 代码使用的是 TypeScript,但 Lambda 在 JavaScript 中。)
我已经为代码尝试了几个选项 属性:
const addTimesheetEntryLambda = new aws.lambda.Function("add-timesheet-entry", {
code: new pulumi.asset.AssetArchive({
"index.js": new pulumi.asset.FileAsset('./lambdas/add-timesheet-entry/index.js'),
}),
在此示例中,zip 文件只是一个 index.js,zip 中没有文件夹信息。
const addTimesheetEntryLambda = new aws.lambda.Function("add-timesheet-entry", {
code: new pulumi.asset.FileArchive("lambdatest.zip"),
AWS Lambda 代码总是在一个以函数名命名的 "folder" 中。这是我在 Web 控制台中创建的 Lambda:
虽然它不会影响处理程序的命名。 index.handler
就好了。
我正在尝试在 pulumi-aws 中设置一个 lambda,但我的函数代码在部署时被包装在一个与生成的 lambda 函数名称同名的文件夹中。
我不希望有这个,因为它是不必要的,但更重要的是,这意味着我无法确定生成文件夹名称时我的处理程序应该是什么?
(我知道我可能可以使用引用来获取这个生成的名称,但我不喜欢无缘无故增加的复杂性。我没有看到将此文件夹放在 lambda 中的充分理由?)
例如我的函数代码是 1 个简单的 index.js 文件。带有 1 个命名的处理程序导出。我希望我的 lambda 处理程序是 index.handler.
(请注意,我的 pulumi 代码使用的是 TypeScript,但 Lambda 在 JavaScript 中。)
我已经为代码尝试了几个选项 属性:
const addTimesheetEntryLambda = new aws.lambda.Function("add-timesheet-entry", {
code: new pulumi.asset.AssetArchive({
"index.js": new pulumi.asset.FileAsset('./lambdas/add-timesheet-entry/index.js'),
}),
在此示例中,zip 文件只是一个 index.js,zip 中没有文件夹信息。
const addTimesheetEntryLambda = new aws.lambda.Function("add-timesheet-entry", {
code: new pulumi.asset.FileArchive("lambdatest.zip"),
AWS Lambda 代码总是在一个以函数名命名的 "folder" 中。这是我在 Web 控制台中创建的 Lambda:
虽然它不会影响处理程序的命名。 index.handler
就好了。