Başka bir lambda işlevi konuşlandırıldığında bir lambda işlevi çağırın
Yapılandırma nesneleri sağlayan bir AWS lambda işlevim var. Bu lambda işlevi her güncellendiğinde (yani yeniden konuşlandırıldığında), bu yapılandırma nesnelerindeki değişiklikleri algılayan ve bazı eylemler gerçekleştiren başka bir lambda işlevini tetiklemem gerekiyor. Bu lambda dağıtımını nasıl izlerim, hangi bulut izleme olayına abone olmam gerekir?
Yanıtlar
Lambda dağıtımlarınızın CodeDeploy tarafından yönetilmediğini varsayıyorum . Öyleyse, bir CloudTrial denemesi oluşturmanızı tavsiye ederim .
Varsayılan ayarlarla CT denemesi oluşturulduktan sonra , lambda işlevinize yönelik tüm yönetim API çağrılarını izleyecektir . Bunlardan biri UpdateFunctionCode. Böylece için bir CloudWatch kuralı oluşturabilirsiniz AWS API Call via CloudTrail. Kural, işlev güncelleme API çağrısında tetiklenecektir.
Böyle bir kurala örnek:
{
"source": [
"aws.lambda"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"lambda.amazonaws.com"
],
"eventName": [
"UpdateFunctionCode"
]
}
}
Ardından, birinci işlevin yakalanan güncelleme olayına bağlı olarak ikinci bir lambda tetikleyebilirsiniz.
@ Marcin'in önerisine dayanarak, etkinliği yazdırmak için konsol günlüğünü kullandı. Aşağıdaki kural, belirli bir işlevi filtrelemeye yardımcı oldu;
{
"source": [
"aws.lambda"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"lambda.amazonaws.com"
],
"eventName": [
"UpdateFunctionCode20150331v2"
],
"responseElements": {
"functionName": [
"myFunction"
]
}
}
}