Как получить доступ к значениям хранилища параметров AWS с помощью переменных среды функции Lambda? - PullRequest
0 голосов
/ 23 октября 2019

Итак, как говорится в заголовке, я пытаюсь использовать переменную окружения в моей лямбда-функции для указания на мои переменные хранилища параметров AWS.

моя лямбда-функция структурирована следующим образом:

var config = {  
    user: process.env.database_user,  
    password: process.env.database_password,  
    server: process.env.database_server,
    database: process.env.database_version,
    options: {encrypt: true}  
};

class UserService {

    constructor(){
        console.log(config);
        this.connectionPool = new sql.connect(config);
    }
}

и .yaml настроен так:

AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: An AWS Serverless Specification template describing your function.
Resources:
  NewUser:
    Type: 'AWS::Serverless::Function'
    Custom:
      Settings:
        database_encrypt: ${ssm:databaseEncrypt}
        database_password: ${ssm:databasePassword}
        database_server: '8.8.8.8'
        database_user: ${ssm:databaseUser}
        database_version: ${ssm:databaseVersion}
    Provider:
      Environment: ${self.Custom.Settings}
    Properties:
      Handler: NewUser/index.handler
      Runtime: nodejs8.10
      Description: ''
      MemorySize: 128
      Timeout: 15
      Role: 'arn:aws:iam::663404525923:role/LambdaRole'
      Events:
        LambdaMicroservice:
          Type: Api
          Properties:
            Path: /User/NewUser
            Method: ANY

функция sql.connect () работала, как и ожидалось, когда аргументы конфигурации были жестко закодированы, и я смог получить переменные хранилища параметров внутрикод, использующий обещания и метод ssm.GetParameter (), но я пытаюсь адаптировать кое-что из того, что я нашел в этом видео , для моих собственных нужд.

Прямо сейчас, консоль. log () в конструкторе возвращает Undefined для всех переменных, даже для переменной database_server, которую я жестко закодировал в .yaml в качестве теста. Это говорит мне, что ошибка происходит при попытке доступа к пути Custom.Settings, но я не уверен, что именно идет не так или как это исправить.

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