Hızlı başlangıç: JavaScript için Azure kuyruk depolama istemci kitaplığı V12

JavaScript için Azure kuyruk depolama istemci kitaplığı V12 ile çalışmaya başlayın. Azure kuyruk depolaması, daha sonra almak ve işlemek üzere çok sayıda ileti depolamaya yönelik bir hizmettir. Paketi yüklemek ve temel görevler için örnek kodu denemek üzere bu adımları izleyin.

JavaScript için Azure kuyruk depolama istemci kitaplığı V12 ' nı kullanarak şunları yapın:

  • Bir kuyruk oluşturma
  • Bir kuyruğa ileti ekleme
  • Kuyruktaki iletilere göz atın
  • Kuyruktaki bir iletiyi güncelleştirme
  • Kuyruktan ileti alma
  • Kuyruktaki iletileri silme
  • Bir kuyruk silme

Ek kaynaklar:

Önkoşullar

Ayarlanıyor

Bu bölümde, bir projeyi, JavaScript için Azure kuyruk depolama istemci kitaplığı V12 ile çalışacak şekilde hazırlama adımları gösterilmektedir.

Proje oluşturma

Adlı bir Node.js uygulaması oluşturun queues-quickstart-v12

  1. Konsol penceresinde (cmd, PowerShell veya Bash gibi), proje için yeni bir dizin oluşturun.

    mkdir queues-quickstart-v12
    
  2. Yeni oluşturulan dizine geçiş yapın queues-quickstart-v12 .

    cd queues-quickstart-v12
    
  3. Adlı yeni bir metin dosyası oluşturun package.json . Bu dosya Node.js projesi tanımlar. Bu dosyayı queues-quickstart-v12 dizine kaydedin. Dosyanın içeriği aşağıdadır:

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

    İsterseniz alanı için kendi adınızı koyabilirsiniz author .

Paketi yükler

Yine de queues-quickstart-v12 dizinde, komutunu kullanarak JavaScript Için Azure kuyruk depolama istemci kitaplığı 'nı yükleyebilirsiniz npm install .

npm install

Bu komut dosyayı okur package.json ve JavaScript paketi Için Azure kuyruk depolama istemci kitaplığı V12 ve bağımlı olduğu tüm kitaplıkları kurar.

Uygulama çerçevesini ayarlama

Proje dizininden:

  1. Kod Düzenleyicinizde başka bir yeni metin dosyası açın

  2. requireAzure ve Node.js modüllerini yüklemek için çağrılar ekleme

  3. Çok temel özel durum işleme dahil olmak üzere programın yapısını oluşturma

    Kod şu şekildedir:

    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. Yeni dosyayı queues-quickstart-v12.js queues-quickstart-v12 dizine kaydedin.

Azure portalından kimlik bilgilerinizi kopyalama

örnek uygulama Azure Depolama istek yaptığında yetkilendirilmiş olması gerekir. Bir isteği yetkilendirmek için, depolama hesabı kimlik bilgilerinizi uygulamaya bağlantı dizesi olarak ekleyin. Depolama hesabı kimlik bilgilerinizi görüntülemek için aşağıdaki adımları izleyin:

  1. Azure Portal’ında oturum açın.

  2. Depolama hesabınızı bulun.

  3. Depolama hesabı menü bölmesinde, güvenlik + ağ altında, erişim anahtarları' nı seçin. Burada, her anahtar için hesap erişim anahtarlarını ve tüm bağlantı dizesini görüntüleyebilirsiniz.

    Erişim anahtarı ayarlarının Azure portal nerede olduğunu gösteren ekran görüntüsü

  4. Erişim tuşları bölmesinde, anahtarları göster' i seçin.

  5. KEY1 bölümünde bağlantı dizesi değerini bulun. Bağlantı dizesini kopyalamak için Panoya Kopyala simgesini seçin. Bir sonraki bölümde bağlantı dizesi değerini bir ortam değişkenine eklersiniz.

    Azure portalından bağlantı dizesinin kopyalanmasını gösteren ekran görüntüsü

Depolama bağlantı dizelerinizi yapılandırma

Bağlantı dizesini kopyaladıktan sonra, uygulamayı çalıştıran yerel makinede yeni bir ortam değişkenine yazın. Ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminizin yönergelerini izleyin. <yourconnectionstring>Gerçek bağlantı dizeniz ile değiştirin.

Windows

setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"

ortam değişkenini Windows ekledikten sonra, komut penceresinin yeni bir örneğini başlatmanız gerekir.

Linux

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

macOS

export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"

Programları yeniden Başlat

Ortam değişkenini ekledikten sonra, ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatın. Örneğin, devam etmeden önce geliştirme ortamınızı veya düzenleyiciyi yeniden başlatın.

Nesne modeli

Azure Kuyruk Depolama, çok sayıda iletiyi depolamaya yönelik bir hizmettir. Kuyruk iletisi boyutu 64 KB 'ye kadar olabilir. Bir kuyruk, depolama hesabının toplam kapasite sınırına kadar milyonlarca ileti içerebilir. Kuyruklar genellikle zaman uyumsuz olarak işlenecek iş biriktirme listesi oluşturmak için kullanılır. Kuyruk depolama, üç tür kaynak sunar:

  • Depolama hesabı
  • Depolama hesabındaki bir kuyruk
  • Kuyruktaki iletiler

Aşağıdaki diyagramda bu kaynaklar arasındaki ilişki gösterilmektedir.

