如何解决本 aws 教程中的这些严重错误?
How do I resolve these grunt errors in this aws tutorial?
我正在学习 aws + grunt-aws-lambda + jenkins 教程:
我能够通过 grunt lambda_invoke 步骤成功完成任务。但是,当我尝试 grunt deploy 时,任务失败了。这是我收到警告和失败消息的摘录:
Running "lambda_package:default" (lambda_package) task
Verifying property lambda_package.default exists in config...OK
**File: [no files]**
Options: dist_folder="dist", include_time, package_folder="./", include_files=[]
Reading /Users/user/Documents/create-thumbs-lambda/package.json...OK
Parsing /Users/user/Documents/create-thumbs-lambda/package.json...OK
create-thumbs-lambda@1.0.0 ../../../../var/folders/01/xxx/T/xxx.1516/node_modules/create-thumbs-lambda
├── async@0.9.2
└── gm@1.23.0 (array-series@0.1.5, array-parallel@0.1.3, debug@2.2.0, cross-spawn@4.0.2)
Created package at ./dist/create-thumbs-lambda_1-0-0_2016-10-12-17-17-50.zip
Running "lambda_deploy" task
Running "lambda_deploy:default" (lambda_deploy) task
Verifying property lambda_deploy.default exists in config...OK
**File: [no files]**
Verifying property lambda_deploy.default.package exists in config...OK
Options: profile="lambdanodetestuser", region="us-west-2", timeout=null, memory=null
**Warning: AWS API request failed, check your AWS credentials, region and permissions are correct. Use --force to continue.**
我看到没有文件警告,我的凭据可能有问题。但我不确定警告引用的是什么文件,在哪里配置有问题的凭据,或者这些是否真的是问题的根源。
非常感谢任何建议!
该教程存在很多问题。
很难做出一个完美的教程,很多差异。
但是...我确实调试了您上面描述的症状。
不幸的是,您收到的错误消息具有误导性。
问题出在执行 lambda_deploy.js
该函数用 'arn:' 键值中的空字符串覆盖您在 Gruntfile.js 中指定的 'function:' 键值。
修复:您可以手动创建 lambda 函数。复制它的 arn。并且,修改您的 lambda_deploy 目标以指定选项和 arn。它可能看起来像这样...
lambda_invoke: {
default: {
options: {
file_name: 'CreateThumbnail.js'
}
}
},
lambda_deploy: {
default: {
options: {
profile: "tah",
region: "us-east-2",
timeout: 10,
memory: 1024,
},
function: 'CreateThumbnail',
arn: 'arn:aws:lambda:us-east-2:REPLACEME:function:CreateThumbnail'
}
},
lambda_package: {
default: {
}
}
我正在学习 aws + grunt-aws-lambda + jenkins 教程:
我能够通过 grunt lambda_invoke 步骤成功完成任务。但是,当我尝试 grunt deploy 时,任务失败了。这是我收到警告和失败消息的摘录:
Running "lambda_package:default" (lambda_package) task
Verifying property lambda_package.default exists in config...OK
**File: [no files]**
Options: dist_folder="dist", include_time, package_folder="./", include_files=[]
Reading /Users/user/Documents/create-thumbs-lambda/package.json...OK
Parsing /Users/user/Documents/create-thumbs-lambda/package.json...OK
create-thumbs-lambda@1.0.0 ../../../../var/folders/01/xxx/T/xxx.1516/node_modules/create-thumbs-lambda
├── async@0.9.2
└── gm@1.23.0 (array-series@0.1.5, array-parallel@0.1.3, debug@2.2.0, cross-spawn@4.0.2)
Created package at ./dist/create-thumbs-lambda_1-0-0_2016-10-12-17-17-50.zip
Running "lambda_deploy" task
Running "lambda_deploy:default" (lambda_deploy) task
Verifying property lambda_deploy.default exists in config...OK
**File: [no files]**
Verifying property lambda_deploy.default.package exists in config...OK
Options: profile="lambdanodetestuser", region="us-west-2", timeout=null, memory=null
**Warning: AWS API request failed, check your AWS credentials, region and permissions are correct. Use --force to continue.**
我看到没有文件警告,我的凭据可能有问题。但我不确定警告引用的是什么文件,在哪里配置有问题的凭据,或者这些是否真的是问题的根源。
非常感谢任何建议!
该教程存在很多问题。 很难做出一个完美的教程,很多差异。
但是...我确实调试了您上面描述的症状。 不幸的是,您收到的错误消息具有误导性。
问题出在执行 lambda_deploy.js 该函数用 'arn:' 键值中的空字符串覆盖您在 Gruntfile.js 中指定的 'function:' 键值。
修复:您可以手动创建 lambda 函数。复制它的 arn。并且,修改您的 lambda_deploy 目标以指定选项和 arn。它可能看起来像这样...
lambda_invoke: {
default: {
options: {
file_name: 'CreateThumbnail.js'
}
}
},
lambda_deploy: {
default: {
options: {
profile: "tah",
region: "us-east-2",
timeout: 10,
memory: 1024,
},
function: 'CreateThumbnail',
arn: 'arn:aws:lambda:us-east-2:REPLACEME:function:CreateThumbnail'
}
},
lambda_package: {
default: {
}
}