4

有没有办法让boto3客户端传递一个带有显式空值的参数(而不是完全省略参数)?

我正在尝试在 boto3 SES 客户端上使用 create_recipt_rule添加一个我想成为第一条规则的新收据规则。

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

After (string) -- 将放置新规则的现有规则的名称。如果此参数为空,则新规则将插入到规则列表的开头

通过测试,我发现这必须明确通过null. 简单地省略After参数会导致规则被添加到列表的末尾。

我认为我可以通过将After参数与显式值一起传递来传递显式None值。但是,这在 boto3 的参数验证中失败了。IE

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将规则放在后面而不是把规则放在开头的规则。

有没有办法null通过 boto3 客户端将 expit 值传递给参数?

4

1 回答 1

0

事实证明我的测试不正确,所以我错过了当参数被省略create_receipt_rule时的行为方式。after

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

所以这个问题的答案是不需要传递显式null值,只需省略after参数即可达到目标。

于 2018-07-19T07:35:33.707 回答