如何使用 Boto3 传递显式 Null 值?

How to pass an explict Null vaule using Boto3?

有没有办法让 boto3 客户端传递具有明确空值的参数(而不是完全省略该参数)?

我正在尝试使用 create_recipt_rule on the boto3 SES client 添加一个新的接收规则,我希望它成为第一条规则。

AWS API 文档(也被拉到上面的 boto 文档)说这应该通过传递具有空值的 After 参数来实现:

After (string) -- The name of an existing rule after which the new rule will be placed. If this parameter is null, the new rule will be inserted at the beginning of the rule list

从测试中我发现这必须作为 null 明确传递。简单地省略 After 参数会导致规则被添加到列表的末尾。

我想我可以通过将 After 参数与显式 None 值一起出现来传递显式值。然而,这在 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 值传递给参数?

事实证明我的测试不正确,所以我没有理解 create_receipt_rule 在省略 after 参数时的行为方式。

当省略 after 参数时,新规则被添加为第一条规则,而不是我想的最后一条规则。

所以这个问题的答案是不需要传递一个明确的null值,只需要省略after参数就可以达到目的。