rychlý start: v12 klientské knihovny pro Azure Queue Storage pro JavaScript

začínáme s klientskou knihovnou Azure Queue Storage v12 pro JavaScript. Azure Queue Storage je služba pro ukládání velkého počtu zpráv pro pozdější načtení a zpracování. Postupujte podle těchto kroků a nainstalujte balíček a vyzkoušejte ukázkový kód pro základní úlohy.

pomocí klientské knihovny Azure Queue Storage v12 pro JavaScript:

  • Vytvoření fronty
  • Přidání zpráv do fronty
  • Prohlížet zprávy ve frontě
  • Aktualizace zprávy ve frontě
  • Přijímání zpráv z fronty
  • Odstranění zpráv z fronty
  • Odstranění fronty

Další prostředky:

Požadavky

Nastavení

tato část vás provede přípravou projektu pro práci s klientskou knihovnou Azure Queue Storage v12 pro JavaScript.

Vytvoření projektu

Vytvoření aplikace Node.js s názvem queues-quickstart-v12

  1. V okně konzoly (například cmd, PowerShell nebo bash) vytvořte nový adresář pro projekt.

    mkdir queues-quickstart-v12
    
  2. Přepněte do nově vytvořeného queues-quickstart-v12 adresáře.

    cd queues-quickstart-v12
    
  3. Vytvořte nový textový soubor s názvem package.json . Tento soubor definuje projekt Node.js. Uložte tento soubor do queues-quickstart-v12 adresáře. Tady je obsah souboru:

    {
        "name": "queues-quickstart-v12",
        "version": "1.0.0",
        "description": "Use the @azure/storage-queue SDK version 12 to interact with Azure Queue storage",
        "main": "queues-quickstart-v12.js",
        "scripts": {
            "start": "node queues-quickstart-v12.js"
        },
        "author": "Your Name",
        "license": "MIT",
        "dependencies": {
            "@azure/storage-queue": "^12.0.0",
            "@types/dotenv": "^4.0.3",
            "dotenv": "^6.0.0"
        }
    }
    

    Pokud chcete, můžete do pole umístit vlastní název author .

Instalace balíčku

v adresáři ještě pořád queues-quickstart-v12 nainstalujte klientskou knihovnu Azure Queue Storage pro balíček javascriptu pomocí npm install příkazu.

npm install

tento příkaz přečte package.json soubor a nainstaluje balíček v12 pro klientské knihovny Azure Queue Storage pro JavaScript a všechny knihovny, na kterých závisí.

Nastavení aplikační architektury

Z adresáře projektu:

  1. Otevřít další nový textový soubor v editoru kódu

  2. Přidání require volání pro načtení modulů Azure a Node.js

  3. Vytvoření struktury pro program, včetně velmi základního zpracování výjimek

    Zde je kód:

    const { QueueClient } = require("@azure/storage-queue");
    const uuidv1 = require("uuid/v1");
    
    async function main() {
        console.log("Azure Queue Storage client library v12 - JavaScript quickstart sample");
        // Quick start code goes here
    }
    
    main().then(() => console.log("\nDone")).catch((ex) => console.log(ex.message));
    
    
  4. Uložte nový soubor jako queues-quickstart-v12.js v queues-quickstart-v12 adresáři.

Zkopírování přihlašovacích údajů z webu Azure Portal

Když ukázková aplikace vytvoří požadavek na Azure Storage, musí být autorizována. Pokud chcete požadavek autorizovat, přidejte do aplikace přihlašovací údaje svého účtu úložiště jako připojovací řetězec. Pokud chcete zobrazit přihlašovací údaje účtu úložiště, postupujte takto:

  1. Přihlaste se k webu Azure Portal.

  2. Vyhledejte svůj účet úložiště.

  3. V podokně nabídek účtu úložiště v části Zabezpečení a sítě vyberte Přístupové klíče. Tady můžete zobrazit přístupové klíče účtu a úplný připojovací řetězec pro každý klíč.

    Snímek obrazovky znázorňuje, kde se nachází nastavení přístupového klíče v Azure Portal

  4. V podokně Přístupové klíče vyberte Zobrazit klíče.

  5. V části key1 vyhledejte hodnotu Připojovací řetězec. Vyberte ikonu Zkopírovat do schránky a zkopírujte připojovací řetězec. Hodnotu připojovacího řetězce přidáte do proměnné prostředí v další části.

    Snímek obrazovky ukazující zkopírování připojovacího řetězce z webu Azure Portal

Konfigurace připojovacího řetězce úložiště

Po zkopírování připojovacího řetězce ho zapište do nové proměnné prostředí na místním počítači, na který běží aplikace. Proměnnou prostředí nastavíte tak, že otevřete okno konzoly a budete postupovat podle pokynů pro váš operační systém. Nahraďte <yourconnectionstring> skutečným připojovacím řetězcem.

