Snabbstart: Azure Queue Storage klientbibliotek v12 för JavaScript

Kom igång med Azure Queue Storage-klientbiblioteket v12 för JavaScript. Azure Queue Storage är en tjänst för att lagra ett stort antal meddelanden för senare hämtning och bearbetning. Följ de här stegen för att installera paketet och prova exempelkoden för grundläggande uppgifter.

Använd Azure Queue Storage-klientbiblioteket v12 för JavaScript för att:

  • Skapa en kö
  • Lägga till meddelanden i en kö
  • Titta på meddelanden i en kö
  • Uppdatera ett meddelande i en kö
  • Ta emot meddelanden från en kö
  • Ta bort meddelanden från en kö
  • Ta bort en kö

Ytterligare resurser:

Förutsättningar

Inrätta

Det här avsnittet går igenom hur du förbereder ett projekt för att arbeta med Azure Queue Storage-klientbiblioteket v12 för JavaScript.

Skapa projektet

Skapa ett Node.js program med namnet queues-quickstart-v12

  1. I ett konsolfönster (till exempel cmd, PowerShell eller Bash) skapar du en ny katalog för projektet.

    mkdir queues-quickstart-v12
    
  2. Växla till den nyligen skapade queues-quickstart-v12 katalogen.

    cd queues-quickstart-v12
    
  3. Skapa en ny textfil med namnet package.json . Den här filen definierar Node.js projektet. Spara den här filen i queues-quickstart-v12 katalogen . Här är innehållet i filen:

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

    Du kan ange ett eget namn author i för fältet om du vill.

Installera paketet

När du fortfarande är queues-quickstart-v12 i katalogen installerar du Azure Queue Storage-klientbiblioteket för JavaScript-paketet med hjälp av kommandot npm install .

npm install

Det här kommandot läser filen och installerar Azure Queue Storage-klientbiblioteket v12 för JavaScript-paketet och alla bibliotek som det package.json är beroende av.

Konfigurera appramverket

Från projektkatalogen:

  1. Öppna en ny textfil i kodredigeraren

  2. Lägga require till anrop för att läsa in Azure Node.js moduler

  3. Skapa strukturen för programmet, inklusive mycket grundläggande undantagshantering

    Här är koden:

    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. Spara den nya filen queues-quickstart-v12.js som i queues-quickstart-v12 katalogen .

Kopiera dina autentiseringsuppgifter från Azure-portalen

När exempelprogrammet gör en begäran till Azure Storage måste det auktoriserats. Om du vill auktorisera en begäran lägger du till autentiseringsuppgifterna för ditt lagringskonto i programmet som en anslutningssträng. Följ dessa steg om du vill visa autentiseringsuppgifterna för ditt lagringskonto:

  1. Logga in på Azure-portalen.

  2. Leta rätt på ditt lagringskonto.

  3. I menyfönstret för lagringskontot går du till Säkerhet + nätverk och väljer Åtkomstnycklar. Här kan du visa kontoåtkomstnycklarna och den fullständiga anslutningssträngen för varje nyckel.

    Skärmbild som visar var inställningarna för åtkomstnyckeln finns i Azure Portal

  4. I fönstret Åtkomstnycklar väljer du Visa nycklar.

  5. Leta upp värdet för Anslutningssträng i avsnittet key1. Välj ikonen Kopiera till Urklipp för att kopiera anslutningssträngen. Du lägger till anslutningssträngens värde i en miljövariabel i nästa avsnitt.

    Skärmbild som visar hur man kopierar en anslutningssträng från Azure-portalen

Konfigurera anslutningssträngen för lagring

När du har kopierat anslutningssträngen skriver du den till en ny miljövariabel på den lokala dator som kör programmet. Konfigurera miljövariabeln genom att öppna ett konsolfönster och följa anvisningarna för ditt operativsystem. Ersätt <yourconnectionstring> med den faktiska anslutningssträngen.

Windows

setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"

När du har lagt till miljövariabeln i Windows måste du starta en ny instans av kommandofönstret.

Linux

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

macOS

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

Starta om program

När du har lagt till miljövariabeln startar du om alla program som körs och behöver läsa miljövariabeln. Du kan till exempel starta om utvecklingsmiljön eller redigeringsredigeraren innan du fortsätter.

Objektmodell

Azure Queue Storage är en tjänst för lagring av ett stort antal meddelanden. Ett kömeddelande kan vara upp till 64 KB stort. En kö kan innehålla miljontals meddelanden, upp till den totala kapacitetsgränsen för ett lagringskonto. Köer används ofta för att skapa eftersläpande uppgifter för att bearbeta asynkront. Queue Storage erbjuder tre typer av resurser:

  • Lagringskontot
  • En kö i lagringskontot
  • Meddelanden i kön

