我知道可以使用AWS Ruby SDK创建AWS Lambda触发器(就像使用AWS Management Console一样)。
*更新,我找到了一种创建触发器的方法。 我正在使用以下代码:
@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
})
在尝试执行此操作时,我遇到了以下错误:
*** Aws::CloudWatchLogs::Errors::InvalidParameterException Exception: Could not execute the lambda function. Make sure you have given CloudWatch Logs permission to execute your function
为了测试一下,我有一个角色X,它附加在Lambda函数上,这个角色已经添加了AWSLambdaFullAccess策略,但我仍然遇到了这个错误。
我还需要注意些什么吗?
谢谢, Bakir