Informacje o ustawieniach aplikacji usługi Azure Functions

Ukończone

Jako inżynier firmy Tailwind Traders pracujesz nad interfejsem API, który łączy się z bazą danych. Interfejs API połączy się z bazą danych za pośrednictwem parametry połączenia bazy danych. W tym module uzyskasz informacje na temat najlepszych rozwiązań dotyczących przechowywania informacji poufnych, takich jak parametry połączenia, w interfejsie API usługi Azure Functions.

Przechowywanie parametry połączenia jako ustawienia aplikacji

Dobrym pomysłem jest unikanie zapisywania parametrów połączenia na stałe w kodzie. Prawdopodobnie będziesz używać tych parametrów połączenia w różnych plikach, a mogą one ulec zmianie w przyszłości.

Chcesz przechowywać parametry połączenia jako ustawienie aplikacji:

  • Ustawienia aplikacji są określane w jednym miejscu i można się do nich odwoływać w różnych częściach aplikacji.
  • Można je łatwo zmienić w dowolnym momencie w przyszłości bez konieczności zmiany kodu.
  • Ustawienia aplikacji nigdy nie są ewidencjonowane w kontroli źródła.

Projekt usługi Azure Functions zawiera plik local.settings.json. Ten plik zawiera zestaw par klucz/wartość używany przez aplikację jako wartości konfiguracji podczas tworzenia lokalnie. Do obiektu można dodać własne elementy Values . Dostęp do tych wartości można uzyskać z poziomu kodu.

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

Jeśli chcesz dodać parametry połączenia, możesz dodać inną właściwość o nazwie "CONNECTION_STRING" (lub dowolną nazwę), a następnie przekazać parametry połączenia do bazy danych.

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

Uzyskiwanie dostępu do ustawień aplikacji w kodzie usługi Azure Functions

Aby uzyskać dostęp do tych wartości konfiguracji w usłudze Azure Functions z poziomu języka JavaScript, użyj process.env obiektu . Zawiera wszystkie pary klucz/wartość określone w local.settings.json pliku.

Poniższy kod znaleziony w ./api/src/services/product.services.ts lokalizacji odczytuje parametry połączenia z process.env obiektu w celu utworzenia obiektu CosmosClient w celu uzyskania dostępu do usługi Azure Cosmos DB.

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

Teraz wiesz, jak bezpiecznie przechowywać parametry połączenia podczas programowania lokalnego oraz jak odwoływać się do tego ciągu w aplikacji.