Ćwiczenie — dodawanie konfiguracji usługi Azure Storage do aplikacji
Dodajmy do naszej aplikacji .NET core obsługę pobierania parametrów połączenia z pliku konfiguracji. Zaczniemy od dodania niezbędnej instalacji hydraulicznej do zarządzania konfiguracją w pliku JSON.
Tworzenie pliku konfiguracji w formacie JSON
Zmień katalog na katalog PhotoSharingApp, jeśli jeszcze tego nie zrobiono:
cd PhotoSharingApp
Wprowadź następujące polecenie, aby użyć
touch
narzędzia do utworzenia pliku o nazwie appsettings.json:touch appsettings.json
Otwórz projekt w edytorze. Jeśli pracujesz lokalnie, możesz użyć wybranego edytora. Firma Microsoft zaleca program Visual Studio Code, który jest rozszerzalnym wieloplatformowym środowiskiem IDE. Jeśli pracujesz w usłudze Azure Cloud Shell (po prawej stronie), zalecamy edytor usługi Cloud Shell. Użyj następującego polecenia, aby otworzyć edytor w dowolnym środowisku:
code .
W edytorze wybierz plik appsettings.json i dodaj następujący tekst:
{ "ConnectionStrings": { "StorageAccount": "<value>" } }
Zapisz plik przy użyciu skrótu klawiaturowego (Ctrl+S) lub wybierz pozycję Zapisz z menu kontekstowego (wybierz ikonę wielokropka
...
na pasku tytułu edytora).Teraz potrzebujemy polecenia platformy Azure, aby uzyskać rzeczywiste konto magazynu parametry połączenia. W sesji usługi Cloud Shell wklej następujące polecenie, zastępując
<name>
ciąg unikatową nazwą konta magazynu utworzoną w poprzednim ćwiczeniu, a następnie naciśnij klawisz Enter , aby uruchomić polecenie:az storage account show-connection-string \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --query connectionString \ --name <name>
Odpowiedź zawiera parametry połączenia ograniczone przez cudzysłowy, co wygląda podobnie do następującego przykładu:
"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=storage1ab;AccountKey=QtSCGB...7AeoW0Hw=="
Skopiuj parametry połączenia i w pliku appsettings.json w edytorze zastąp
<value>
symbol zastępczy tym parametry połączenia.Naciśnij klawisze Ctrl+S , aby zapisać plik.
W edytorze otwórz plik projektu PhotoSharingApp.csproj.
Skopiuj i wklej następujący blok konfiguracji pod istniejącym
<ItemGroup>
blokiem.<ItemGroup> <None Update="appsettings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup>
Naciśnij klawisze Ctrl+S , aby zapisać plik. (Musisz zapisać ten plik lub utracisz zmianę po dodaniu następującego pakietu!)
Dodawanie obsługi odczytu pliku konfiguracji w formacie JSON
W konsoli usługi Cloud Shell skopiuj i uruchom następujący kod, aby dodać odwołanie do pakietu NuGet Microsoft.Extensions.Configuration.Json :
dotnet add package Microsoft.Extensions.Configuration.Json
Dodawanie kodu na potrzeby odczytywania pliku konfiguracji
Teraz, gdy dodaliśmy wymagane biblioteki, aby umożliwić odczytywanie konfiguracji, musimy włączyć tę funkcję w naszej aplikacji konsolowej.
W edytorze wybierz pozycję Program.cs.
W górnej części pliku znajduje się skomentowany wiersz kodu. Usuń ten wiersz i dodaj następujące wiersze kodu w górnej części pliku:
using System; using Microsoft.Extensions.Configuration; using System.IO;
Zastąp zawartość metody Main (wiersz zawierający ciąg "Hello World!") następującym kodem:
namespace PhotoSharingApp { class Program { static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json"); var configuration = builder.Build(); } } }
Ten kod inicjuje odczytanie pliku appsettings.json przez system konfiguracji.
Plik Program.cs powinien teraz wyglądać następująco:
using System; using Microsoft.Extensions.Configuration; using System.IO; namespace PhotoSharingApp { class Program { static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json"); var configuration = builder.Build(); } } }
Zapisz plik.
Dodajmy do naszej aplikacji Node.js obsługę pobierania parametrów połączenia z pliku konfiguracji. Zaczniemy od dodania niezbędnej instalacji hydraulicznej do zarządzania konfiguracją z naszego pliku JavaScript.
Tworzenie pliku konfiguracji .env
W sesji usługi Azure Cloud Shell wprowadź następujące polecenie, aby upewnić się, że jesteś w poprawnym katalogu roboczym dla projektu.
cd PhotoSharingApp
Wprowadź następujące polecenie, aby utworzyć plik o nazwie env:
touch .env
Otwórz projekt w edytorze usługi Cloud Shell:
code .
W edytorze wybierz plik env i dodaj następujący tekst.
Uwaga
Może być konieczne wybranie przycisku odświeżenia w kodzie, aby wyświetlić nowe pliki.
AZURE_STORAGE_CONNECTION_STRING=<value>
Napiwek
AZURE_STORAGE_CONNECTION_STRING jest ustaloną zmienną środowiskową używaną do wyszukiwania kluczy dostępu przez interfejsy API usługi Storage.
Zapisz plik przy użyciu skrótu klawiaturowego (Ctrl+S) lub wybierz ikonę wielokropka (
...
) na pasku tytułu edytora, a następnie wybierz pozycję Zapisz z menu kontekstowego.Teraz potrzebujemy polecenia platformy Azure, aby uzyskać rzeczywiste konto magazynu parametry połączenia. W sesji usługi Cloud Shell uruchom następujące polecenie, zastępując
<name>
ciąg nazwą konta magazynu utworzoną w poprzednim ćwiczeniu.az storage account show-connection-string \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --query connectionString \ --name <name>
Odpowiedź jest parametry połączenia ograniczona cudzysłowami, która wygląda podobnie do następującego przykładu:
"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=storage1ab;AccountKey=QtSCGB...7AeoW0Hw=="
Skopiuj parametry połączenia i zastąp element
<value>
w pliku env tym parametry połączenia.Naciśnij klawisze Ctrl+S , aby zapisać plik.
Dodawanie obsługi odczytu pliku konfiguracji środowiska
Aplikacje Node.js mogą dołączyć obsługę odczytu z pliku .env przez dodanie pakietu dotenv.
W sesji usługi Cloud Shell uruchom następujące polecenie, aby dodać zależność do pakietu dotenv przy użyciu polecenia
npm
:npm install dotenv --save
Dodawanie kodu na potrzeby odczytywania pliku konfiguracji
Teraz, gdy dodaliśmy wymagane biblioteki, aby umożliwić odczytywanie konfiguracji, musimy włączyć tę funkcję w naszej aplikacji.
W edytorze otwórz plik index.js .
W górnej części pliku znajduje się wiersz kodu
#!/usr/bin/env node
. Poniżej tego wiersza dodaj następujący wiersz kodu:require('dotenv').config();
Naciśnij klawisze Ctrl+S , aby zapisać plik.
Teraz, gdy mamy już skonfigurowaną konfigurację JSON, możemy rozpocząć dodawanie kodu, aby użyć naszego konta magazynu.