提问人:Thiago Lemos 提问时间:11/10/2023 更新时间:11/10/2023 访问量:16
如何通过amplify.yml(没有CLI)自动创建/调度lambda函数?
How to automatically create/schedule a lambda function through amplify.yml (without the CLI)?
问:
以下是该问题的上下文摘要:
- 使用 NextJS 应用程序;
- 尝试在 AWS 上运行构建放大;
- 应用程序依赖于定期调用某些 URL 的 lambda 函数;
- 我们启用了 AWS Studio 和 PR 预览;
如果我们手动创建和调度 lambda 函数,我们可以让事情正常工作,但理想的情况是,函数会根据 amplify.yml 文件(位于项目的根目录)上的指令自动创建和调度。
我们尝试使用以下 amplify.yml 文件:
version: 1
applications:
- appRoot: client/
frontend:
phases:
preBuild:
commands:
- npm ci
build:
commands:
- (some other preparation commands)
artifacts:
baseDirectory: .next
files:
- '**/*'
cache:
paths:
- node_modules/**/*
backend:
functions:
cronJob${env:ENV_NAME}:
service: Lambda
handler: lambda-functions/cronjob.handler
runtime: nodejs14.x
environment:
(some envs for the lambda)
events:
- cloudwatchEvent:
event:
source:
- "aws.events"
detail:
eventName:
- ${env:ENV_NAME}Event
parameters:
schedule: "cron(0/1 * * * ? *)" # Trigger every minute
尝试在 AWS amplify 上运行构建,它通过了后端阶段,并出现以下错误: “未找到后端环境关联,继续...”
“后端”部分的语法可能有问题(甚至可能是 AWS amplify 面板上的配置有问题),但我们找不到任何详细说明这部分的文档(关于如何通过 amplify.yml 上的指令创建/调度 lambda 函数)。
也可能是这是不可能的,例如,我们必须采用在项目上集成放大 CLI 的方式,并在构建的准备阶段调用命令来设置 lambda 函数。
无论哪种方式,都希望得到一些澄清。
答: 暂无答案
评论