hızlı başlangıç: Azure kuyruğu Depolama .net için istemci kitaplığı v12
.net için istemci kitaplığı sürüm 12 Depolama Azure kuyruğu ile çalışmaya başlayın. Azure kuyruğu Depolama, 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.
.net için v12 istemci kitaplığı Depolama Azure kuyruğunu 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
- Azure aboneliği- ücretsiz olarak bir tane oluşturun
- Azure Depolama hesabı- depolama hesabı oluşturma
- İşletim sisteminiz için geçerli .NET Core SDK . Çalışma zamanını değil, SDK 'Yı aldığınızdan emin olun.
Ayarlanıyor
bu bölümde, bir projeyi .net için istemci kitaplığı v12 Depolama Azure kuyruğu ile çalışacak şekilde hazırlama işlemi adım adım açıklanmaktadır.
Proje oluşturma
Adlı bir .NET Core uygulaması oluşturun QueuesQuickstartV12 .
Konsol penceresinde (cmd, PowerShell veya Bash gibi),
dotnet newadıyla yeni bir konsol uygulaması oluşturmak için komutunu kullanınQueuesQuickstartV12. Bu komut, adlı tek bir kaynak dosyası olan basit bir "Hello World" C# projesi oluştururProgram.cs.dotnet new console -n QueuesQuickstartV12Yeni oluşturulan dizine geçiş yapın
QueuesQuickstartV12.cd QueuesQuickstartV12
Paketi yükler
yine de uygulama dizininde, komutunu kullanarak .net için istemci kitaplığı Depolama istemci kitaplığını yükleyebilirsiniz dotnet add package .
dotnet add package Azure.Storage.Queues
Uygulama çerçevesini ayarlama
Proje dizininden:
Program.csDosyayı Düzenleyicinizde açın- İfadeyi Kaldır
Console.WriteLine("Hello, World"); usingYönergeler eklemeMainZaman uyumsuz kodu desteklemek için yöntem bildirimini güncelleştirme
Kod şu şekildedir:
using Azure;
using Azure.Storage.Queues;
using Azure.Storage.Queues.Models;
using System;
using System.Threading.Tasks;
namespace QueuesQuickstartV12
{
class Program
{
static async Task Main(string[] args)
{
}
}
}
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:
Azure Portal’ında oturum açın.
Depolama hesabınızı bulun.
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 tuşları bölmesinde, anahtarları göster' i seçin.
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.

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. Queue 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.

