首页 > 解决方案 > 无法将数据从 Snowflake 复制到 Azure Blob

问题描述

我正在尝试使用 Azure 数据工厂将数据从雪花复制到 Azure Blob。

我使用的角色对表具有选择权限,并且使用 Snowflake 控制台查询数据没有问题。

我还可以使用相同的 SAS 令牌从其他来源(在 Azure 中)复制到目标 blob。

这是我的查询,由 Azure 数据工厂生成(省略了细节)

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

这是我得到的错误:

ErrorCode=UserErrorOdbcOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=ERROR [42501] 无法访问远程文件:访问被拒绝。

请检查您的凭据,Source=Microsoft.DataTransfer.Runtime.GenericOdbcConnectors,''Type=System.Data.Odbc.OdbcException,Message=ERROR [42501] 无法访问远程文件:访问被拒绝。请检查您的凭据,Source=Snowflake,'

为了进行这种复制,我需要更多的 Snowflake 权限吗?或者这可能是 Azure 容器写入权限的问题?

标签: azure-data-factorysnowflake-cloud-data-platformazure-blob-storageazure-container-service

解决方案


对此的“解决方案”表明 blob 本身的权限可能存在错误。

将容器权限切换为公共,然后再次切换回私有可以解决此问题。


推荐阅读