#amazon-web-services #amazon-s3 #snowflake-cloud-data-platform #parquet
Вопрос:
Проблема У меня несколько файлов в одной корзине S3. Когда я пытаюсь загрузить один файл в Snowflake, я получаю ошибку «отказано в доступе». Когда я пробую другой файл (в том же ведре), я могу успешно загрузить его в Snowflake.
Выделенный файл не загружается в Snowflake.
В этом и заключается ошибка
Используя другой файл, но в том же ведре, я могу успешно загрузить его в Snowflake.
Известное отличие: файл, который не работает, был сгенерирован AWS. Файл, который можно загрузить в Snowflake, был сгенерирован AWS, сохранен в моем локальном, а затем повторно загружен в корзину.
Единственная разница в том, что я перенес его на свою локальную машину.
Вопрос: Есть ли известное разрешение на файлы для паркетных файлов? Почему такое поведение исчезает, когда я загружаю и загружаю в одно и то же ведро.
Это не может быть проблемой корзины S3. Это должна быть какая-то кодировка в файле parquet.
Ответ №1:
Вопрос: Есть ли известное разрешение на файлы для паркетных файлов? Почему такое поведение исчезает, когда я загружаю и загружаю в одно и то же ведро.
Это не может быть проблемой корзины S3. Это должна быть какая-то кодировка в файле parquet.
Вы делаете здесь некоторые неверные предположения. Каждый объект S3 может иметь отдельные значения ACL (разрешения). Вам нужно проверить, каковы настройки ACL, выполнив детализацию, чтобы просмотреть сведения о каждом из этих объектов в S3. Я предполагаю, что AWS записывает объекты в S3 с private
помощью ACL, и когда вы повторно загрузили один из них в корзину, вы сохранили его с public
помощью ACL.
Комментарии:
1. Хорошо, это отличная информация. Позвольте мне проверить это. Спасибо!
2. Как для рабочего файла, так и для файла, доступ к которому запрещен, установлены одинаковые флажки ACL.
Ответ №2:
Оказывается, мне нужно было добавить разрешения KMS для пользователя, получающего доступ к файлу.