AWS Lake形成:CLI grant_permissions:Resource.Table中的未知参数:“ TableWildcard”

问题描述

我们正在尝试(使用AWS CLI)授予用户对AWS Lake Formation中数据库中所有表具有SELECT权限的权限。

基于文档; Lake Formation Permissions ReferenceGranting Table Permissions

我们尝试了以下命令:

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::000000000000:user/spongebob --permissions "SELECT" --permissions-with-grant-option "SELECT" --resource '{ ""Table"": { ""DatabaseName"": ""somedatabase"",""TableWildcard"": {} } }'

哪个返回以下错误

Parameter validation Failed: Missing required parameter in Resource.Table: "Name" UnkNown parameter in Resource.Table: "TableWildcard",must be one of: DatabaseName,Name

我们尝试了命令的一些变体(尽管文档确实说这需要是一个空字典),但我们得出的结论是,它必须与执行时调用的API版本有关命令。

任何人都可以确认这是API版本问题,还是我们错过的文档(上面链接)中缺少某些内容

欢呼

解决方法

绝对是版本不匹配。由于older boto3 version in lambda,也遇到了同样的错误。

更新aws cli并重试:

sudo pip3 install awscli --force-reinstall --upgrade