Introduction to Azure Storage Queues SDK for JavaScript
The Azure Storage Queues client library for JavaScript enables you to interact with Azure Queue Storage, a service that stores large numbers of small messages. You can access messages from anywhere in the world via HTTP or HTTPS. A Queue service application is typically composed of components that communicate asynchronously by adding messages to and retrieving messages from queues.
Key Features:
- Send, receive, and delete messages.
- Peek at messages without dequeuing them.
- Update message visibility and content.
- Manage queue metadata.
- Support for streaming message payloads.
Installation
You can install the Azure Storage Queues SDK for JavaScript using npm:
npm install @azure/storage-queue
Getting Started
To get started, you'll need an Azure Storage account and a connection string or shared access signature (SAS) token. Here's a basic example of how to create a queue and send a message:
import { QueueClient } from "@azure/storage-queue";
async function main() {
const connectionString = ""; // Replace with your connection string
const queueName = "my-javascript-queue";
const queueClient = new QueueClient(connectionString, queueName);
// Create the queue if it doesn't exist
try {
await queueClient.create();
console.log(`Queue '${queueName}' created successfully.`);
} catch (error) {
if (error.statusCode !== 409) { // 409 Conflict means queue already exists
console.error("Error creating queue:", error);
return;
}
console.log(`Queue '${queueName}' already exists.`);
}
// Send a message
const messageContent = "Hello from Azure SDK for JavaScript!";
try {
const sendMessageResponse = await queueClient.sendMessage(messageContent);
console.log(`Message sent. Message ID: ${sendMessageResponse.messageId}`);
} catch (error) {
console.error("Error sending message:", error);
}
// Receive a message (and delete it)
try {
const receiveMessagesResponse = await queueClient.receiveMessages({ numberOfMessages: 1 });
if (receiveMessagesResponse.receivedMessages && receiveMessagesResponse.receivedMessages.length > 0) {
const message = receiveMessagesResponse.receivedMessages[0];
console.log(`Received message: ${message.messageText}`);
await queueClient.deleteMessage(message.messageId, message.popReceipt);
console.log(`Message deleted.`);
} else {
console.log("No messages in the queue.");
}
} catch (error) {
console.error("Error receiving/deleting message:", error);
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
API Reference
The @azure/storage-queue package provides the following key classes and methods:
| Class/Method | Description |
|---|---|
QueueClient |
Client for interacting with Azure Queue Storage. |
QueueClient.create() |
Creates a new queue. |
QueueClient.deleteQueue() |
Deletes an existing queue. |
QueueClient.sendMessage() |
Adds a new message to the back of the message queue. |
QueueClient.receiveMessages() |
Retrieves one or more messages from the front of the queue. |
QueueClient.peekMessages() |
Retrieves one or more messages from the front of the queue without making them visible. |
QueueClient.updateMessage() |
Updates the visibility of a message. |
QueueClient.deleteMessage() |
Deletes a specific message from the queue. |
QueueClient.getProperties() |
Retrieves the properties of the queue. |
QueueClient.clear() |
Clears all messages from the queue. |
More Examples
Explore more advanced scenarios: