我正试图使用Azure数据工厂将数据从Snowflake复制到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]访问远程文件失败:访问被拒绝。请检查您的凭证,来源=雪花,'
是否需要更多Snowflake权限才能进行这种复制?或者这可能是Azure容器的写入权限问题?
;解决方案";因为这表明blob本身的权限可能存在错误。
将容器权限切换为公用权限,然后再次切换回专用权限可修复此问题。