Общие сведения о параметрах приложения Функций Azure

Завершено

В качестве инженера Tailwind Traders вы работаете над API, который подключается к базе данных. API будет подключаться к этой базе данных через строка подключения базы данных. В этом модуле вы узнаете о рекомендациях по хранению конфиденциальной информации, такой как строки подключения, в API Функций Azure.

Хранение строка подключения в качестве параметра приложения

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

Вы хотите сохранить строка подключения в качестве параметра приложения:

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

Проект Функций Azure содержит файл local.settings.json. Этот файл содержит набор пар "ключ-значение", которые приложение использует в качестве значений конфигурации при локальной разработке. Вы можете добавить собственные Values элементы в объект. Эти значения можно получить из кода.

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AzureWebJobsFeatureFlags": "EnableWorkerIndexing"
  }
}

Если вы хотите добавить строка подключения, можно добавить другое свойство с именем "CONNECTION_STRING" (или любое, что вы хотите вызвать), а затем передать строка подключения в базу данных.

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AzureWebJobsFeatureFlags": "EnableWorkerIndexing",
     "CONNECTION_STRING": "AccountEndpoint=https://tailwind-traders-7071.documents.azure.com:443/;AccountKey=123456;"
  }
}

Доступ к параметрам приложения в коде Функций Azure

Чтобы получить доступ к этим значениям конфигурации в Функции Azure из JavaScript, используйте process.env объект. Он содержит все пары "ключ-значение", указанные в local.settings.json файле.

Приведенный ниже код ./api/src/services/product.services.ts считывает строка подключения из process.env объекта, чтобы создать объект CosmosClient для доступа к службе Azure Cosmos DB.

let client = new CosmosClient(process.env.CONNECTION_STRING);

Теперь вы знаете, как безопасно хранить строка подключения во время локальной разработки и как ссылаться на эту строку в приложении.