在 aws 的 Claudiajs hello word 示例中未加载凭证
Credential not load in Claudiajs hello word example for aws
我尝试将 aws
与来自 claudiajs github 的 ClaudiaJS so first I downlolad hello world example 一起使用,然后在我的 aws 上使用这些 AWSLambdaFullAccess
、IAMFullAccess
和 AmazonAPIGatewayAdministrator
,然后使用 awscli
配置 .aws/credentials
文件,并将配置文件名称从默认更改为 claudia,现在我的凭据是这样的:
[claudia]
aws_access_key_id = xxxxxxxxx
aws_secret_access_key = xxxxxx
然后根据教程我 运行 npm i
然后 npm start
。脚本是这样的:
"scripts": {
"start": "claudia create --name hello-world --region us-east-1 --handler main.handler",
"test": "claudia test-lambda",
"deploy": "claudia update"
},
但是在 npm start
之后我得到了这些错误:
npm start
> hello-world@1.0.0 start /home/interact/Try/hello-world
> claudia create --name hello-world --region us-east-1 --handler
main.handler
initialising IAM role iam.createRole RoleName=hello-world-executor
{ Error: connect EHOSTUNREACH 169.254.169.254:80
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)
message: 'Missing credentials in config',
code: 'CredentialsError',
errno: 'EHOSTUNREACH',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
time: 2018-06-13T07:50:47.292Z,
originalError:
{ message: 'Could not load credentials from any providers',
code: 'CredentialsError',
errno: 'EHOSTUNREACH',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
time: 2018-06-13T07:50:47.292Z,
originalError:
{ code: 'EHOSTUNREACH',
errno: 'EHOSTUNREACH',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
message: 'connect EHOSTUNREACH 169.254.169.254:80' } } }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! hello-world@1.0.0 start: `claudia create --name hello-world --region us-east-1 --handler main.handler`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the hello-world@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely
additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/interact/.npm/_logs/2018-06-13T07_50_47_317Z-
debug.log
消息是:
enter code here`message: 'Could not load credentials from any providers'
我在顺丰和网上搜索都没有找到可以解决我的问题。
我的节点版本是 v8.11.3
和 npm 版本是 5.6.0
您可以使用两种方式轻松解决您的问题
1.By 正在更改 .aws/credentials 文件。将 [claudia] 重命名为 [default]
[default]
aws_access_key_id = xxxxxxxxx
aws_secret_access_key = xxxxxxxxx
2.Set AWS_PROFILE 环境变量。
AWS_PROFILE=deployment claudia <options>
如果您想要多个 AWS cli 用户,您可以使用这种方式添加。
修改 .aws/credentials 文件
[default]
aws_access_key_id = xxxxxxxxx
aws_secret_access_key = xxxxxxxxx
[claudia]
aws_access_key_id = xxxxxxxxx
aws_secret_access_key = xxxx
您可以将 AWS_PROFILE=profile_name 添加到您的 package.json 文件中。这将为该命令设置配置文件。如果您有多个具有不同帐户的项目,这将很有用。
例如:
"scripts": {
"start": "AWS_PROFILE=claudia claudia create --name hello-world --region us-east-1 --handler main.handler",
"test": "AWS_PROFILE=claudia claudia test-lambda",
"deploy": "AWS_PROFILE=claudia claudia update"
},
我尝试将 aws
与来自 claudiajs github 的 ClaudiaJS so first I downlolad hello world example 一起使用,然后在我的 aws 上使用这些 AWSLambdaFullAccess
、IAMFullAccess
和 AmazonAPIGatewayAdministrator
,然后使用 awscli
配置 .aws/credentials
文件,并将配置文件名称从默认更改为 claudia,现在我的凭据是这样的:
[claudia]
aws_access_key_id = xxxxxxxxx
aws_secret_access_key = xxxxxx
然后根据教程我 运行 npm i
然后 npm start
。脚本是这样的:
"scripts": {
"start": "claudia create --name hello-world --region us-east-1 --handler main.handler",
"test": "claudia test-lambda",
"deploy": "claudia update"
},
但是在 npm start
之后我得到了这些错误:
npm start
> hello-world@1.0.0 start /home/interact/Try/hello-world
> claudia create --name hello-world --region us-east-1 --handler
main.handler
initialising IAM role iam.createRole RoleName=hello-world-executor
{ Error: connect EHOSTUNREACH 169.254.169.254:80
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)
message: 'Missing credentials in config',
code: 'CredentialsError',
errno: 'EHOSTUNREACH',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
time: 2018-06-13T07:50:47.292Z,
originalError:
{ message: 'Could not load credentials from any providers',
code: 'CredentialsError',
errno: 'EHOSTUNREACH',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
time: 2018-06-13T07:50:47.292Z,
originalError:
{ code: 'EHOSTUNREACH',
errno: 'EHOSTUNREACH',
syscall: 'connect',
address: '169.254.169.254',
port: 80,
message: 'connect EHOSTUNREACH 169.254.169.254:80' } } }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! hello-world@1.0.0 start: `claudia create --name hello-world --region us-east-1 --handler main.handler`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the hello-world@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely
additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/interact/.npm/_logs/2018-06-13T07_50_47_317Z-
debug.log
消息是:
enter code here`message: 'Could not load credentials from any providers'
我在顺丰和网上搜索都没有找到可以解决我的问题。
我的节点版本是 v8.11.3
和 npm 版本是 5.6.0
您可以使用两种方式轻松解决您的问题
1.By 正在更改 .aws/credentials 文件。将 [claudia] 重命名为 [default]
[default]
aws_access_key_id = xxxxxxxxx
aws_secret_access_key = xxxxxxxxx
2.Set AWS_PROFILE 环境变量。
AWS_PROFILE=deployment claudia <options>
如果您想要多个 AWS cli 用户,您可以使用这种方式添加。
修改 .aws/credentials 文件
[default]
aws_access_key_id = xxxxxxxxx
aws_secret_access_key = xxxxxxxxx
[claudia]
aws_access_key_id = xxxxxxxxx
aws_secret_access_key = xxxx
您可以将 AWS_PROFILE=profile_name 添加到您的 package.json 文件中。这将为该命令设置配置文件。如果您有多个具有不同帐户的项目,这将很有用。
例如:
"scripts": {
"start": "AWS_PROFILE=claudia claudia create --name hello-world --region us-east-1 --handler main.handler",
"test": "AWS_PROFILE=claudia claudia test-lambda",
"deploy": "AWS_PROFILE=claudia claudia update"
},