aws -sdk выбирает только идентификаторы / ключи, когда они жестко закодированы, но не из переменных окружения - PullRequest
0 голосов
/ 26 февраля 2020

Я использую aws -sdk на узле для загрузки документов на S3. Первым шагом является создание предварительно назначенного URL, и для этого мне нужно инициализировать мое ведро. Итак, я делаю

  AWS.config.update({
    accessKeyId: '123',
    secretAccessKey: '123',
    region: 'ca-cental-1',
  });

  const S3 = new AWS.S3();

Теперь, когда я запускаю этот код, все работает нормально. Если я удаляю жестко закодированные значения и обращаюсь к process.env следующим образом:

  AWS.config.update({
    accessKeyId: process.env.AWS_ACCESS_KEY_ID,
    secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
    region: process.env.AWS_REGION,
  });

  const S3 = new AWS.S3();

, он не принимает значения. Если я распечатаю значения прямо перед выполнением AWS .config.update, скажем, console.log(process.env.AWS_ACCESS_KEY_ID, то оно печатается нормально, и мои переменные окружения работают на протяжении всего остального проекта. Как ни странно, это единственное место, где их, кажется, не подбирают.

Я также посмотрел значения, которые сохраняются в ~/.aws/credentials, но это не похоже на aws -sdk поднимает их тоже. В любом случае, даже если это так, почему он будет работать с жестко закодированными значениями, а не с переменными среды? документация по этому вопросу довольно ограничена ..

...