azure-data-factory - 无法将数据从 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 容器写入权限的问题?
解决方案
对此的“解决方案”表明 blob 本身的权限可能存在错误。
将容器权限切换为公共,然后再次切换回私有可以解决此问题。
推荐阅读
- ssrs-2012 - 在 SSRS 中如何设置动态车身高度/宽度?
- java - 为什么我尝试向我的服务器发送 HTTP 响应后我的参数保持为空
- sql - 在 2 个日期之间每月获取准确的日期值
- haskell - 如何在 Yesod 中获取引用的模型信息?
- java - 如何以编程方式绘制宽度为 MATCH_PARENT 的按钮?
- iis - 如何使用主机名在 Windows EC2 IIS 服务器中部署网站?
- laravel - 错误消息:预期响应代码 220,但得到一个空响应”,异常“Swift_TransportException”,
- python - 概率线性判别分析
- excel - 我应该为jenkins中的硒测试的excel数据添加什么路径
- ios - 命令 /Library/Developer/Toolchains/swift-3.1-RELEASE.xctoolchain/usr/bin/swiftc 失败,退出代码为 1