Použití Služby Event Grid
CycleCloud může odesílat události clusteru a uzlu do Azure Event Grid. Event Grid přijímá události od producenta (v tomto případě CycleCloud) a směruje je do jednoho nebo více cílů. V tomto dokumentu budeme jako cíl používat fronty služby Azure Storage .
Nejprve vytvořte vlastní téma a odběr Event Gridu, jak je popsáno v rychlém startu služby Event Grid.
Za druhé nakonfigurujte CycleCloud tak, aby se publikoval do tématu Event Gridu vytvořeného výše. V levém horním rohu klikněte na ikonu ozubeného kola Nastavení a pak v seznamu poklikejte na položku CycleCloud . V rozevíracím seznamu vyberte téma Event Gridu a klikněte na Uložit.
Za třetí přidejte uzel do clusteru. Tím se okamžitě vygenerují dvě události: Microsoft.CycleCloud.ClusterSizeIncreased
událost a Microsoft.CycleCloud.NodeAdded
událost.
Nakonec vytvořte skript, který bude zpracovávat události z fronty. V tomto případě budeme používat sadu Python 3 SDK.
Vytvořte soubor s názvem get_messages.py
:
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)
Pak tuto akci vyvolejte s informacemi o frontě vytvořené výše:
python3 get_messages.py "DefaultEndpointsProtocol=https;AccountName=ACCOUNTNAME;AccountKey=ACCOUNTKEY;EndpointSuffix=core.windows.net" QUEUE_NAME
Tím se události nahrají z fronty a vytisknou se jejich obsah. Proces se spustí, dokud ručně neskončil.
Poznámka
U událostí existuje mnoho dalších vlastností. Další informace najdete na stránce Události .