Följande diagram visar relationen mellan de här resurserna.

Diagram över arkitekturen för Queue Storage

Använd följande JavaScript-klasser för att interagera med dessa resurser:

  • QueueServiceClient: QueueServiceClient gör att du kan hantera alla köer i ditt lagringskonto.
  • QueueClient: Med QueueClient klassen kan du hantera och ändra en enskild kö och dess meddelanden.
  • QueueMessage: Klassen QueueMessage representerar de enskilda objekt som returneras vid anrop till en ReceiveMessages kö.

Kodexempel

De här exempelkodfragmenten visar hur du gör följande med Azure Queue Storage-klientbiblioteket för JavaScript:

Hämta anslutningssträngen

Följande kod hämtar anslutningssträngen för lagringskontot från miljövariabeln som skapades i avsnittet Konfigurera lagringsanslutningssträngen.

Lägg till den här koden i main funktionen:

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

Skapa en kö

Bestäm ett namn för den nya kön. Följande kod lägger till ett UUID-värde i könamnet för att säkerställa att det är unikt.

Viktigt

Könamn får bara innehålla gemener, siffror och bindestreck och måste börja med en bokstav eller en siffra. Varje bindestreck måste föregås och följas av ett tecken som inte är ett bindestreck. Namnet måste också vara mellan 3 och 63 tecken långt. Mer information finns i Namngivning av köer och metadata.

Skapa en instans av QueueClient klassen . Anropa sedan metoden create för att skapa kön i ditt lagringskonto.

Lägg till den här koden i slutet av main funktionen:

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

Lägga till meddelanden i en kö

Följande kodfragment lägger till meddelanden i kön genom att anropa sendMessage metoden . Den sparar också det som QueueMessage returneras från det tredje sendMessage anropet. Den sendMessageResponse returnerade används för att uppdatera meddelandeinnehållet senare i programmet.

Lägg till den här koden i slutet av main funktionen:

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

Titta på meddelanden i en kö

Granska meddelandena i kön genom att anropa peekMessages metoden . Den här metoden hämtar ett eller flera meddelanden framför kön men ändrar inte meddelandets synlighet.

Lägg till den här koden i slutet av main funktionen:

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

Uppdatera ett meddelande i en kö

Uppdatera innehållet i ett meddelande genom att anropa updateMessage metoden . Den här metoden kan ändra tidsgränsen och innehållet för ett meddelandes synlighet. Meddelandeinnehållet måste vara en UTF-8-kodad sträng som är upp till 64 kB stor. Tillsammans med det nya innehållet skickar du in messageId och från svaret som popReceipt sparades tidigare i koden. Egenskaperna sendMessageResponse identifierar vilket meddelande som ska uppdateras.

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

Ta emot meddelanden från en kö

Ladda ned tidigare tillagda meddelanden genom att anropa receiveMessages metoden . I fältet numberOfMessages skickar du det maximala antalet meddelanden som ska tas emot för det här anropet.

Lägg till den här koden i slutet av main funktionen:

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

Ta bort meddelanden från en kö

Ta bort meddelanden från kön när de har tagits emot och bearbetats. I det här fallet visar bearbetningen bara meddelandet på konsolen.

Ta bort meddelanden genom att anropa deleteMessage metoden . Meddelanden som inte uttryckligen tas bort blir så småningom synliga i kön igen för en annan möjlighet att bearbeta dem.

Lägg till den här koden i slutet av main funktionen:

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

Ta bort en kö

Följande kod rensar de resurser som appen skapade genom att ta bort kön med hjälp av delete metoden .

Lägg till den här koden i slutet main av funktionen och spara filen:

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

Kör koden

Den här appen skapar och lägger till tre meddelanden i en Azure-kö. Koden listar meddelandena i kön och hämtar och tar sedan bort dem innan de slutligen tar bort kön.

I konsolfönstret navigerar du till katalogen som innehåller queues-quickstart-v12.js filen och använder sedan följande kommando för att köra node appen.

node queues-quickstart-v12.js

Appens utdata liknar följande exempel:

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

Gå igenom koden i felsökningsprogrammet och kontrollera Azure Portal under hela processen. Kontrollera ditt lagringskonto för att kontrollera att meddelanden i kön skapas och tas bort.

Nästa steg

I den här snabbstarten har du lärt dig hur du skapar en kö och lägger till meddelanden i den med hjälp av JavaScript-kod. Sedan lärde du dig att granska, hämta och ta bort meddelanden. Slutligen lärde du dig hur du tar bort en meddelandekö.

Självstudier, exempel, snabbstarter och annan dokumentation finns här: