Подключение AWS SDK - Как это работает?(Начальный) - PullRequest
0 голосов
/ 15 мая 2018

Я работаю над сертификатом AWS и пытаюсь выяснить, как работает следующий бит js-кода:

var AWS = require('aws-sdk');
var uuid = require('node-uuid');

// Create an S3 client
var s3 = new AWS.S3();

// Create a bucket and upload something into it
var bucketName = 'node-sdk-sample-' + uuid.v4();
var keyName = 'hello_world.txt';

s3.createBucket({Bucket: bucketName}, function() {
  var params = {Bucket: bucketName, Key: keyName, Body: 'Hello'};
  s3.putObject(params, function(err, data) {
    if (err)
      console.log(err)
    else
      console.log("Successfully uploaded data to " + bucketName + "/" + keyName);
  });
});

Этот код успешно загружает текстовый файл, содержащий слова «Hello», вЭто.Я не понимаю, как это ^ может идентифицировать МОЙ аккаунт AWS.Оно делает!Но как!Он каким-то образом может определить, что я хочу новую корзину внутри моей учетной записи, но этот код был взят непосредственно из документации AWS.Я не знаю, как это могло понять это ...

1 Ответ

0 голосов
/ 15 мая 2018

Согласно Классу: AWS.CredentialProviderChain , AWS SDK для JavaScript ищет учетные данные в следующих местах:

AWS.CredentialProviderChain.defaultProviders = [
  function () { return new AWS.EnvironmentCredentials('AWS'); },
  function () { return new AWS.EnvironmentCredentials('AMAZON'); },
  function () { return new AWS.SharedIniFileCredentials(); },
  function () {
    // if AWS_CONTAINER_CREDENTIALS_RELATIVE_URI is set
      return new AWS.ECSCredentials();
    // else
      return new AWS.EC2MetadataCredentials();
  }
]
  • Переменные среды (полезно для тестирования илипри запуске кода на локальном компьютере)
  • Локальный файл учетных данных (полезно для запуска кода на локальном компьютере)
  • учетные данные ECS (полезно при запуске кода в Elastic Container Service)
  • Метаданные Amazon EC2 (полезны при запуске кода на экземпляре Amazon EC2)

Настоятельно рекомендуется никогда не хранить учетные данные в приложении .Если код выполняется на экземпляре Amazon EC2, а экземпляру назначена роль , SDK автоматически извлечет учетные данные из метаданных экземпляра .

.Следующий лучший способ - сохранить учетные данные в файле ~/.aws/credentials.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...