Megosztás a következőn keresztül:


Azure Storage Queues ügyfélkódtár a .NET-hez – 12.13.1-es verzió

Kiszolgáló verziója: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07 és 2019-02-02

Az Azure Queue Storage szolgáltatás üzenetek nagy számban történő tárolására szolgál, amelyek HTTP- vagy HTTPS-kapcsolattal, hitelesített hívásokon keresztül a világon bárhonnan elérhetők. Egyetlen üzenetsor akár 64 KB méretű is lehet, és a tárfiók maximális kapacitásán belül több millió üzenetet tartalmazhat.

Forráskód | Csomag (NuGet) | API-referenciadokumentáció | REST API-dokumentáció | Termékdokumentáció

Első lépések

A csomag telepítése

Telepítse az Azure Storage Queues ügyfélkódtárat a .NET-hez a NuGet használatával:

dotnet add package Azure.Storage.Queues

Előfeltételek

A csomag használatához Azure-előfizetésre és tárfiókra van szüksége.

Új tárfiók létrehozásához használhatja az Azure Portalt, Azure PowerShell vagy az Azure CLI-t. Íme egy példa az Azure CLI használatával:

az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS

Az ügyfél hitelesítése

Az Azure Queue Storage szolgáltatással való kommunikációhoz létre kell hoznia a QueueClient osztály egy példányát. Az Azure Identity-kódtár megkönnyíti az Azure Active Directory-támogatás hozzáadását az Azure SDK-ügyfelek hitelesítéséhez a hozzájuk tartozó Azure-szolgáltatásokkal.

// Create a QueueClient that will authenticate through Active Directory
Uri queueUri = new Uri("https://MYSTORAGEACCOUNT.queue.core.windows.net/QUEUENAME");
QueueClient queue = new QueueClient(queueUri, new DefaultAzureCredential());

Dokumentációnkban és mintáinkban további információt talál az Azure Active Directory Azure Storage-beli hitelesítéshez való engedélyezéséről.

Fő fogalmak

A Queue Storage gyakori használati módjai:

  • Hátralékos munkák létrehozása aszinkron feldolgozáshoz
  • Üzenetek továbbítása egy elosztott alkalmazás különböző részei között

Menetbiztonság

Garantáljuk, hogy minden ügyfélpéldány-metódus szálbiztos és független egymástól (iránymutatás). Ez biztosítja, hogy az ügyfélpéldányok újrafelhasználására vonatkozó javaslat mindig biztonságos legyen, még a szálak között is.

További fogalmak

Ügyfélbeállítások | A válasz | elérése Hosszú ideig futó műveletek | Hibák | kezelése Diagnosztika | Gúnyos | Ügyfélélettartam

Példák

Üzenetek küldése

// We'll need a connection string to your Azure Storage account.
// You can obtain your connection string from the Azure Portal
// (click Access Keys under Settings in the Portal Storage account
// blade) or using the Azure CLI with:
//
//     az storage account show-connection-string --name <account_name> --resource-group <resource_group>
//
// You would normally provide the connection string to your
// application using an environment variable.
string connectionString = "<connection_string>";

// Name of the queue we'll send messages to
string queueName = "sample-queue";

// Get a reference to a queue and then create it
QueueClient queue = new QueueClient(connectionString, queueName);
queue.Create();

// Send a message to our queue
queue.SendMessage("Hello, Azure!");

Üzenetek fogadása

// We'll need a connection string to your Azure Storage account.
string connectionString = "<connection_string>";

// Name of an existing queue we'll operate on
string queueName = "sample-queue";

// Get a reference to a queue and then fill it with messages
QueueClient queue = new QueueClient(connectionString, queueName);
queue.SendMessage("first");
queue.SendMessage("second");
queue.SendMessage("third");

// Get the next messages from the queue
foreach (QueueMessage message in queue.ReceiveMessages(maxMessages: 10).Value)
{
    // "Process" the message
    Console.WriteLine($"Message: {message.Body}");

    // Let the service know we're finished with the message and
    // it can be safely deleted.
    queue.DeleteMessage(message.MessageId, message.PopReceipt);
}

Async API-k

Teljes mértékben támogatjuk a szinkron és az aszinkron API-kat is.

// We'll need a connection string to your Azure Storage account.
string connectionString = "<connection_string>";

// Name of the queue we'll send messages to
string queueName = "sample-queue";

// Get a reference to a queue and then create it
QueueClient queue = new QueueClient(connectionString, queueName);
await queue.CreateAsync();

// Send a message to our queue
await queue.SendMessageAsync("Hello, Azure!");

Üzenetkódolás

A kódtár ezen verziója alapértelmezés szerint nem kódolja az üzenetet. A V11 és a korábbi verziók, valamint a Azure Functions alapértelmezés szerint base64 kódolású üzeneteket használnak. Ezért ajánlott ezt a funkciót interop-forgatókönyvekhez használni.

QueueClientOptions queueClientOptions = new QueueClientOptions()
{
    MessageEncoding = QueueMessageEncoding.Base64
};

QueueClient queueClient = new QueueClient(connectionString, queueName, queueClientOptions);

Hibaelhárítás

Minden Azure Storage Queue-szolgáltatásművelet egy RequestFailedException hibát jelez hasznos ErrorCodes-vel. Számos ilyen hiba helyreállítható.

// We'll need a connection string to your Azure Storage account.
string connectionString = "<connection_string>";

// Name of an existing queue we'll operate on
string queueName = "sample-queue";

try
{
    // Try to create a queue that already exists
    QueueClient queue = new QueueClient(connectionString, queueName);
    queue.Create();
}
catch (RequestFailedException ex)
    when (ex.ErrorCode == QueueErrorCode.QueueAlreadyExists)
{
    // Ignore any errors if the queue already exists
}

Következő lépések

A Queue-minták használatának első lépései:

  1. "Helló világ!" alkalmazás: Üzenetsor-üzenetek (vagy aszinkron módon) leküldése, lekérdezése, betekintése és frissítése
  2. Hitelesítés: Hitelesítés kapcsolati sztringekkel, megosztott kulcsokkal, közös hozzáférésű jogosultságkódokkal és Azure Active Directoryval.

Közreműködés

A tár létrehozásával, tesztelésével és közreműködésével kapcsolatos részletekért tekintse meg a Tár CONTRIBUTING.md .

A projektben szívesen fogadjuk a hozzájárulásokat és a javaslatokat. A legtöbb hozzájáruláshoz el kell fogadnia egy Közreműködői licencszerződést (CLA-t), amelyben kijelenti, hogy jogosult arra, hogy ránk ruházza hozzájárulása felhasználási jogát, és ezt ténylegesen meg is teszi. A részletekért látogasson el a cla.microsoft.com.

A projekt a Microsoft nyílt forráskódú projekteket szabályozó etikai kódexe, a Microsoft Open Source Code of Conduct hatálya alá esik. További információkért lásd a viselkedési szabályzattal kapcsolatos gyakori kérdéseket , vagy vegye fel a kapcsolatot opencode@microsoft.com az esetleges további kérdésekkel vagy megjegyzésekkel.

Megjelenések