Общие сведения о параметрах приложения Функций 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);
Теперь вы знаете, как безопасно хранить строка подключения во время локальной разработки и как ссылаться на эту строку в приложении.