Cvičení – přidání konfigurace služby Azure Storage do aplikace
Teď do naší aplikace .NET Core přidáme podporu načtení připojovacího řetězce z konfiguračního souboru. Začneme přidáním potřebného instalatérství pro správu konfigurace v souboru JSON.
Vytvoření konfiguračního souboru JSON
Pokud tam ještě nejste, změňte adresář na adresář PhotoSharingApp:
cd PhotoSharingApp
Zadáním následujícího příkazu pomocí
touch
nástroje vytvořte soubor s názvem appsettings.json:touch appsettings.json
Otevřete projekt v editoru. Pokud pracujete místně, můžete použít editor podle svého výběru. Doporučujeme Visual Studio Code, což je rozšiřitelné integrované vývojové prostředí (IDE) pro různé platformy. Pokud pracujete v Azure Cloud Shellu (vpravo), doporučujeme editor Cloud Shellu. Editor otevřete v obou prostředích pomocí následujícího příkazu:
code .
V editoru vyberte soubor appsettings.json a přidejte následující text:
{ "ConnectionStrings": { "StorageAccount": "<value>" } }
Uložte soubor pomocí klávesové zkratky (Ctrl+S) nebo v místní nabídce vyberte Uložit (v záhlaví editoru vyberte ikonu se
...
třemi tečkami).Teď potřebujeme použít příkaz Azure k získání skutečného účtu úložiště připojovací řetězec. V relaci Cloud Shellu vložte následující příkaz a nahraďte
<name>
jedinečný název účtu úložiště, který jste vytvořili v předchozím cvičení, a stisknutím klávesy Enter spusťte tento příkaz:az storage account show-connection-string \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --query connectionString \ --name <name>
Odpověď obsahuje připojovací řetězec ohraničené uvozovkami, které vypadají podobně jako v následujícím příkladu:
"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=storage1ab;AccountKey=QtSCGB...7AeoW0Hw=="
Zkopírujte připojovací řetězec a v souboru appsettings.json v editoru nahraďte
<value>
zástupný symbol tímto připojovací řetězec.Stisknutím kombinace kláves Ctrl+S soubor uložte.
V editoru otevřete soubor projektu PhotoSharingApp.csproj.
Zkopírujte a vložte následující blok konfigurace pod existující
<ItemGroup>
blok.<ItemGroup> <None Update="appsettings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup>
Stisknutím kombinace kláves Ctrl+S soubor uložte. (Tento soubor je nutné uložit nebo při přidání následujícího balíčku ztratíte změnu.)
Přidání podpory pro čtení konfiguračního souboru JSON
V konzole Cloud Shellu zkopírujte a spusťte následující kód, který přidá odkaz na balíček NuGet Microsoft.Extensions.Configuration.Json :
dotnet add package Microsoft.Extensions.Configuration.Json
Přidání kódu pro čtení konfiguračního souboru
Teď, když jsme přidali požadované knihovny pro povolení čtení konfigurace, musíme v naší konzolové aplikaci povolit danou funkci.
V editoru vyberte Program.cs.
V horní části souboru je okomentovaný řádek kódu. Odstraňte tento řádek a na začátek souboru přidejte následující řádky kódu:
using System; using Microsoft.Extensions.Configuration; using System.IO;
Nahraďte obsah metody Main (řádek obsahující text "Hello World!") následujícím kódem:
namespace PhotoSharingApp { class Program { static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json"); var configuration = builder.Build(); } } }
Tento kód provede inicializaci konfiguračního systému tak, aby se umožnilo čtení ze souboru appsettings.json.
Soubor Program.cs by teď měl vypadat takto:
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(); } } }
Uložte soubor.
Teď do naší aplikace Node.js přidáme podporu načtení připojovacího řetězce z konfiguračního souboru. Začneme přidáním potřebné instalace pro správu konfigurace z našeho souboru JavaScriptu.
Vytvoření konfiguračního souboru .env
V relaci Azure Cloud Shellu zadejte následující příkaz, abyste se ujistili, že jste ve správném pracovním adresáři pro váš projekt.
cd PhotoSharingApp
Zadáním následujícího příkazu vytvořte soubor s názvem .env:
touch .env
Otevřete projekt v editoru Cloud Shellu:
code .
V editoru vyberte soubor .env a přidejte následující text.
Poznámka:
Možná budete muset vybrat tlačítko aktualizovat v kódu, aby se zobrazily nové soubory.
AZURE_STORAGE_CONNECTION_STRING=<value>
Tip
AZURE_STORAGE_CONNECTION_STRING je pevně zakódovaná proměnná prostředí, která se používá pro rozhraní API služby Storage k vyhledání přístupových klíčů.
Uložte soubor pomocí klávesové zkratky (Ctrl+S) nebo vyberte ikonu se třemi tečkami (
...
) v záhlaví editoru a pak v místní nabídce vyberte Uložit .Teď potřebujeme k získání skutečného účtu úložiště připojovací řetězec použít příkaz Azure. V relaci Cloud Shellu spusťte následující příkaz a nahraďte
<name>
ho názvem účtu úložiště, který jste vytvořili v předchozím cvičení.az storage account show-connection-string \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --query connectionString \ --name <name>
Odpověď je připojovací řetězec ohraničené uvozovkami, které vypadají podobně jako v následujícím příkladu:
"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=storage1ab;AccountKey=QtSCGB...7AeoW0Hw=="
Zkopírujte připojovací řetězec a nahraďte
<value>
ho v souboru .env tímto připojovací řetězec.Stisknutím kombinace kláves Ctrl+S soubor uložte.
Přidání podpory pro čtení konfiguračního souboru prostředí
Do aplikace Node.js můžete zahrnout podporu pro čtení ze souboru .env přidáním balíčku dotenv.
Spuštěním následujícího příkazu v relaci Cloud Shellu přidejte závislost do balíčku dotenv pomocí
npm
příkazu :npm install dotenv --save
Přidání kódu pro čtení konfiguračního souboru
Teď, když jsme přidali požadované knihovny pro povolení čtení konfigurace, musíme v naší aplikaci povolit danou funkci.
V editoru otevřete soubor index.js .
V horní části souboru je řádek kódu
#!/usr/bin/env node
. Pod tento řádek přidejte následující řádek kódu:require('dotenv').config();
Stisknutím kombinace kláves Ctrl+S soubor uložte.
Teď, když máme připojenou konfiguraci JSON, můžeme začít přidávat kód pro použití účtu úložiště.