Wiem, że powinien istnieć sposób utworzenia wyzwalacza dla AWS Lambda za pomocą aws ruby sdk (tak jak można to zrobić za pomocą AWS Management Console).Jak utworzyć wyzwalacz dzienników CloudWatch dla AWS Lambda za pomocą pakietu SDK aws ruby?
* Aktualizacja, udało mi się znaleźć sposób na stworzenie wyzwalacza. Używam następujący kod, aby to zrobić:
@cloudwatchlogs = Aws::CloudWatchLogs::Client.new(region: region, credentials: Aws::Credentials.new(aws_access_key_id, aws_secret_access_key))
@cloudwatchlogs.put_subscription_filter({
log_group_name: "RDSOSMetrics",
filter_name: "RDS metrics filter",
filter_pattern: "RDS metrics filter pattern",
destination_arn: function_arn
})
Dostaję następujący błąd podczas próby zrobić:
*** Aws::CloudWatchLogs::Errors::InvalidParameterException Exception: Could not execute the lambda function. Make sure you have given CloudWatch Logs permission to execute your function
Właśnie przez wzgląd na testowanie go, mam do naśladowania X która jest dołączony do funkcji Lambda i do tej roli dodano zasady AWSLambdaFullAccess, ale nadal otrzymuję ten błąd.
coś jeszcze mi brakuje
Dzięki Bakir
Czy możesz wyjaśnić, jaki rodzaj "wyzwalacza CloudWatch" chcesz dodać? To trochę niejednoznaczne; można dodać wyzwalacz zdarzenia w chmurze (harmonogram), wyzwalacz dziennika w chmurze lub wyzwalacz SNS na podstawie opublikowanej wiadomości za pośrednictwem alarmów w chmurze. Ten szczegół zmieni zakres odpowiedzi. –
Zaktualizowałem moją odpowiedź. Ogólnie rzecz biorąc, w moim przypadku potrzebuję wyzwalacza dziennika Cloudwatch dla funkcji lambda –