Hızlı Başlangıç: Python için azure Depolama kitaplığı v12
Kullanmaya başlayın Python için azure kuyruk Depolama v12 istemci kitaplığıyla birlikte kullanın. Azure Kuyruk Depolama, daha sonra alma ve işleme için çok sayıda ileti depolamaya uygun bir hizmettir. Paketi yüklemek ve temel görevler için örnek kodu denemek için bu adımları izleyin.
Python için Azure Kuyruk Depolama v12 istemci kitaplığını kullanarak şunları yapmak için:
- Bir kuyruk oluşturma
- Kuyruğa ileti ekleme
- Kuyrukta iletilere göz atma
- Kuyrukta iletiyi güncelleştirme
- Kuyruktan ileti alma
- Kuyruktan iletileri silme
- Bir kuyruk silme
Ek kaynaklar:
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturun
- Azure Depolama hesabı - depolama hesabı oluşturma
- İşletim sisteminiz için Python - 2.7 veya 3.6+
Ayarlama
Bu bölümde, Python için istemci kitaplığı v12'de Azure Kuyruk Depolama çalışmak için proje hazırlamada size yol göstermektedir.
Proje oluşturma
adlı bir Python uygulaması queues-quickstart-v12 oluşturun.
Konsol penceresinde (cmd, PowerShell veya Bash gibi) proje için yeni bir dizin oluşturun.
mkdir queues-quickstart-v12Yeni oluşturulan dizine
queues-quickstart-v12geçiş.cd queues-quickstart-v12
Paketi yükleme
komutunu kullanarak Python Depolama için Azure Blob Depolama istemci kitaplığını pip install yükleyin.
pip install azure-storage-queue
Bu komut, Python paketi Depolama ve bağlı olduğu tüm kitaplıklar için Azure Queue Depolama istemci kitaplığını yüklür. Bu durumda bu yalnızca Python için Azure çekirdek kitaplığıdır.
Uygulama çerçevesini ayarlama
Kod düzenleyicide yeni bir metin dosyası açma
Deyim
importeklemeÇok temel özel durum işleme dahil olmak üzere program için yapıyı oluşturma
Kod şu şekildedir:
import os, uuid from azure.storage.queue import QueueServiceClient, QueueClient, QueueMessage try: print("Azure Queue storage v12 - Python quickstart sample") # Quick start code goes here except Exception as ex: print('Exception:') print(ex)Yeni dosyayı dizinine
queues-quickstart-v12.pyolarakqueues-quickstart-v12kaydedin.
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 en fazla 64 KB olabilir. Kuyruk, depolama hesabının toplam kapasite sınırına kadar milyonlarca ileti içerebilir. Kuyruklar genellikle zaman uyumsuz olarak iş için bir iş biriktirme listesi oluşturmak için kullanılır. Kuyruk Depolama üç tür kaynak sunar:
- Depolama hesabı
- Depolama hesabında bir kuyruk
- Kuyruk içindeki iletiler
Aşağıdaki diyagramda bu kaynaklar arasındaki ilişki gösterilmektedir.

Bu kaynaklarla etkileşim kurmak için aşağıdaki Python sınıflarını kullanın:
QueueServiceClient:QueueServiceClientdepolama hesabınıza tüm kuyrukları yönetmenize olanak sağlar.QueueClient:QueueClientsınıfı, tek bir kuyruğu ve onun iletilerini yönetmenize ve işlemenizi sağlar.QueueMessage:QueueMessagesınıfı, bir kuyrukta çağrılırken döndürülen tekreceive_messagestek nesneleri temsil eder.
Kod örnekleri
Bu örnek kod parçacıkları, Python için Azure Kuyruk hizmeti istemci kitaplığı ile Depolama eylemleri nasıl gerçekleştirebilirsiniz:
- Bağlantı dizesini alma
- Bir kuyruk oluşturma
- Kuyruğa ileti ekleme
- Kuyrukta iletilere göz atma
- Kuyrukta iletiyi güncelleştirme
- Kuyruktan ileti alma
- Kuyruktan iletileri silme
- Bir kuyruk silme
Bağlantı dizesini alma
Aşağıdaki kod depolama hesabının bağlantı dizesini alır. Bağlantı dizesi, Depolama bağlantı dizenizi yapılandırma bölümünde oluşturulan ortam değişkenini depolar.
Bu kodu bloğun içine try ekleyin:
# 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.
connect_str = os.getenv('AZURE_STORAGE_CONNECTION_STRING')
Bir kuyruk oluşturma
Yeni kuyruk için bir ad verin. 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, rakam ve kısa çizgi içerebilir ve bir harf veya sayı ile başlayılmalıdır. Her kısa çizginin önünde ve arkasında kısa çizgi dışında bir karakter bulunmalıdır. Ad da 3 ile 63 karakter uzunluğunda olmalıdır. Daha fazla bilgi için bkz. Kuyrukları ve meta verileri adlandırma.
sınıfının bir örneğini QueueClient oluşturun. Ardından, depolama create_queue hesabınızla kuyruğu oluşturmak için yöntemini çağırabilirsiniz.
Bu kodu bloğun sonuna try ekleyin:
# Create a unique name for the queue
queue_name = "quickstartqueues-" + str(uuid.uuid4())
print("Creating queue: " + queue_name)
# Instantiate a QueueClient which will be
# used to create and manipulate the queue
queue_client = QueueClient.from_connection_string(connect_str, queue_name)
# Create the queue
queue_client.create_queue()
Kuyruğa ileti ekleme
Aşağıdaki kod parçacığı yöntemini çağırarak kuyruğa ileti send_message ekler. Ayrıca üçüncü QueueMessage çağrıdan döndürüleni send_message de kaydeder. saved_message, programda daha sonra ileti içeriğini güncelleştirmek için kullanılır.
Bu kodu bloğun sonuna try ekleyin:
print("\nAdding messages to the queue...")
# Send several messages to the queue
queue_client.send_message(u"First message")
queue_client.send_message(u"Second message")
saved_message = queue_client.send_message(u"Third message")
Kuyrukta iletilere göz atma
yöntemini çağırarak kuyrukta iletilerine göz peek_messages atın. Bu yöntem kuyruğun önünden bir veya daha fazla ileti alır ancak iletinin görünürlüğünü değiştirmez.
Bu kodu bloğun sonuna try ekleyin:
print("\nPeek at the messages in the queue...")
# Peek at messages in the queue
peeked_messages = queue_client.peek_messages(max_messages=5)
for peeked_message in peeked_messages:
# Display the message
print("Message: " + peeked_message.content)
Kuyrukta iletiyi güncelleştirme
yöntemini çağırarak iletinin içeriğini update_message güncelleştirin. Bu yöntem bir iletinin görünürlük zaman aşımını ve içeriğini değiştirebilir. İleti içeriğinin boyutu 64 KB'a kadar olan UTF-8 ile kodlanmış bir dize olmalıdır. Yeni içerikle birlikte, daha önce koda kaydedilmiş olan iletiden değerleri de iletiye iletin. Değerler, saved_message güncelleştirilen iletiyi gösterir.
print("\nUpdating the third message in the queue...")
# Update a message using the message saved when calling send_message earlier
queue_client.update_message(saved_message, pop_receipt=saved_message.pop_receipt, \
content="Third message has been updated")
Kuyruktan ileti alma
yöntemini çağırarak daha önce eklenen iletileri receive_messages indirin.
Bu kodu bloğun sonuna try ekleyin:
print("\nReceiving messages from the queue...")
# Get messages from the queue
messages = queue_client.receive_messages(messages_per_page=5)
Kuyruktan iletileri silme
İletiler alındıktan ve işlendikten sonra kuyruktan silin. Bu durumda, işleme yalnızca konsolda iletiyi görüntülüyor.
Uygulama, input 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 bloğunun sonuna ekleyin try :
print("\nPress Enter key to 'process' messages and delete them from the queue...")
input()
for msg_batch in messages.by_page():
for msg in msg_batch:
# "Process" the message
print(msg.content)
# Let the service know we're finished with
# the message and it can be safely deleted.
queue_client.delete_message(msg)
Bir kuyruk silme
Aşağıdaki kod, yöntemi kullanılarak sıranın silindiği, uygulamanın oluşturduğu kaynakları temizler delete_queue .
Bu kodu bloğunun sonuna ekleyin try ve dosyayı kaydedin:
print("\nPress Enter key to delete the queue...")
input()
# Clean up
print("Deleting queue...")
queue_client.delete_queue()
print("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, dosyayı içeren dizine gidin queues-quickstart-v12.py ve python uygulamayı çalıştırmak için aşağıdaki komutu kullanın.
python queues-quickstart-v12.py
Uygulamanın çıktısı aşağıdaki örneğe benzer:
Azure Queue Storage client library v12 - Python quickstart sample
Creating queue: quickstartqueues-cac365be-7ce6-4065-bd65-3756ea052cb8
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...
First message
Second message
Third message has been updated
Press Enter key to delete the queue...
Deleting queue...
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 sıranın nasıl oluşturulacağını ve Python 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:
- daha fazla bilgi edinmek için bkz. Python için Azure Depolama kitaplıkları.
- daha fazla azure kuyruğu Depolama örnek uygulamalar için bkz. Python örnekleri için azure kuyruğu Depolama istemci kitaplığı v12.