#azure-data-factory #snowflake-cloud-data-platform #azure-blob-storage #azure-container-service
#azure-data-factory #snowflake-cloud-data-platform #azure-blob-хранилище #azure-container-service
Вопрос:
Я пытаюсь скопировать данные из Snowflake в большой двоичный объект Azure, используя фабрику данных Azure.
Роль, которую я использую, имеет права выбора в таблице, и у меня нет проблем с запросом данных с помощью консоли Snowflake.
Я также могу копировать в целевой большой двоичный объект из других источников (в Azure), используя тот же токен SAS.
Это запрос, который у меня есть, сгенерированный Azure Data Factory (с опущенными спецификациями)
COPY INTO 'azure://****.blob.core.windows.net/snowflake-stage/********-****-****-****-************/SnowflakeExportCopyCommand/'
FROM (select * from MYSCHEMA.MYTABLE)
CREDENTIALS = (AZURE_SAS_TOKEN = '****')
FILE_FORMAT = (type = CSV COMPRESSION = GZIP RECORD_DELIMITER = '
' FIELD_OPTIONALLY_ENCLOSED_BY = '"' ESCAPE = '\' NULL_IF = '')
HEADER = TRUE
SINGLE = FALSE
OVERWRITE = TRUE
MAX_FILE_SIZE = 268435456
И это ошибка, которую я получаю:
Код ошибки=UserErrorOdbcOperationFailed,’Тип=Microsoft.dataTransfer.Common.Общий доступ.Исключение HybridDeliveryException, сообщение = ОШИБКА [42501] Не удалось получить доступ к удаленному файлу: доступ запрещен.
Пожалуйста, проверьте свои учетные данные, источник =Microsoft.dataTransfer.Runtime.GenericOdbcConnectors,»Type=System.Data.Odbc.OdbcException, сообщение = ОШИБКА [42501] Не удалось получить доступ к удаленному файлу: доступ запрещен. Пожалуйста, проверьте свои учетные данные, источник = Snowflake,’
Есть ли еще разрешения Snowflake, которые мне нужны для выполнения такого копирования? Или, возможно, это проблема с разрешениями на запись в контейнер Azure?
Комментарии:
1. Является ли snowflake-stage в вашем URL-адресе именем этапа или именем контейнера?
2. Вы уверены, что используемый вами токен имеет доступ на запись в контейнер?
3. @AbhiReddy это имя контейнера.
4. @MikeWalton да. Похоже, это связано с доступом к контейнеру, а не с проблемой на стороне Snowflake. Я отметил «решение» в ответе.
Ответ №1:
«Решение» для этого указывает на вероятную ошибку в разрешениях для самого большого двоичного объекта.
Переключение разрешений контейнера на общедоступные, а затем обратно на частные снова устраняет проблему.