Windows

setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"

Po přidání proměnné prostředí v Windows, je nutné spustit novou instanci příkazového okna.

Linux

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

macOS

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

Restartování programů

Po přidání proměnné prostředí restartujte všechny spuštěné programy, které budou muset proměnnou prostředí přečíst. Před pokračováním například restartujte vývojové prostředí nebo editor.

Objektový model

Azure Queue Storage je služba pro ukládání velkých objemů zpráv. Zpráva fronty může mít velikost až 64 KB. Fronta může obsahovat miliony zpráv až do celkového limitu kapacity účtu úložiště. Fronty se běžně používají k vytváření nevyřízených položek pro asynchronní zpracování. Queue Storage nabízí tři typy prostředků:

  • Účet úložiště
  • Fronta v účtu úložiště
  • Zprávy ve frontě

Na následujícím diagramu jsou vztahy těchto prostředků.

Diagram architektury služby Queue Storage

Pro interakci s těmito prostředky použijte následující třídy JavaScriptu:

  • QueueServiceClient: QueueServiceClient Umožňuje spravovat všechny fronty v účtu úložiště.
  • QueueClient: QueueClient Třída umožňuje spravovat a manipulovat s jednotlivou frontou a jejími zprávami.
  • QueueMessage: QueueMessage Třída představuje jednotlivé objekty vracené při volání ReceiveMessages ve frontě.

Příklady kódu

tyto ukázkové fragmenty kódu ukazují, jak provést následující akce s klientskou knihovnou Azure Queue Storage pro JavaScript:

Získání připojovacího řetězce

Následující kód načte připojovací řetězec pro účet úložiště z proměnné prostředí vytvořené v části konfigurace vašeho připojovacího řetězce úložiště .

Přidejte tento kód do main funkce:

// Retrieve the connection string for use with the application. The storage
// connection string is stored in an environment variable on the machine
// running the application called AZURE_STORAGE_CONNECTION_STRING. If the
// environment variable is created after the application is launched in a
// console or with Visual Studio, the shell or application needs to be
// closed and reloaded to take the environment variable into account.
const AZURE_STORAGE_CONNECTION_STRING = process.env.AZURE_STORAGE_CONNECTION_STRING;

Vytvoření fronty

Určete název nové fronty. Následující kód připojí k názvu fronty hodnotu UUID, aby bylo zajištěno, že je jedinečný.

Důležité

Názvy front můžou obsahovat jenom malá písmena, číslice a spojovníky a musí začínat písmenem nebo číslicí. Před i za každým spojovníkem musí být jiný znak než spojovník. Název musí mít také délku 3 až 63 znaků. Další informace najdete v tématu pojmenování front a metadat.

Vytvořte instanci QueueClient třídy. Pak zavolejte create metodu pro vytvoření fronty ve vašem účtu úložiště.

Přidejte tento kód na konec main funkce:

// Create a unique name for the queue
const queueName = "quickstart" + uuidv1();

console.log("\nCreating queue...");
console.log("\t", queueName);

// Instantiate a QueueClient which will be used to create and manipulate a queue
const queueClient = new QueueClient(AZURE_STORAGE_CONNECTION_STRING, queueName);

// Create the queue
const createQueueResponse = await queueClient.create();
console.log("Queue created, requestId:", createQueueResponse.requestId);

Přidání zpráv do fronty

Následující fragment kódu přidá zprávy do fronty voláním sendMessage metody. Ukládá také QueueMessage vrácené třetí sendMessage volání. Vráceno sendMessageResponse se používá k aktualizaci obsahu zprávy později v programu.

Přidejte tento kód na konec main funkce:

console.log("\nAdding messages to the queue...");

// Send several messages to the queue
await queueClient.sendMessage("First message");
await queueClient.sendMessage("Second message");
const sendMessageResponse = await queueClient.sendMessage("Third message");

console.log("Messages added, requestId:", sendMessageResponse.requestId);

Prohlížet zprávy ve frontě

Podívejte se na zprávy ve frontě tím, že zavoláte peekMessages metodu. Tato metoda načte jednu nebo více zpráv z přední části fronty, ale nezmění viditelnost zprávy.

Přidejte tento kód na konec main funkce:

console.log("\nPeek at the messages in the queue...");

// Peek at messages in the queue
const peekedMessages = await queueClient.peekMessages({ numberOfMessages : 5 });

for (i = 0; i < peekedMessages.peekedMessageItems.length; i++) {
    // Display the peeked message
    console.log("\t", peekedMessages.peekedMessageItems[i].messageText);
}

Aktualizace zprávy ve frontě

