在 AWS CDK (C#) 中使用常量 JSON 参数创建规则

Creating a rule with a constant JSON parameter in AWS CDK (C#)

我的 AWS 云部署脚本出现问题,我一直在尝试创建一个规则,每 15 分钟触发一次我的 lambda 并使用 json 对象调用它。如果我要从控制台执行此操作,我会这样做:

很长一段时间后,我想出了如何在代码中配置它:

var functionInput = new { Command = command };
var input = JsonConvert.SerializeObject(functionInput);
var target = new LambdaFunction(lambda, new LambdaFunctionProps
{
    Event = RuleTargetInput.FromObject(input)
});

或者像这样:

var target = new LambdaFunction(lambda, new LambdaFunctionProps
{
    Event = RuleTargetInput.FromText("{\"Command\" = \"" + command + "\"}")
});

但是aws上的常量不正确,我尝试了很多不同的方法,但结果总是这样:

这是不正确的 Json 并且无法解析回 class,所以我希望它变成这样: {“命令”=“清理”}

var inputDict = new Dictionary<string, string>();
inputDict.Add("Command", "CleanUp");
myRule.AddTarget(new Amazon.CDK.AWS.Events.Targets.LambdaFunction(myFunction,
    new Amazon.CDK.AWS.Events.Targets.LambdaFunctionProps 
    { 
        Event = RuleTargetInput.FromObject(inputDict) 
    }));

我来这里是为了寻找 Python 的等价物。终于想通了 - 希望有人觉得这有帮助

    from aws_cdk import aws_events as events
    from aws_cdk import aws_lambda as lambda_
    
    event_input = {"some_key": "some_value"}


    some_lambda = lambda_.Function( 
                   # lambda construct
                  )

    some_rule = events.Rule(
                   # rule construct 
                  )

    some_rule.add_target(
        targets.LambdaFunction(
            some_lambda,
            event=events.RuleTargetInput.from_object(event_input)
        )
    )