Quickstart: Azure Queue Storage-clientbibliotheek v12 voor JavaScript

Ga aan de slag met de Azure Queue Storage-clientbibliotheek v12 voor JavaScript. Azure Queue Storage is een service waarmee u grote aantallen berichten kunt opslaan om later op te halen en te verwerken. Volg deze stappen om het pakket te installeren en voorbeeldcode voor basistaken uit te proberen.

Gebruik de Azure Queue Storage-clientbibliotheek v12 voor JavaScript om:

  • Een wachtrij maken
  • Berichten aan een wachtrij toevoegen
  • Berichten in een wachtrij bekijken
  • Een bericht in een wachtrij bijwerken
  • Berichten van een wachtrij ontvangen
  • Berichten uit een wachtrij verwijderen
  • Een wachtrij verwijderen

Aanvullende bronnen:

Vereisten

Instellen

In deze sectie wordt uitgelegd hoe u een project voorbereidt voor gebruik met de Azure Queue Storage-clientbibliotheek v12 voor JavaScript.

Het project maken

Een Node.js-toepassing maken met de naam queues-quickstart-v12

  1. Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor het project.

    mkdir queues-quickstart-v12
    
  2. Schakel over naar de zojuist gemaakte map queues-quickstart-v12.

    cd queues-quickstart-v12
    
  3. Maak een nieuw tekstbestand met de naam package.json. Dit bestand definieert het Node.js-project. Sla dit bestand op in de map queues-quickstart-v12. Hier volgt de inhoud van het bestand:

    {
        "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"
        }
    }
    

    U kunt desgewenst uw eigen naam invoeren in het veld author.

Het pakket installeren

Blijf in de map queues-quickstart-v12 en installeer de Azure Queue Storage-clientbibliotheek voor het JavaScript-pakket met behulp van de opdracht npm install.

npm install

Met deze opdracht wordt het bestand package.json gelezen en het pakket Azure Queue Storage-clientbibliotheek v12 voor JavaScript geïnstalleerd, evenals alle bibliotheken waarvan het afhankelijk is.

Het app-framework instellen

Ga als volgt te werk vanuit de projectmap:

  1. Open nog een nieuw tekstbestand in uw code-editor

  2. Voeg require-aanroepen toe om Azure- en Node.js-modules te laden

  3. Maak de structuur voor het programma, waaronder zeer eenvoudige afhandeling van uitzonderingen

    Hier volgt de code:

    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. Sla het nieuwe bestand op als queues-quickstart-v12.js in de map queues-quickstart-v12.

Kopieer uw referenties van de Azure Portal

Wanneer met de voorbeeldtoepassing een aanvraag wordt ingediend bij Azure Storage, moet deze aanvraag worden geautoriseerd. Om een aanvraag te autoriseren voegt u de referenties van uw opslagaccount toe als een verbindingsreeks. Volg deze stappen om uw opslagaccountreferenties te bekijken:

  1. Meld u aan bij Azure Portal.

  2. Zoek uw opslagaccount.

  3. Selecteer in het menudeelvenster van het opslagaccount onder Beveiliging en netwerken de optie Toegangssleutels. Hier kunt u de toegangssleutels voor het account en de volledige connection string voor elke sleutel weergeven.

    Schermopname die laat zien waar de instellingen voor de toegangssleutel zich in de Azure Portal

  4. Selecteer sleutels weergeven in het deelvenster Toegangssleutels.

  5. Zoek in de sectie key1 de waarde van de verbindingsreeks. Selecteer het pictogram Kopiëren naar klembord om de connection string. In de volgende sectie voegt connection string waarde toe aan een omgevingsvariabele.

    Schermopname waarin een verbindingsreeks vanuit de Azure-portal wordt gekopieerd

De opslagverbindingsreeks configureren

Nadat u de connection string, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer met de toepassing. Als u de omgevingsvariabele wilt instellen, opent u een consolevenster en volgt u de aanwijzingen voor uw besturingssysteem. Vervang <yourconnectionstring> door de feitelijke verbindingsreeks.

Windows

setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"

Nadat u de omgevingsvariabele in Windows hebt toegevoegd, moet u een nieuw exemplaar van het opdrachtvenster starten.

Linux

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

macOS

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

Programma's opnieuw opstarten

Nadat u de omgevingsvariabele hebt toegevoegd, start u actieve programma's die de omgevingsvariabele moeten lezen, opnieuw. Start bijvoorbeeld uw ontwikkelomgeving of editor opnieuw op voordat u doorgaat.

Objectmodel

Azure Queue Storage is een service om grote aantallen berichten op te slaan. Een wachtrijbericht kan maximaal 64 KB groot zijn. Een wachtrij kan miljoenen berichten bevatten, tot aan de totale capaciteitslimiet van een opslagaccount. Wachtrijen worden vaak gebruikt om een voorraad werk te maken dat asynchroon moet worden verwerkt. Queue Storage biedt drie typen resources:

  • Het opslagaccount
  • Een wachtrij in het opslagaccount
  • Berichten in de wachtrij

Het volgende diagram geeft de relatie tussen deze resources weer.

Diagram van de Queue Storage-architectuur

