0

当我尝试使用提供 Tier 参数的 SSM client.put_parameter() 时,出现以下错误:

参数验证失败:

输入中的未知参数:“Tier”,必须是 Name、Description、Value、Type、KeyId、Overwrite、AllowedPattern 之一

boto3 version: 1.7.74
https://github.com/boto/boto3/issues/2034


    print("boto3 version: "+boto3.__version__)
            Policies = {}
            Policies['Type'] = "Expiration"
            Policies['Version'] = "1.0"
            Attributes = {}
            Attributes['Timestamp'] = datetime.now() + timedelta(hours=24)
            Policies['Attributes'] = Attributes
            ssm.put_parameter(
                Name="**************",
                Description='string',
                Value="*************",
                Type='String',
                Overwrite=True,
                Tier='Advanced'
            )

期望将参数与层和策略一起放置

4

1 回答 1

3

根据put_parameter 1.7.74 文档,它不支持Tier参数。我假设您指的是最新的 (1.9.212) 文档。

这是 lambda 的一个已知问题。Boto3 发布仅在新的 lambda 发布后才更改影响 lambda 执行环境,这意味着即使有新的 boto3 版本,lambda 也不会拥有最新的模块。或者,您可以使用最新的 boto3 模块创建一个 lambda 层,并将您的 lambda 函数配置为使用相同的模块。

AWS Lambda 层 - AWS Lambda

于 2019-08-21T06:09:45.367 回答