Azure Metadata Service: Windows VM'ler için Zamanlanan Olaylar
Şunlar için geçerlidir: ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri
Zamanlanan Olaylar, uygulamanıza sanal makine (VM) bakımına hazırlanma süresi veren bir Azure Meta Veri Hizmetidir. Uygulamanızın bunlara hazırlanabilmesi ve kesintileri sınırlandırabilmesi için yaklaşan bakım olayları (örneğin, yeniden başlatma) hakkında bilgi sağlar. Hem Windows hem de Linux'ta PaaS ve IaaS dahil olmak üzere tüm Azure Sanal Makine türleri için kullanılabilir.
Linux'ta Zamanlanmış Olaylar hakkında bilgi için bkz . Linux VM'leri için Zamanlanmış Olaylar.
Zamanlanmış olaylar yaklaşan olaylar hakkında proaktif bildirimler sağlar. Önceden gerçekleşen olaylar hakkında reaktif bilgiler için bkz. Azure Kaynak Grafı'da VM kullanılabilirliği bilgileri ve Azure sanal makinesi için kullanılabilirlik uyarı kuralı oluşturma.
Not
Zamanlanmış Olaylar genel olarak tüm Azure Bölgelerinde kullanılabilir. En son sürüm bilgileri için bkz . Sürüm ve Bölge Kullanılabilirliği .
Zamanlanmış Olaylar neden kullanılır?
Birçok uygulama, VM bakımına hazırlanmak için zamandan yararlanabilir. Zaman, kullanılabilirliği, güvenilirliği ve servis verilebilirliği artıran uygulamaya özel görevleri gerçekleştirmek için kullanılabilir, örneğin:
- Denetim noktası ve geri yükleme.
- Bağlantı boşaltma.
- Birincil çoğaltma yük devretmesi.
- Bir yük dengeleyici havuzundan kaldırma.
- Olay günlüğüne kaydetme.
- Düzgün kapatma.
Zamanlanan Olaylar ile uygulamanız bakımın ne zaman gerçekleşeceğini keşfedebilir ve etkisini sınırlamak için görevleri tetikleyebilir.
Zamanlanan Olaylar aşağıdaki kullanım örneklerinde olaylar sağlar:
- Platform tarafından başlatılan bakım (örneğin, VM yeniden başlatma, dinamik geçiş veya konak için bellek koruma güncelleştirmeleri).
- Sanal makine, yakında başarısız olduğu tahmin edilen düzeyi düşürülmüş konak donanımında çalışıyor.
- Sanal makine, donanım hatası yaşayan bir konakta çalışıyordu.
- Kullanıcı tarafından başlatılan bakım (örneğin, bir kullanıcı vm'yi yeniden başlatır veya yeniden dağıtılır).
- Spot VM ve Spot ölçek kümesi örneği çıkarmaları.
Temeller
Meta Veri Hizmeti, VM'lerin içinden erişilebilen bir REST uç noktası kullanarak VM'leri çalıştırma hakkındaki bilgileri kullanıma sunar. Bilgiler yönlendirilemez bir IP üzerinden kullanılabilir ve VM dışında gösterilmez.
Kapsam
Zamanlanan olaylar'a teslim edilir ve aşağıdakiler tarafından onaylanabilir:
- Tek başına Sanal Makineler.
- Azure bulut hizmetindeki (klasik) tüm VM'ler.
- Kullanılabilirlik kümesindeki tüm VM'ler.
- Ölçek kümesi yerleştirme grubundaki tüm VM'ler.
Tüm Kullanılabilirlik Kümesindeki tüm sanal makineler (VM'ler) veya Sanal Makine Ölçek Kümesi için Yerleştirme Grubu için Zamanlanmış Olaylar, Kullanılabilirlik Alanı kullanımına bakılmaksızın aynı gruptaki veya ayarlanan diğer tüm VM'lere teslim edilir.
Sonuç olarak, hangi VM'lerin etkilendiğini belirlemek için olaydaki alanı denetleyin Resources
.
Not
1 hata etki alanı (FD = 1) kullanılarak ölçek kümesindeki GPU hızlandırılmış Sanal Makineler yalnızca etkilenen kaynak için zamanlanmış olayları alır. Olaylar aynı yerleştirme grubundaki tüm VM'lere yayınlanmaz.
Uç nokta bulma
Sanal ağ özellikli VM'ler için Meta Veri Hizmeti, statik, yönlendirilemez bir IP'den 169.254.169.254
kullanılabilir. Zamanlanmış Olayların en son sürümü için tam uç nokta:
http://169.254.169.254/metadata/scheduledevents?api-version=2020-07-01
VM, bulut hizmetleri ve klasik VM'ler için varsayılan durumlar olan bir Sanal Ağ içinde oluşturulmadıysa, kullanılacak IP adresini bulmak için ek mantık gerekir. Konak uç noktasını bulmayı öğrenmek için bu örneğe bakın.
Sürüm ve bölge kullanılabilirliği
Zamanlanmış Olaylar hizmeti sürümü oluşturulur. Sürümler zorunlu; geçerli sürüm şeklindedir 2020-07-01
.
Sürüm | Yayın Türü | Bölgeler | Release Notes (Sürüm Notları) |
---|---|---|---|
2020-07-01 | Genel Kullanılabilirlik | Tümü | |
2019-08-01 | Genel Kullanılabilirlik | Tümü | |
01.04.2019 | Genel Kullanılabilirlik | Tümü | |
2019-01-01 | Genel Kullanılabilirlik | Tümü | |
2017-11-01 | Genel Kullanılabilirlik | Tümü | |
2017-08-01 | Genel Kullanılabilirlik | Tümü | |
2017-03-01 | Önizle | Tümü |
Not
Api sürümü olarak {latest} tarafından desteklenen Zamanlanmış Olaylar'ın önceki önizleme sürümleri. Bu biçim artık desteklenmiyor ve gelecekte kullanımdan kaldırılacak.
Zamanlanmış Olayları etkinleştirme ve devre dışı bırakma
Zamanlanmış Olaylar, olaylar için ilk istekte bulunurken hizmetiniz için etkinleştirilir. İki dakikaya kadar ilk çağrınızda gecikmeli yanıt beklemeniz gerekir ve 5 dakika içinde olayları almaya başlarsınız. Zamanlanmış Olaylar, uç noktaya 24 saat boyunca istekte bulunmazsa hizmetiniz için devre dışı bırakılır.
Kullanıcı tarafından başlatılan bakım
Azure portalı, API, CLI veya PowerShell aracılığıyla kullanıcı tarafından başlatılan VM bakımı zamanlanmış bir olaya neden olur. Daha sonra uygulamanızda bakım hazırlama mantığını test edebilirsiniz ve uygulamanız kullanıcı tarafından başlatılan bakım için hazırlanabilir.
Bir VM'yi yeniden başlatırsanız, türüne Reboot
sahip bir olay zamanlanır. Bir VM'yi yeniden dağıtırsanız, türüne Redeploy
sahip bir olay zamanlanır. Genellikle kullanıcı olay kaynağı olan olaylar, kullanıcı tarafından başlatılan eylemlerde gecikme yaşanmasını önlemek için hemen onaylanabilir. Birincil VM'nin yanıt vermemeye başlaması durumunda kullanıcı tarafından oluşturulan zamanlanmış olayları iletişim kurarak onaylayan birincil ve ikincil bir VM'nin olmasını öneririz. Olayların hemen onaylanması, uygulamanızın iyi bir duruma geri döndürülmesindeki gecikmeleri önler.
Sanal Makine Ölçek Kümeleri Konuk işletim sistemi yükseltmeleri veya yeniden kullanımları için zamanlanmış olaylar, yalnızca bellek koruma güncelleştirmelerini destekleyen genel amaçlı VM boyutları için desteklenir. G, M, N ve H serileri için çalışmaz. Sanal Makine Ölçek Kümeleri Konuk işletim sistemi yükseltmeleri ve yeniden tahminleri için zamanlanmış olaylar varsayılan olarak devre dışı bırakılır. Desteklenen VM boyutlarında bu işlemler için zamanlanmış olayları etkinleştirmek için önce OSImageNotificationProfile kullanarak bunları etkinleştirin.
API’yi kullanma
Üst düzey genel bakış
Zamanlanmış Olayları işlemek için hazırlama ve kurtarma olmak üzere iki ana bileşen vardır. Vm'yi etkileyen geçerli zamanlanmış tüm olaylar, IMDS Zamanlanmış Olaylar uç noktası aracılığıyla okunabilir. Olay bir terminal durumuna ulaştığında, olay listesinden kaldırılır. Aşağıdaki diyagramda, tek bir zamanlanmış olayın karşılaşabileceği çeşitli durum geçişleri gösterilmektedir:
EventStatus:"Scheduled" durumundaki olaylar için iş yükünüzü hazırlamak için gerekli adımları uygulamanız gerekir. Hazırlık tamamlandıktan sonra zamanlanmış olay API'sini kullanarak olayı onaylamanız gerekir. Aksi takdirde, NotBefore zamanına ulaşıldığında olay otomatik olarak onaylanır. VM paylaşılan altyapıdaysa, sistem aynı donanımdaki diğer tüm kiracıların da işi veya zaman aşımını onaylamasını bekler. Tüm etkilenen VM'lerden onaylar toplandıktan veya NotBefore zamanına ulaşıldıktan sonra Azure, EventStatus:"Started" ile yeni bir zamanlanmış olay yükü oluşturur ve bakım olayının başlatılmasını tetikler. Olay bir terminal durumuna ulaştığında, olay listesinden kaldırılır. Bu, müşterinin VM'lerini kurtarması için bir sinyal görevi görür.
Uygulamanızda zamanlanmış olayları okuma ve yönetme işlemini gösteren psudeo kodu aşağıdadır:
current_list_of_scheduled_events = get_latest_from_se_endpoint()
#prepare for new events
for each event in current_list_of_scheduled_events:
if event not in previous_list_of_scheduled_events:
prepare_for_event(event)
#recover from completed events
for each event in previous_list_of_scheduled_events:
if event not in current_list_of_scheduled_events:
receover_from_event(event)
#prepare for future jobs
previous_list_of_scheduled_events = current_list_of_scheduled_events
Zamanlanmış olaylar genellikle yüksek kullanılabilirlik gereksinimleri olan uygulamalar için kullanıldığından dikkate alınması gereken birkaç istisnai durum vardır:
- Zamanlanmış bir olay tamamlanıp diziden kaldırıldıktan sonra, başka bir EventStatus:"Scheduled" olayı da dahil olmak üzere yeni bir olay olmadan başka bir etki olmaz
- Azure, filonun tamamında bakım işlemlerini izler ve nadir durumlarda bakım işleminin uygulanamayacak kadar yüksek riskli olduğunu belirler. Bu durumda zamanlanan olay doğrudan "Zamanlanmış" durumundan olaylar dizisinden kaldırılmaya gider
- Donanım hatası durumunda, Azure "Zamanlanmış" durumunu atlar ve hemen EventStatus:"Başlatıldı" durumuna geçer.
- Olay hala EventStatus:"Started" durumunda olsa da, zamanlanan olayda tanıtılandan daha kısa bir sürenin başka bir etkisi olabilir.
Azure'ın kullanılabilirlik garantisi kapsamında, farklı hata etki alanlarındaki VM'ler aynı anda rutin bakım işlemlerinden etkilenmez. Ancak, işlemleri ardı ardına seri hale getirmiş olabilirler. Bir hata etki alanındaki VM'ler, başka bir hata etki alanının bakımı tamamlandıktan kısa süre sonra EventStatus:"Scheduled" ile zamanlanmış olayları alabilir. Hangi mimariyi seçtiğinizden bağımsız olarak, vm'lerinizde bekleyen yeni olayları her zaman denetlemeye devam edin.
Olayların tam zamanlamaları farklılık gösterse de, aşağıdaki diyagram tipik bir bakım işleminin nasıl ilerleyebileceğine ilişkin kaba bir kılavuz sağlar:
- EventStatus:"Scheduled" to Approval Timeout: 15 dakika
- Etki Süresi: 7 saniye
- EventStatus:"Started" to Completed (olay Olaylar dizisinden kaldırıldı): 10 dakika
VM kullanılabilirliğini etkileyen tüm işlemler zamanlanmış bir olaya neden olur, ancak zamanlanmış olayların tümü Azure Etkinlik Günlükleri veya Kaynak Durumu gibi diğer Azure yüzeylerinde görünmez. Zamanlanmış olayları düzenli olarak denetlemek, VM'leriniz üzerindeki yaklaşan etkilerle ilgili en güncel bilgilere sahip olduğunuzdan emin olmanıza neden olur.
Üst Bilgiler
Meta Veri Hizmeti'ni sorgularken, isteğin istemeden yeniden yönlendirilmediğinden emin olmak için üst bilgiyi Metadata:true
sağlamanız gerekir. Tüm Metadata:true
zamanlanmış olay istekleri için üst bilgi gereklidir. üst bilgisinin isteğe eklenememesi, Meta Veri Hizmeti'nden "Hatalı İstek" yanıtıyla sonuçlanır.
Olayları sorgulama
Aşağıdaki çağrıyı yaparak zamanlanmış olayları sorgulayabilirsiniz:
Bash örneği
curl -H Metadata:true http://169.254.169.254/metadata/scheduledevents?api-version=2020-07-01
PowerShell örneği
Invoke-RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri "http://169.254.169.254/metadata/scheduledevents?api-version=2020-07-01" | ConvertTo-Json -Depth 64
Python örneği
import json
import requests
metadata_url ="http://169.254.169.254/metadata/scheduledevents"
header = {'Metadata' : 'true'}
query_params = {'api-version':'2020-07-01'}
def get_scheduled_events():
resp = requests.get(metadata_url, headers = header, params = query_params)
data = resp.json()
return data
Yanıt, zamanlanmış olaylar dizisi içerir. Boş bir dizi, şu anda hiçbir olayın zamanlanmış olmadığı anlamına gelir. Zamanlanmış olayların olduğu durumlarda, yanıt bir dizi olay içerir.
{
"DocumentIncarnation": {IncarnationID},
"Events": [
{
"EventId": {eventID},
"EventType": "Reboot" | "Redeploy" | "Freeze" | "Preempt" | "Terminate",
"ResourceType": "VirtualMachine",
"Resources": [{resourceName}],
"EventStatus": "Scheduled" | "Started",
"NotBefore": {timeInUTC},
"Description": {eventDescription},
"EventSource" : "Platform" | "User",
"DurationInSeconds" : {timeInSeconds},
}
]
}
Olay özellikleri
Özellik | Açıklama |
---|---|
Belge Enkarnasyonu | Olaylar dizisi değiştiğinde artan tamsayı. Aynı enkarnasyona sahip belgeler aynı olay bilgilerini içerir ve bir olay değiştiğinde enkarnasyon artırılır. |
EventId | Bu olay için genel olarak benzersiz tanımlayıcı. Örnek:
|
EventType | Bu olayın neden olacağı beklenen etki. Değer:
|
ResourceType | Bu olayın etkilediği kaynak türü. Değer:
|
Kaynaklar | Bu olayın etkilediği kaynakların listesi. Örnek:
|
EventStatus | Bu olayın durumu. Değer:
Completed benzer bir durum sağlanmadı. Olay bittiğinde olay artık döndürülmüyor. |
NotBefore | Bu olayın başlatıldığı saat. Olayın bu saatten önce başlamaması garanti edilir. Olay zaten başlatıldıysa boş olur Örnek:
|
Açıklama | Bu olayın açıklaması. Örnek:
|
EventSource | Olayın başlatıcısı. Örnek:
|
DurationInSeconds | Olayın neden olduğu kesintinin beklenen süresi. Etki penceresi sırasında daha kısa bir sürenin ikincil etkileri olabilir. Örnek:
|
Olay zamanlama
Her olay, gelecekte olay türüne göre en az bir süre zamanlanır. Bu süre bir olayın NotBefore
özelliğine yansıtılır.
EventType | En düşük bildirim |
---|---|
Dondur | 15 dakika |
Yeniden başlatma | 15 dakika |
Yeniden dağıtım | 10 dakika |
Sonlandır | Kullanıcı Yapılandırılabilir: 5 - 15 dakika |
Bu, gelecekteki bir olay zamanlamasını, olay gerçekleşmeden önce en az bildirim zamanına kadar algılayabileceğiniz anlamına gelir. Bir olay zamanlandıktan sonra onaylandıktan veya zaman geçtikten NotBefore
sonra duruma geçerStarted
. Ancak nadir durumlarda işlem başlamadan önce Azure tarafından iptal edilir. Bu durumda olay Olaylar dizisinden kaldırılır ve etki daha önce zamanlandığı gibi gerçekleşmez.
Not
Bazı durumlarda Azure, donanımın düşmesi nedeniyle konak hatasını tahmin edebilir ve bir geçiş zamanlayarak hizmetinizdeki kesintiyi azaltmaya çalışır. Etkilenen sanal makineler genellikle gelecekte birkaç gün olan zamanlanmış bir NotBefore
olay alır. Gerçek süre, tahmin edilen hata riski değerlendirmesine bağlı olarak değişir. Azure mümkün olduğunda 7 gün önceden bildirimde bulunmaya çalışır, ancak tahmin, donanımın yakın zamanda başarısız olma olasılığının yüksek olması durumunda gerçek süre değişir ve daha küçük olabilir. Sistem tarafından başlatılan geçiş öncesinde donanımın başarısız olması durumunda hizmetinizin riskini en aza indirmek için, sanal makinenizi en kısa sürede kendi kendine yeniden dağıtmanızı öneririz.
Not
Konak düğümü bir donanım hatasıyla karşılaşırsa Azure, etkilenen sanal makineler için kurtarma işlemine hemen başlarken en düşük bildirim süresini atlar. Bu, etkilenen VM'lerin yanıt verememesi durumunda kurtarma süresini azaltır. Kurtarma işlemi sırasında ve EventStatus = Started
ile EventType = Reboot
etkilenen tüm VM'ler için bir olay oluşturulur.
Yoklama sıklığı
Güncelleştirmeler için uç noktayı istediğiniz sıklıkta veya seyrek yoklayabilirsiniz. Ancak, istekler arasındaki süre ne kadar uzun olursa, yaklaşan bir olaya tepki vermek için o kadar fazla zaman kaybedebilirsiniz. Bazı durumlarda önceden bildirim 30 saniye kadar kısa olsa da çoğu olayda 5-15 dakika önceden bildirim vardır. Azaltıcı eylemlere geçmek için mümkün olduğunca çok zaman ayırdığınızdan emin olmak için hizmeti saniyede bir kez yoklamanızı öneririz.
Olay başlatma
Yaklaşan bir olayı öğrendikkten ve düzgün kapatma mantığınızı tamamladıktan sonra ile Meta Veri Hizmeti'ne EventId
çağrı POST
yaparak bekleyen olayı onaylayabilirsiniz. Bu çağrı, Azure'a en düşük bildirim süresini (mümkün olduğunda) kısaltabileceğini belirtir. Olay onaydan hemen sonra başlatılamayabilir; bazı durumlarda Azure, olaya devam etmeden önce düğümde barındırılan tüm VM'lerin onaylanmasını gerektirir.
İstek gövdesinde POST
aşağıdaki JSON örneği beklenir. İstek, listesini StartRequests
içermelidir. Her StartRequest
birinde, hızlandırmak istediğiniz olay için yer alır EventId
:
{
"StartRequests" : [
{
"EventId": {EventId}
}
]
}
Başka bir VM olayı zaten onaylamış olsa bile geçerli bir olay kimliği geçirildiyse hizmet her zaman 200 başarı kodu döndürür. 400 hata kodu, istek üst bilgisinin veya yükünün hatalı biçimlendirilmiş olduğunu gösterir.
Not
Olaylar post iletisiyle onaylanmadıkça veya NotBefore süresi dolmadıkça devam etmez. Bu, Azure portalından VM yeniden başlatmaları gibi kullanıcı tarafından tetiklenen olayları içerir.
Bash örneği
curl -H Metadata:true -X POST -d '{"StartRequests": [{"EventId": "f020ba2e-3bc0-4c40-a10b-86575a9eabd5"}]}' http://169.254.169.254/metadata/scheduledevents?api-version=2020-07-01
PowerShell örneği
Invoke-RestMethod -Headers @{"Metadata" = "true"} -Method POST -body '{"StartRequests": [{"EventId": "5DD55B64-45AD-49D3-BBC9-F57D4EA97BD7"}]}' -Uri http://169.254.169.254/metadata/scheduledevents?api-version=2020-07-01 | ConvertTo-Json -Depth 64
Python örneği
import json
import requests
def confirm_scheduled_event(event_id):
# This payload confirms a single event with id event_id
payload = json.dumps({"StartRequests": [{"EventId": event_id }]})
response = requests.post("http://169.254.169.254/metadata/scheduledevents",
headers = {'Metadata' : 'true'},
params = {'api-version':'2020-07-01'},
data = payload)
return response.status_code
Not
Bir olayı onaylamak, olayın yalnızca olayı onaylayan VM'yi değil olaydaki herkes Resources
için devam etmesini sağlar. Bu nedenle, onayları koordine etmek için bir lider seçebilirsiniz. Bu, alandaki ilk makine Resources
kadar basit olabilir.
Örnek yanıtlar
Aşağıdaki olaylar, canlı olarak başka bir düğüme geçirilen iki VM tarafından görülen bir örnektir.
DocumentIncarnation
içinde her yeni bilgi Events
olduğunda değişiyor. Olayın onaylanması, dondurma işleminin hem WestNO_0 hem de WestNO_1 devam etmesine olanak sağlar. DurationInSeconds
-1 değeri, platformun işlemin ne kadar süreceğini bilmediğini gösterir.
{
"DocumentIncarnation": 1,
"Events": [
]
}
{
"DocumentIncarnation": 2,
"Events": [
{
"EventId": "C7061BAC-AFDC-4513-B24B-AA5F13A16123",
"EventStatus": "Scheduled",
"EventType": "Freeze",
"ResourceType": "VirtualMachine",
"Resources": [
"WestNO_0",
"WestNO_1"
],
"NotBefore": "Mon, 11 Apr 2022 22:26:58 GMT",
"Description": "Virtual machine is being paused because of a memory-preserving Live Migration operation.",
"EventSource": "Platform",
"DurationInSeconds": 5
}
]
}
{
"DocumentIncarnation": 3,
"Events": [
{
"EventId": "C7061BAC-AFDC-4513-B24B-AA5F13A16123",
"EventStatus": "Started",
"EventType": "Freeze",
"ResourceType": "VirtualMachine",
"Resources": [
"WestNO_0",
"WestNO_1"
],
"NotBefore": "",
"Description": "Virtual machine is being paused because of a memory-preserving Live Migration operation.",
"EventSource": "Platform",
"DurationInSeconds": 5
}
]
}
{
"DocumentIncarnation": 4,
"Events": [
]
}
Python Örneği
Aşağıdaki örnek, zamanlanmış olaylar için Meta Veri Hizmeti'ni sorgular ve bekleyen her olayı onaylar:
#!/usr/bin/python
import json
import requests
from time import sleep
# The URL to access the metadata service
metadata_url ="http://169.254.169.254/metadata/scheduledevents"
# This must be sent otherwise the request will be ignored
header = {'Metadata' : 'true'}
# Current version of the API
query_params = {'api-version':'2020-07-01'}
def get_scheduled_events():
resp = requests.get(metadata_url, headers = header, params = query_params)
data = resp.json()
return data
def confirm_scheduled_event(event_id):
# This payload confirms a single event with id event_id
# You can confirm multiple events in a single request if needed
payload = json.dumps({"StartRequests": [{"EventId": event_id }]})
response = requests.post(metadata_url,
headers= header,
params = query_params,
data = payload)
return response.status_code
def log(event):
# This is an optional placeholder for logging events to your system
print(event["Description"])
return
def advanced_sample(last_document_incarnation):
# Poll every second to see if there are new scheduled events to process
# Since some events may have necessarily short warning periods, it is
# recommended to poll frequently
found_document_incarnation = last_document_incarnation
while (last_document_incarnation == found_document_incarnation):
sleep(1)
payload = get_scheduled_events()
found_document_incarnation = payload["DocumentIncarnation"]
# We recommend processing all events in a document together,
# even if you won't be actioning on them right away
for event in payload["Events"]:
# Events that have already started, logged for tracking
if (event["EventStatus"] == "Started"):
log(event)
# Approve all user initiated events. These are typically created by an
# administrator and approving them immediately can help to avoid delays
# in admin actions
elif (event["EventSource"] == "User"):
confirm_scheduled_event(event["EventId"])
# For this application, freeze events less that 9 seconds are considered
# no impact. This will immediately approve them
elif (event["EventType"] == "Freeze" and
int(event["DurationInSeconds"]) >= 0 and
int(event["DurationInSeconds"]) < 9):
confirm_scheduled_event(event["EventId"])
# Events that may be impactful (for example reboot or redeploy) may need custom
# handling for your application
else:
#TODO Custom handling for impactful events
log(event)
print("Processed events from document: " + str(found_document_incarnation))
return found_document_incarnation
def main():
# This will track the last set of events seen
last_document_incarnation = "-1"
input_text = "\
Press 1 to poll for new events \n\
Press 2 to exit \n "
program_exit = False
while program_exit == False:
user_input = input(input_text)
if (user_input == "1"):
last_document_incarnation = advanced_sample(last_document_incarnation)
elif (user_input == "2"):
program_exit = True
if __name__ == '__main__':
main()
Sonraki adımlar
- Azure Örneği Meta Verileri Zamanlanmış Olaylar GitHub deposundaki Zamanlanmış Olaylar kod örneklerini gözden geçirin.
- Azure Örnekleri GitHub deposunda Node.js Zamanlanmış Olaylar kod örneklerini gözden geçirin.
- Örnek Meta Veri Hizmeti'nde kullanılabilen API'ler hakkında daha fazla bilgi edinin.
- Azure'da Windows sanal makineleri için planlı bakım hakkında bilgi edinin.
- Log Analytics aracılığıyla VM'leriniz için zamanlanmış olayları izlemeyi öğrenin.
- Azure Örnekleri GitHub deposunda Azure Event Hubs kullanarak zamanlanmış olayları günlüğe kaydetmeyi öğrenin.