Compreender as definições da aplicação de Funções do Azure

Concluído

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.