#amazon-web-services #amazon-s3 #amazon-athena #aws-glue
#amazon-веб-сервисы #amazon-s3 #amazon-athena #aws-glue
Вопрос:
Я использую приведенный здесь код для запроса данных с помощью Athenahttps://gist.github.com/schledererj/b2e2a800998d61af2bbdd1cd50e08b76
Для этого требуется приведенная ниже политика для работы —
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BroadAccess",
"Action": [
"glue:GetTable",
"glue:GetPartitions"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Почему для работы с ресурсами Glue требуется разрешение?
Ответ №1:
Athena использует каталог Glue для хранения всей информации о базах данных и таблицах. Athena сама по себе является всего лишь механизмом выполнения. Когда вы запускаете запрос в Athena, он начинается с синтаксического анализа SQL, затем запрашивает Glue о таблицах, включенных в запрос, какие столбцы в них есть и где расположены их данные. Он использует эту информацию для проверки запроса (например, существуют ли все столбцы, упомянутые в запросе), а затем использует расположение данных для планирования выполнения запроса.
Вы можете прочитать все о том, как Athena и Glue работают вместе, в документе «Интеграция с AWS Glue«.
Ответ №2:
Я бы не советовал использовать BroadAccess
операции так, как вы хотите. Взгляните на эту страницу «Детализированный доступ к базам данных и таблицам в каталоге данных AWS Glue» и узнайте, какие разрешения необходимы вашему приложению. Затем добавьте "Action": []
свойство array вашей конфигурации.