Şu kaynaklarla etkileşim kurmak için aşağıdaki .NET sınıflarını kullanın:
QueueServiceClient:,QueueServiceClientDepolama hesabınızdaki tüm kuyrukları yönetmenizi sağlar.QueueClient:QueueClientSınıfı tek bir kuyruğu ve iletilerini yönetmenizi ve düzenlemenizi sağlar.QueueMessage:QueueMessageSınıfı, bir sıraya çağrılırken döndürülen ayrı nesneleri temsil ederReceiveMessages.
Kod örnekleri
bu örnek kod parçacıkları, .net için Azure kuyruğu Depolama istemci kitaplığı ile aşağıdaki eylemlerin nasıl gerçekleştirileceğini gösterir:
- Bağlantı dizesini alma
- 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
Bağlantı dizesini alma
Aşağıdaki kod, depolama hesabı için bağlantı dizesini alır. Bağlantı dizesi, depolama Bağlantı dizenizi yapılandırma bölümünde oluşturulan ortam değişkeninde depolanır.
Bu kodu metodun içine ekleyin Main :
Console.WriteLine("Azure Queue Storage client library v12 - .NET quickstart sample\n");
// Retrieve the connection string for use with the application. The storage
// connection string is stored in an environment variable called
// AZURE_STORAGE_CONNECTION_STRING on the machine running the application.
// 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.
string connectionString = Environment.GetEnvironmentVariable("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 GUID 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, CreateAsync depolama hesabınızda kuyruğu oluşturmak için yöntemini çağırın.
Bu kodu yönteminin sonuna ekleyin Main :
// Create a unique name for the queue
string queueName = "quickstartqueues-" + Guid.NewGuid().ToString();
Console.WriteLine($"Creating queue: {queueName}");
// Instantiate a QueueClient which will be
// used to create and manipulate the queue
QueueClient queueClient = new QueueClient(connectionString, queueName);
// Create the queue
await queueClient.CreateAsync();
Bir kuyruğa ileti ekleme
Aşağıdaki kod parçacığı zaman uyumsuz olarak, yöntemini çağırarak kuyruğa ileti ekler SendMessageAsync . Ayrıca, SendReceipt bir çağrıdan döndürülen bir SendMessageAsync çağrı kaydeder. Okundu bilgisi, programın ilerleyen kısımlarında iletiyi güncelleştirmek için kullanılır.
Bu kodu yönteminin sonuna ekleyin Main :
Console.WriteLine("\nAdding messages to the queue...");
// Send several messages to the queue
await queueClient.SendMessageAsync("First message");
await queueClient.SendMessageAsync("Second message");
// Save the receipt so we can update this message later
SendReceipt receipt = await queueClient.SendMessageAsync("Third message");
Kuyruktaki iletilere göz atın
Yöntemi çağırarak kuyruktaki iletilere göz atın PeekMessagesAsync . 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 yönteminin sonuna ekleyin Main :
Console.WriteLine("\nPeek at the messages in the queue...");
// Peek at messages in the queue
PeekedMessage[] peekedMessages = await queueClient.PeekMessagesAsync(maxMessages: 10);
foreach (PeekedMessage peekedMessage in peekedMessages)
{
// Display the message
Console.WriteLine($"Message: {peekedMessage.MessageText}");
}
Kuyruktaki bir iletiyi güncelleştirme
Yöntemini çağırarak bir iletinin içeriğini güncelleştirin UpdateMessageAsync . 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. İletinin yeni içeriğiyle birlikte, SendReceipt kodda daha önce kaydedilen değerleri ' den geçirin. SendReceiptDeğerler güncelleştirilecek iletiyi belirler.
Console.WriteLine("\nUpdating the third message in the queue...");
// Update a message using the saved receipt from sending the message
await queueClient.UpdateMessageAsync(receipt.MessageId, receipt.PopReceipt, "Third message has been updated");
Kuyruktan ileti alma
Yöntemini çağırarak önceden eklenmiş iletileri indirin ReceiveMessagesAsync .
Bu kodu yönteminin sonuna ekleyin Main :
Console.WriteLine("\nReceiving messages from the queue...");
// Get messages from the queue
QueueMessage[] messages = await queueClient.ReceiveMessagesAsync(maxMessages: 10);
Kuyruktaki iletileri silme
İşlenmeden sonra sıradaki iletileri silin. Bu durumda, işleme yalnızca konsolda iletiyi görüntülüyor.
Uygulama, Console.ReadLine iletileri işleyerek ve silmeden önce çağırarak kullanıcı girişi için duraklatılır. Azure Portal , kaynakların silinmeden önce doğru şekilde oluşturulduğunu doğrulayın. 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 yönteminin sonuna ekleyin Main :
Console.WriteLine("\nPress Enter key to 'process' messages and delete them from the queue...");
Console.ReadLine();
// Process and delete messages from the queue
foreach (QueueMessage message in messages)
{
// "Process" the message
Console.WriteLine($"Message: {message.MessageText}");
// Let the service know we're finished with
// the message and it can be safely deleted.
await queueClient.DeleteMessageAsync(message.MessageId, message.PopReceipt);
}
Bir kuyruk silme
Aşağıdaki kod, yöntemi kullanılarak sıranın silindiği, uygulamanın oluşturduğu kaynakları temizler DeleteAsync .
Bu kodu yönteminin sonuna ekleyin Main :
Console.WriteLine("\nPress Enter key to delete the queue...");
Console.ReadLine();
// Clean up
Console.WriteLine($"Deleting queue: {queueClient.Name}");
await queueClient.DeleteAsync();
Console.WriteLine("Done");
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 uygulama dizininize gidip uygulamayı derleyin ve çalıştırın.
dotnet build
dotnet run
Uygulamanın çıktısı aşağıdaki örneğe benzer:
Azure Queue Storage client library v12 - .NET quickstart sample
Creating queue: quickstartqueues-5c72da2c-30cc-4f09-b05c-a95d9da52af2
Adding messages to the queue...
Peek at the messages in the queue...
Message: First message
Message: Second message
Message: Third message
Updating the third message in the queue...
Receiving messages from the queue...
Press Enter key to 'process' messages and delete them from the queue...
Message: First message
Message: Second message
Message: Third message has been updated
Press Enter key to delete the queue...
Deleting queue: quickstartqueues-5c72da2c-30cc-4f09-b05c-a95d9da52af2
Done
Uygulama iletileri almadan önce durakladığında, Azure Portaldepolama hesabınızı kontrol edin. İletilerin kuyrukta olduğunu doğrulayın.
Enterİletileri almak ve silmek için tuşuna basın. İstendiğinde, Enter kuyruğu silmek ve tanıtımı sona almak için tuşa basın.
Sonraki adımlar
Bu hızlı başlangıçta, bir kuyruk oluşturmayı ve zaman uyumsuz .NET kodu kullanarak buna ileti eklemeyi öğ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:
- daha fazla bilgi edinmek için bkz. .net için Azure Depolama kitaplıkları.
- daha fazla azure kuyruğu Depolama örnek uygulamalar için bkz. .net için azure kuyruğu Depolama istemci kitaplığı .net örnekleri.
- .NET Core hakkında daha fazla bilgi için bkz. 10 dakika içinde .NET kullanmaya başlama.