是否有一种方法可以使boto3客户端传递带有显式null值的参数(而不是完全省略该参数)?
我正在尝试使用create_recipt_rule on the boto3 SES client添加一个我想成为第一个规则的新收据规则。
AWS API文档(也可以从上面的boto文档中获取)说,这可以通过传递After
参数和空值来实现:
之后(字符串)-现有规则的名称,新规则将放置在该规则之后。如果此参数为null,则新规则将插入到规则列表的开头
通过测试,我发现它必须以null
的形式明确传递。只需省略After
参数,规则就会添加到列表的末尾。
我认为我可以通过使After
参数与exp None
值一起出现来传递一个Explict值。但是,这在boto3的参数验证上失败。即
client.create_receipt_rule(
RuleSetName='my-ruleset',
After=None,
Rule={ ... },
)
导致以下错误:
Parameter validation failed:
Invalid type for parameter After, value: None, type: <type 'NoneType'>, valid types: <type 'basestring'>
我还尝试传递字符串'null'
,但这会寻找一个名为null
的规则来将规则放在后面,而不是将规则放在开始位置。
是否可以通过boto3客户端将expit null
值传递给参数?
答案 0 :(得分:0)
事实证明,我的测试不正确,因此我忽略了省略create_receipt_rule
参数时after
的行为。
当省略after
参数时,新规则被添加为第一条规则,而不是我认为的最后一条。
因此,此问题的答案是无需传递明确的null
值,只需省略after
参数即可达到目标。