Gebruik de volgende JavaScript-klassen om te communiceren met deze resources:

  • QueueServiceClient: Met de QueueServiceClient kunt u alle wachtrijen in uw opslagaccount beheren.
  • QueueClient: Met de QueueClient-klasse kunt u een afzonderlijke wachtrij en de bijbehorende berichten beheren en bewerken.
  • QueueMessage: De QueueMessage-klasse vertegenwoordigt de afzonderlijke objecten die worden geretourneerd wanneer ReceiveMessages wordt aangeroepen voor een wachtrij.

Codevoorbeelden

Deze voorbeeldcodefragmenten laten zien hoe u de volgende acties kunt uitvoeren met de Azure Queue Storage-clientbibliotheek voor JavaScript:

De verbindingsreeks ophalen

Met de volgende code wordt de verbindingstekenreeks voor het opslagaccount opgehaald uit de omgevingsvariabele die is gemaakt in de sectie De opslagverbindingsreeks configureren.

Voeg deze code toe in de functie main:

// 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;

Een wachtrij maken

Verzin een naam voor de nieuwe wachtrij. Met de volgende code wordt een UUID-waarde aan de wachtrijnaam toegevoegd om te verzekeren dat deze uniek is.

Belangrijk

Wachtrijnamen mogen alleen kleine letters, cijfers en afbreekstreepjes bevatten en moeten beginnen met een letter of cijfer. Elk afbreekstreepje moet worden voorafgegaan en gevolgd door een cijfer of letter. De naam moet bovendien tussen 3 en 63 tekens lang zijn. Zie Naamgeving van wachtrijen en metagegevens voor meer informatie.

Maak een exemplaar van de QueueClient-klasse. Roep vervolgens de methode create aan om de wachtrij in uw opslagaccount te maken.

Voeg deze code toe aan het einde van de functie main:

// 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);

Berichten aan een wachtrij toevoegen

Met het volgende codefragment worden berichten aan de wachtrij toegevoegd door de methode sendMessage aan te roepen. Ook wordt de QueueMessage opgeslagen die met de derde sendMessage-aanroep wordt geretourneerd. De geretourneerde sendMessageResponse wordt gebruikt om de inhoud van een bericht later in het programma bij te werken.

Voeg deze code toe aan het einde van de functie main:

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);

Berichten in een wachtrij bekijken

Bekijk de berichten in de wachtrij door de methode peekMessages aan te roepen. Met deze methode worden één of meer berichten vooraan in de wachtrij opgehaald, maar wordt de zichtbaarheid van het bericht niet gewijzigd.

Voeg deze code toe aan het einde van de functie main:

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);
}

Een bericht in een wachtrij bijwerken

Werk de inhoud van een bericht bij door de methode updateMessage aan te roepen. Deze methode kan de time-out voor zichtbaarheid en de inhoud van een bericht wijzigen. De inhoud van het bericht moet een UTF-8-gecodeerde tekenreeks zijn die maximaal 64 KB groot is. Geef behalve de nieuwe inhoud ook messageId en popReceipt uit het antwoord dat eerder in de code was opgeslagen. De sendMessageResponse-eigenschappen identificeren welk bericht moet worden bijgewerkt.

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);

Berichten van een wachtrij ontvangen

Download eerder toegevoegde berichten door de methode receiveMessages aan te roepen. Geef in het veld numberOfMessages het maximumaantal berichten op dat voor deze aanroep moet worden ontvangen.

Voeg deze code toe aan het einde van de functie main:

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);

Berichten uit een wachtrij verwijderen

Verwijder berichten uit de wachtrij nadat ze zijn ontvangen en verwerkt. In dit geval betekent ‘verwerken’ gewoon dat het bericht wordt weergegeven in de console.

Verwijder berichten door de methode deleteMessage aan te roepen. Berichten die niet expliciet worden verwijderd, worden uiteindelijk weer zichtbaar in de wachtrij, zodat u nog een kans hebt om ze te verwerken.

Voeg deze code toe aan het einde van de functie main:

// '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);
}

Een wachtrij verwijderen

Met de volgende code worden de resources opgeschoond die met de app zijn gemaakt, door de wachtrij te verwijderen met de methode delete.

Voeg deze code toe aan het einde van het main-functie en sla het bestand op:

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

De code uitvoeren

Met deze app worden drie berichten gemaakt en aan een Azure-wachtrij toegevoegd. De code toont de berichten in de wachtrij, haalt ze op en verwijdert ze, en verwijdert uiteindelijk de wachtrij.

Navigeer in het consolevenster naar de map die het bestand queues-quickstart-v12.js bevat, en voer de volgende opdracht node uit om de app uit te voeren.

node queues-quickstart-v12.js

De uitvoer van de app lijkt op die in het volgende voorbeeld:

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

Neem de code in uw foutopsporingsprogramma door en controleer uw Azure-portal gedurende de hele procedure. Controleer uw opslagaccount om te controleren of er berichten in de wachtrij zijn gemaakt en verwijderd.

Volgende stappen

In deze quickstart hebt u geleerd hoe u een wachtrij maakt en berichten eraan toevoegt met behulp van JavaScript-code. Vervolgens leerde u hoe u berichten kunt bekijken, ophalen en verwijderen. Tot slot leerde u hoe u een berichtenwachtrij verwijdert.

Voor zelfstudies, voorbeelden, quickstarts en andere documentatie gaat u naar: