AWS SAM 模板不执行构建方法



我有一个有点非标准打包的lambda函数。我正在使用Makefile来帮助我打包我需要的东西,并通过sam build命令将其用作我的构建方法。但是我没有看到正在执行此制作文件。想不通为什么不。 这是我所拥有的:

sam_template.yaml:

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
subscriptions_functions
Sample SAM Template for subscriptions_functions
Globals:
Function:
Timeout: 3
Resources:
GetSubscriptionsFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Handler: app.lambda_handler_individual_methods
Runtime: python3.7
Events:
GetSubscriptions:
Type: Api 
Properties:
Path: /subscriptions
Method: get
Metadata:
BuildMethod: makefile
Environment:
Variables:
SERVICE_METHOD_NAME: 'xyz'
REQ_CLASS_NAME: 'xyz'
RES_CLASS_NAME: 'xyz'

Makefile:(名称基于一些 AWS 示例(


build-GetSubscriptionsFunction:
@echo "Buliding artifacts with sls. Destination dir " $(ARTIFACTS_DIR)
sls package --env aws
mkdir -p $(ARTIFACTS_DIR)
unzip .serverless/subscriptions.zip -d $(ARTIFACTS_DIR)
cp requirements.txt $(ARTIFACTS_DIR)
python -m pip install -r requirements.txt -t $(ARTIFACTS_DIR)
rm -rf $(ARTIFACTS_DIR)/bin

当我运行sam build -t sam_template.yaml时构建成功,但我可以告诉 Makefile 没有运行(没有打印出消息,它会创建一个.serverless目录,但它没有(

有人知道此设置有什么问题吗?

所以我想通了,这与语法无关。 我从IntelliJ终端运行。由于我用这个撞墙,我开始四处乱窜并运行其他一些 SAM 命令。运行sam validate也不断失败,但错误指向未设置的默认区域。 我的区域在两个.aws/config中都设置正确,我什至尝试导出 env 变量AWS_DEFAULT_REGION,但没有任何效果。它一直失败,未设置区域。 所以我开始在IntelliJ中查看我的插件,结果发现我同时安装了AWS ToolkitDebugger for AWS Lambda(由Thundera(。 我卸载了后者,我又开始营业了。不清楚为什么这个插件会干扰我的控制台和 cli,但它确实干扰了。摆脱它确实起到了作用

相关内容

最新更新