Kuyruk depolama mimarisi diyagramı

Şu kaynaklarla etkileşim kurmak için aşağıdaki JavaScript sınıflarını kullanın:

  • QueueServiceClient:, QueueServiceClient Depolama hesabınızdaki tüm kuyrukları yönetmenizi sağlar.
  • QueueClient: QueueClient Sınıfı tek bir kuyruğu ve iletilerini yönetmenizi ve düzenlemenizi sağlar.
  • QueueMessage: QueueMessage Sınıfı, bir sıraya çağrılırken döndürülen ayrı nesneleri temsil eder ReceiveMessages .

Kod örnekleri

Bu örnek kod parçacıkları, JavaScript için Azure kuyruk depolama istemci kitaplığı ile aşağıdaki eylemleri nasıl yapılacağını gösterir:

Bağlantı dizesini alma

Aşağıdaki kod, depolama bağlantı dizesini yapılandırma bölümünde oluşturulan ortam değişkeninden depolama hesabı için bağlantı dizesini alır.

Bu kodu işlevin içine ekleyin 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;

Bir kuyruk oluşturma

Yeni sıra için bir ad belirleyin. Aşağıdaki kod, benzersiz olduğundan emin olmak için kuyruk adına bir UUID değeri ekler.

Önemli

Kuyruk adları yalnızca küçük harf, sayı ve kısa çizgi içerebilir ve bir harf veya sayı ile başlamalıdır. Her kısa çizginin önünde ve arkasında kısa çizgi dışında bir karakter bulunmalıdır. Ad ayrıca 3 ila 63 karakter uzunluğunda olmalıdır. Daha fazla bilgi için bkz. ad kuyrukları ve meta verileri.

Sınıfının bir örneğini oluşturun QueueClient . Ardından, create depolama hesabınızda kuyruğu oluşturmak için yöntemini çağırın.

Bu kodu işlevin sonuna ekleyin 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);

Bir kuyruğa ileti ekleme

Aşağıdaki kod parçacığı, yöntemini çağırarak kuyruğa ileti ekler sendMessage . Ayrıca, QueueMessage üçüncü çağrıdan döndürülen öğesini de kaydeder sendMessage . Döndürülen sendMessageResponse ileti içeriğini programda daha sonra güncelleştirmek için kullanılır.

Bu kodu işlevin sonuna ekleyin 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);

Kuyruktaki iletilere göz atın

Yöntemi çağırarak kuyruktaki iletilere göz atın peekMessages . Bu yöntem, sıranın önüne bir veya daha fazla ileti alır ancak iletinin görünürlüğünü değiştirmez.

Bu kodu işlevin sonuna ekleyin 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);
}

Kuyruktaki bir iletiyi güncelleştirme

Yöntemini çağırarak bir iletinin içeriğini güncelleştirin updateMessage . Bu yöntem, bir iletinin görünürlük zaman aşımını ve içeriğini değiştirebilir. İleti içeriği, boyutu 64 KB 'a kadar olan bir UTF-8 kodlu dize olmalıdır. Yeni içerikle birlikte, messageId popReceipt kodda daha önce kaydedilen yanıtı ve yanıtı geçirin. sendMessageResponseÖzellikler güncelleştirilecek iletiyi belirler.

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

Kuyruktan ileti alma

Yöntemini çağırarak önceden eklenmiş iletileri indirin receiveMessages . numberOfMessagesAlanında bu çağrı için alacak en fazla ileti sayısını geçirin.

Bu kodu işlevin sonuna ekleyin 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);

Kuyruktaki iletileri silme

İletileri alındıktan ve işlendikten sonra kuyruktan silin. Bu durumda, işleme yalnızca konsolda iletiyi görüntülüyor.

Yöntemini çağırarak iletileri silin deleteMessage . Açıkça silinmeyen tüm iletiler, daha sonra bu işlemleri işlemek için bir süre sonra sırada görünür hale gelir.

Bu kodu işlevin sonuna ekleyin 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);
}

Bir kuyruk silme

Aşağıdaki kod, yöntemi kullanılarak sıranın silindiği, uygulamanın oluşturduğu kaynakları temizler delete .

Bu kodu işlevin sonuna ekleyin main ve dosyayı kaydedin:

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

Kodu çalıştırma

Bu uygulama, bir Azure kuyruğuna üç ileti oluşturur ve ekler. Kod kuyruktaki iletileri listeler, ardından kuyruğu silmeden önce bunları alır ve siler.

Konsol pencerenizde, dosyayı içeren dizine gidin queues-quickstart-v12.js ve node uygulamayı çalıştırmak için aşağıdaki komutu kullanın.

node queues-quickstart-v12.js

Uygulamanın çıktısı aşağıdaki örneğe benzer:

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

Hata Ayıklayıcıdaki kodda adım adım ilerleyin ve işlem boyunca Azure Portal denetleyin. Kuyruktaki iletilerin oluşturulup silindiğini doğrulamak için depolama hesabınızı kontrol edin.

Sonraki adımlar

Bu hızlı başlangıçta, bir sıranın nasıl oluşturulacağını ve JavaScript kodunu kullanarak iletiye nasıl ileti ekleneceğini öğrendiniz. Ardından iletileri göz atmayı, almayı ve silmeyi öğrendiniz. Son olarak, bir ileti sırasının nasıl silineceğini öğrendiniz.

Öğreticiler, örnekler, hızlı ve diğer belgeler için şu adresi ziyaret edin: