Aracılığıyla paylaş


Event Grid'i kullanma

CycleCloud, küme ve düğüm olaylarını Azure Event Grid gönderebilir. Event Grid bir üreticiden gelen olayları kabul eder (bu örnekte CycleCloud) ve bunları bir veya daha fazla hedefe yönlendirir. Bu belgede azure depolama kuyruklarını hedef olarak kullanacağız.

İlk olarak, Event Grid hızlı başlangıcında açıklandığı gibi özel bir Event Grid konusu ve aboneliği oluşturun.

İkinci olarak, Yukarıda oluşturulan Event Grid konusuna yayımlamak için CycleCloud'u yapılandırın. Sol üstteki Ayarlar dişli simgesine tıklayın ve ardından listedeki CycleCloud öğesine çift tıklayın. Açılan listeden Event Grid konusunu seçin ve Kaydet'e tıklayın.

Event Grid konusunu seçme

Üçüncüsü, kümeye bir düğüm ekleyin. Bu işlem hemen iki olay oluşturur: bir Microsoft.CycleCloud.ClusterSizeIncreased olay ve bir Microsoft.CycleCloud.NodeAdded olay.

Son olarak, kuyruktan olayları işleyecek betiği oluşturun. Bu durumda Python 3 SDK'sını kullanacağız.

adlı get_messages.pybir dosya oluşturun:

from azure.storage.queue import QueueClient, TextBase64DecodePolicy
import json, sys, time

connect_str = sys.argv[1]
queue_name = sys.argv[2]

queue_client = QueueClient.from_connection_string(connect_str, queue_name, message_decode_policy=TextBase64DecodePolicy())

while True:
    messages = queue_client.receive_messages(timeout=60, visibility_timeout=5, messages_per_page=32)
    for msg_batch in messages.by_page():
        for msg in msg_batch:
            message_body = json.loads(msg.content)
            data = message_body["data"]

            print("%s %s %s" % (message_body["eventType"], data.get("status"), data.get("message")))
            queue_client.delete_message(msg.id, msg.pop_receipt)
    time.sleep(1)

Ardından bunu yukarıda oluşturulan kuyruğun bilgileriyle çağırın:

python3 get_messages.py "DefaultEndpointsProtocol=https;AccountName=ACCOUNTNAME;AccountKey=ACCOUNTKEY;EndpointSuffix=core.windows.net" QUEUE_NAME

Bu işlem kuyruktan olayları çeker ve içeriğini yazdırır. İşlem el ile sona erene kadar çalışır.

Not

Olaylarla ilgili daha birçok özellik vardır. Daha fazla bilgi için Olaylar sayfasına bakın.