amazon-web-services - aws lambda 不使用角色获取凭证具有 AWSLambdaBasicExecutionRole 策略
问题描述
即使在将角色附加到具有 AWSLambdaBasicExecutionRole 的 lambda 之后,Aws Lambda 也不会获取凭证。我添加了更多日志以检查它是否尝试加载 SharedIniFileCredentials 但它没有。
代码
start: async (startParams) => {
logger.info(startParams);
if (startParams === konstants.LOCAL_ENVIRONMENT) {
logger.info('load credentials only for local');
AWS.config.credentials = new AWS.SharedIniFileCredentials();
}
日志
message: 'Missing credentials in config',
errno: -2,
syscall: 'open',
code: 'CredentialsError',
path: '/home/sbx_user1051/.aws/credentials',
time: 2020-03-04T03:55:47.923Z,
originalError:
{ message: 'Could not load credentials from SharedIniFileCredentials',
errno: -2,
syscall: 'open',
解决方案
文档写道:
执行角色为 Lambda 函数提供运行和调用其他 Web 服务所需的凭证。因此,您无需为您在 Lambda 函数中编写的 Node.js 代码提供凭证。
所以我认为你应该重新考虑如何编写你的 node.js lambda 函数。
推荐阅读
- facebook-graph-api - 如何使用颤振从 facebook graph api 获得更好的个人资料图片
- c++ - 在c语言中查找结构的大小
- amazon-web-services - 用于 SSH 的 Amazon EC2 实例连接 - 安全组?
- ionic3 - Ionic-angular 3.9.2 忽略“--prod”,只做“--dev”构建
- google-apps-script - 使用 doPost 添加数据后的其他 Google 工作表行操作
- css - 去除输入标签下的灰色区域
- r - R som 包 Kohonen - 将示例更新到版本 3
- c# - 完成后如何更改此代码以关闭文件?
- markdown - 如何使用 markdown 语法将字母从小写变为大写?
- python - 如何正确输入 dask Dataframe 作为函数的参数?