AWS Lake Formation: CLI grant_permissions: неизвестный параметр в Resource.Table: "TableWildcard"
Мы пытаемся предоставить разрешения (с помощью интерфейса командной строки AWS) для пользователя, чтобы иметь разрешение SELECT для всех таблиц в базе данных в AWS Lake Formation.
На основании документации; Справочник по разрешениям на образование озера и предоставление разрешений для таблиц
Мы попытались выполнить следующую команду:
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, или что-то не хватает в документации (ссылка выше), которую мы пропустили.
Ура
1 ответ
Это определенно несоответствие версий. Та же ошибка возникла из-за более старой версии boto3 в лямбде.
Обновите aws cli и попробуйте еще раз:
sudo pip3 install awscli --force-reinstall --upgrade