Compreender as definições da aplicação de Funções do Azure
Como engenheiro da Tailwind Traders, você está trabalhando em uma API que se conecta a um banco de dados. Sua API se conectará a esse banco de dados por meio de uma cadeia de conexão de banco de dados. Neste módulo, irá aprender as melhores práticas para o armazenamento de informações confidenciais como cadeias de ligação numa API de Funções do Azure.
Armazenar cadeias de conexão como configuração de aplicativo
É uma boa ideia evitar as cadeias de ligação hard-coding. É possível que utilize a cadeia de ligação em ficheiros diferentes, mas há a possibilidade de esta ser alterada no futuro.
Você desejará armazenar a cadeia de conexão como uma configuração de aplicativo:
- As definições de aplicação são especificadas num único local e referenciadas ao longo da aplicação.
- Você pode alterá-los facilmente a qualquer momento no futuro sem ter que alterar o código.
- As definições da aplicação nunca dão entrada no controlo de código fonte.
Um projeto das Funções do Azure tem um ficheiro local.settings.json
. Esse arquivo contém um conjunto de pares chave/valor que o aplicativo usa como valores de configuração ao desenvolver localmente. Você pode adicionar seus próprios itens ao Values
objeto. Você pode acessar esses valores a partir do seu código.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsFeatureFlags": "EnableWorkerIndexing"
}
}
Se quiser adicionar uma cadeia de conexão, você pode adicionar outra propriedade chamada "CONNECTION_STRING" (ou o que quiser chamá-la) e, em seguida, passar a cadeia de conexão para o banco de dados.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsFeatureFlags": "EnableWorkerIndexing",
"CONNECTION_STRING": "AccountEndpoint=https://tailwind-traders-7071.documents.azure.com:443/;AccountKey=123456;"
}
}
Aceder às definições da aplicação no código das Funções do Azure
Para acessar esses valores de configuração em seu Azure Functions a partir do JavaScript, use o process.env
objeto. Ele contém todos os pares chave/valor especificados no local.settings.json
arquivo.
O código a seguir encontrado em ./api/src/services/product.services.ts
lê a cadeia de conexão do process.env
objeto para criar o objeto CosmosClient para acessar o serviço Azure Cosmos DB.
let client = new CosmosClient(process.env.CONNECTION_STRING);
Agora você sabe como armazenar com segurança uma cadeia de conexão durante o desenvolvimento local e como fazer referência a essa cadeia de caracteres em seu aplicativo.