【问题标题】:How to force AWS SAM CLI to detect changes?如何强制 AWS SAM CLI 检测更改?
【发布时间】:2021-03-19 18:02:25
【问题描述】:

Amazon 的 SAM CLI 不会在不重建的情况下获取更改。文档听起来好像我每次更改函数时都不必启动/重建/重新启动。事实上,发出sam local start-api 命令会提供以下消息...

You do not need to restart/reload SAM CLI while working on your 
functions, changes will be reflected instantly/automatically.  
You only need to restart SAM CLI if you update your AWS SAM template.  

但是,不会自动检测到更改。所以,改变这个...

const test = async (event, context) => {
  const body = JSON.parse(event.body || {});
  return toResponse(body);
};

...到这个...

const test = async (event, context) => {
  const body = JSON.parse(event.body || {});
  body.date = new Date();
  return toResponse(body);
};

...应该使body 变量包含date 属性。不幸的是,强制执行此操作的唯一方法是停止 (CTRL+C),然后...

sam build
sam local start-api

这是一种折磨,因为 sam build 在 32GB i7 MacBook Pro 上需要将近一分钟。

【问题讨论】:

    标签: aws-lambda aws-sam aws-sam-cli


    【解决方案1】:

    要解决构建时间问题,而不是构建整个模板文件,只需构建您已更改的 Lambda。

    sam build <FunctionName>
    sam local start-api
    

    应该和你在template.yaml中指定的一样。

    【讨论】:

    • 谢谢,但目标是让 AWS SAM CLI 检测更改并在 CLI 宣布时自动处理它们。
    猜你喜欢
    • 1970-01-01
    • 2013-04-26
    • 2012-05-06
    • 2021-01-30
    • 2019-09-18
    • 2020-04-22
    • 2019-12-05
    • 2017-05-07
    • 2020-06-03
    相关资源
    最近更新 更多