Aktualizujte obsah zprávy voláním updateMessage metody. Tato metoda může změnit časový limit a obsah viditelnosti zprávy. Obsah zprávy musí být řetězec kódovaný v kódování UTF-8, který má velikost až 64 KB. Společně s novým obsahem, předejte messageId a popReceipt z odpovědi, která byla uložena dříve v kódu. sendMessageResponseVlastnosti určují, která zpráva se má aktualizovat.

console.log("\nUpdating the third message in the queue...");

// Update a message using the response saved when calling sendMessage earlier
updateMessageResponse = await queueClient.updateMessage(
    sendMessageResponse.messageId,
    sendMessageResponse.popReceipt,
    "Third message has been updated"
);

console.log("Message updated, requestId:", updateMessageResponse.requestId);

Přijímání zpráv z fronty

Stáhněte dříve přidané zprávy voláním receiveMessages metody . Do numberOfMessages pole předejte maximální počet zpráv, které se mají pro toto volání přijmout.

Na konec funkce přidejte main tento kód:

console.log("\nReceiving messages from the queue...");

// Get messages from the queue
const receivedMessagesResponse = await queueClient.receiveMessages({ numberOfMessages : 5 });

console.log("Messages received, requestId:", receivedMessagesResponse.requestId);

Odstranění zpráv z fronty

Po přijetí a zpracování zpráv z fronty je odstraňte. V tomto případě se při zpracování pouze zobrazuje zpráva v konzole.

Odstraňte zprávy voláním deleteMessage metody . Všechny zprávy, které nejsou explicitně odstraněné, se nakonec znovu zobrazí ve frontě a další možnost jejich zpracování.

Na konec funkce přidejte main tento kód:

// 'Process' and delete messages from the queue
for (i = 0; i < receivedMessagesResponse.receivedMessageItems.length; i++) {
    receivedMessage = receivedMessagesResponse.receivedMessageItems[i];

    // 'Process' the message
    console.log("\tProcessing:", receivedMessage.messageText);

    // Delete the message
    const deleteMessageResponse = await queueClient.deleteMessage(
        receivedMessage.messageId,
        receivedMessage.popReceipt
    );
    console.log("\tMessage deleted, requestId:", deleteMessageResponse.requestId);
}

Odstranění fronty

Následující kód vyčistí prostředky vytvořené aplikací odstraněním fronty pomocí delete metody .

Na konec funkce přidejte main tento kód a soubor uložte:

// Delete the queue
console.log("\nDeleting queue...");
const deleteQueueResponse = await queueClient.delete();
console.log("Queue deleted, requestId:", deleteQueueResponse.requestId);

Spuštění kódu

Tato aplikace vytvoří a přidá tři zprávy do fronty Azure. Kód vypíše zprávy ve frontě a pak je načte a odstraní, než frontu nakonec odstraní.

V okně konzoly přejděte do adresáře, který obsahuje soubor, a pak spusťte queues-quickstart-v12.js node aplikaci pomocí následujícího příkazu.

node queues-quickstart-v12.js

Výstup aplikace je podobný následujícímu příkladu:

Azure Queue Storage client library v12 - JavaScript quickstart sample

Creating queue...
         quickstartc095d120-1d04-11ea-af30-090ee231305f
Queue created, requestId: 5c0bc94c-6003-011b-7c11-b13d06000000

Adding messages to the queue...
Messages added, requestId: a0390321-8003-001e-0311-b18f2c000000

Peek at the messages in the queue...
         First message
         Second message
         Third message

Updating the third message in the queue...
Message updated, requestId: cb172c9a-5003-001c-2911-b18dd6000000

Receiving messages from the queue...
Messages received, requestId: a039036f-8003-001e-4811-b18f2c000000
        Processing: First message
        Message deleted, requestId: 4a65b82b-d003-00a7-5411-b16c22000000
        Processing: Second message
        Message deleted, requestId: 4f0b2958-c003-0030-2a11-b10feb000000
        Processing: Third message has been updated
        Message deleted, requestId: 6c978fcb-5003-00b6-2711-b15b39000000

Deleting queue...
Queue deleted, requestId: 5c0bca05-6003-011b-1e11-b13d06000000

Done

Krokování kódu v ladicím programu a kontrola Azure Portal procesu. Zkontrolujte svůj účet úložiště a ověřte, že se zprávy ve frontě vytvořily a odstranily.

Další kroky

V tomto rychlém startu jste zjistili, jak vytvořit frontu a přidat do ní zprávy pomocí javascriptového kódu. Pak jste se naučili prohlížet, načítat a odstraňovat zprávy. Nakonec jste zjistili, jak odstranit frontu zpráv.

Kurzy, ukázky, rychlé starty a další dokumentace najdete na: