【问题标题】:Credential not load in Claudiajs hello word example for aws凭证未在 AWS 的 Claudiajs hello 单词示例中加载
【发布时间】:2019-09-11 02:07:52
【问题描述】:

我尝试将awsClaudiaJS 一起使用,所以首先我从claudiajs github 下载hello world example,然后在我的aws 上使用这些AWSLambdaFullAccessIAMFullAccessAmazonAPIGatewayAdministrator 创建一个用户,然后配置@987654327 @ 带有awscli 的文件并将配置文件名称从默认更改为 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'

我在 SF 和网上搜索,但没有找到可以解决我的问题。

我的节点版本是v8.11.3,npm 版本是5.6.0

【问题讨论】:

    标签: node.js amazon-web-services aws-lambda claudiajs


    【解决方案1】:

    您可以通过两种方式轻松解决您的问题

    1.通过更改 .aws/credentials 文件。将 [claudia] 重命名为 [default]

     [default]
        aws_access_key_id = xxxxxxxxx
        aws_secret_access_key = xxxxxxxxx
    

    2.设置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
    

    【讨论】:

      【解决方案2】:

      您可以将 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"
      },
      

      【讨论】:

        猜你喜欢
        • 2023-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-19
        • 1970-01-01
        • 2021-01-18
        • 2021-09-03
        相关资源
        最近更新 更多