Учетные данные не загружаются в Приветственное слово Claudiajs пример для AWS

Я пытаюсь использовать aws с ClaudiaJS, так что сначала я загрузил пример Hello World из Claudiajs GitHub, а затем на моем AWS создать пользователя с этими AWSLambdaFullAccess,IAMFullAccess а также AmazonAPIGatewayAdministrator а затем настроить .aws/credentials файл с awscli и измените имя профиля по умолчанию на клаву, и теперь мои учетные данные выглядят примерно так:

[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

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

Вы можете добавить 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"
},
Другие вопросы по тегам