Cvičení – připojení aplikace k účtu Azure Storage

Dokončeno

Klientská knihovna Azure Storage poskytuje objektový model, který se používá k interakci s účty úložiště Azure. Slouží k rychlému připojení k účtu Azure Storage a používá rozhraní API služby Azure Storage.

Objektový model klientské knihovny Azure Storage

Účet úložiště v Azure je uspořádaný do jednoho nebo více kontejnerů, které do vašeho účtu ukládají skutečné objekty blob (soubory). Tyto kontejnery jsou podobné složkám v systému souborů. Klientskou knihovnu Azure Storage Blobs pro .NET můžeme použít k vytvoření kontejneru v našem účtu úložiště, do kterého se mají ukládat fotky.

Pokud chcete ve svém programu použít klientskou knihovnu Azure Storage Blobs pro .NET , musíte do horní části programu přidat using příkaz pro Azure.Storage.Blobs obor názvů.

  1. Do souboru Program.cs přidejte následující příkaz.

    using Azure.Storage.Blobs;
    

    K vytváření a správě kontejnerů v účtu úložiště z aplikace .NET se používá objekt BlobContainerClient. Pokud chcete vytvořit instanci objektuBlobContainerClient, musíte zadat připojovací řetězec účtu úložiště a názvu kontejneru. Název kontejneru musí mít 3–63 znaků a smí obsahovat jen malá písmena a pomlčku (-). Pro tuto aplikaci použijeme fotky jmen.

  2. Do hlavní části aplikace přidejte následující kód, abyste získali připojovací řetězec Azure Storage a vytvořili BlobContainerClient objekt.

    var connectionString = configuration.GetConnectionString("StorageAccount");
    string containerName = "photos";
    
    BlobContainerClient container = new BlobContainerClient(connectionString, containerName);
    

    Poznámka:

    V tomto okamžiku se klientská knihovna nepokusila připojit k Azure ani ověřit použitý připojovací řetězec a přístupový klíč. Jednoduše vytvořila odlehčený klientský objekt, který se používá k provádění operací vůči Azure Blob Storage. Síťové volání bude učiněno až při vyvolání nějaké operace vůči tomuto účtu úložiště.

  3. Těsně pod předchozími řádky přidejte kód pro vytvoření kontejneru fotografií , do kterého uložíme obrázky.

    container.CreateIfNotExists();
    
  4. Uložte soubor.

  5. Nyní aplikaci spusťte a nechejte ji v účtu úložiště vytvořit kontejner. Protože jsme tuto metodu CreateIfNotExists použili, můžete program spustit několikrát, ale kontejner se vytvoří pouze při prvním spuštění.

    dotnet run
    
  6. Spuštěním následujícího příkazu Azure CLI můžete ověřit, že jste kontejner vytvořili. <name> nezapomeňte nahradit názvem účtu úložiště.

    az storage container list \
    --account-name <name>
    

Klientská knihovna Azure Storage Blob pro JavaScript obsahuje mnoho klientských objektů pro interakci s objekty blob služby Azure Storage. Na vrcholu této hierarchie je objekt BlobServiceClient. Použití tohoto objektu v kódu JavaScriptu:

  1. Otevřete soubor index.js v editoru kódu a hned za příkaz require('dotenv').config(); přidejte následující příkaz:

    const { BlobServiceClient } = require("@azure/storage-blob");
    
  2. Teď potřebujete ve svém kódu vytvořit BlobServiceClient objekt získáním účtu úložiště připojovací řetězec a jeho předáním do metody fromConnectionString továrny na objektuBlobServiceClient. Přidejte následující řádky kódu:

    const storageAccountConnectionString = process.env.AZURE_STORAGE_CONNECTION_STRING;
    const blobServiceClient = BlobServiceClient.fromConnectionString(storageAccountConnectionString);
    

    Poznámka:

    Klientská knihovna se nepokusí připojit k Azure, dokud se nevyvolá operace, která ji vyžaduje. Objekt klienta je jednoduchý objekt, který umožňuje přístup ke službě Azure Blob Storage; neověřuje připojení ani použitý přístupový klíč.

  3. Jakmile máte v programu definovaný objekt klienta, můžete k provádění skutečné práce použít metody na objektu klienta. Metody provádějící síťová volání jsou záměrně asynchronní. K vracení asynchronních výsledků používá tato knihovna přísliby (promises). Z tohoto důvodu musíte hlavní funkci označit jako asynchronní. Nahraďte hlavní objekt funkce následujícím kódem. Řádek, který začíná dvěma lomítky, je komentář.

    async function main() {
     // Function code here
    }
    
  4. Uložte změny do souboru index.js.

    Teď přidáme nějaký kód, který provede operaci s naším účtem úložiště. Účet úložiště je uspořádaný do jednoho nebo více kontejnerů, které fungují jako složky v účtu úložiště. Objekty blob (soubory), které vytvoříte v účtu úložiště, se ukládají do jednoho z těchto kontejnerů. V účtu úložiště potřebujete vytvořit kontejner pro ukládání fotek.

    Název kontejneru musí mít 3–63 znaků a smí obsahovat jen malá písmena a pomlčku (-). Pro tuto aplikaci použijeme fotky jmen.

    Abyste v účtu úložiště vytvořili kontejner, potřebujete získat objekt ContainerClient, který představuje kontejner v účtu úložiště. I když kontejner v našem účtu úložiště ještě neexistuje, můžeme ho použít ContainerClient k vytvoření kontejneru a jeho správě, jakmile se vytvoří.

  5. Chcete-li získat ContainerClient objekt, zavolejte getContainerClient metodu objektu BlobServiceClient a zadejte název kontejneru jako parametr. Pak k vytvoření kontejneru v účtu Azure Storage použijte metodu createIfNotExists u objektu containerClient . // Function Code here Řádek komentáře nahraďte těmito příkazy:

    // Create a container (folder) if it does not exist
    const containerName = 'photos';
    const containerClient = blobServiceClient.getContainerClient(containerName);
    const containerExists = await containerClient.exists()
    if ( !containerExists) {
        const createContainerResponse = await containerClient.createIfNotExists();
        console.log(`Create container ${containerName} successfully`, createContainerResponse.succeeded);
    }
    else {
        console.log(`Container ${containerName} already exists`);
    }
    
  6. Uložte změny do souboru index.js .

  7. V příkazovém řádku Cloud Shellu zadejte následující příkaz, který sestaví a spustí program, který vytvoří kontejner v účtu úložiště:

    node index.js
    

    Tip

    Pokud se zobrazí chyba týkající se použití klíčového await slova, ujistěte se, že jste klíčové slovo přidali async do main definice funkce podle posledního kroku v předchozích pokynech.

    Při prvním spuštění programu by se měla zobrazit zpráva o úspěšném vytvoření kontejneru se stavem true. Při druhém a následném spuštění programu se zobrazí podobná zpráva se stavem false, protože kontejner už existuje.

  8. Spuštěním následujícího příkazu Azure CLI můžete ověřit, že jste kontejner vytvořili. <name> nezapomeňte nahradit názvem účtu úložiště.

    az storage container list \
    --account-name <name>
    

Teď, když se náš program připojuje k našemu účtu úložiště Azure a vytvořili jsme kontejner fotek , pojďme do něj náš program nahrát obrázek.