azure - 可以向 Azure Data Lake(第 1 代)发送多少请求是否有限制?
问题描述
我在 Azure 数据工厂中有一个管道,可以将数据从 Google BigQuery(GBQ) 移动到 Azure Data Lake(第 1 代),然后在 Azure Databricks 中进行一些清理。
第一个复制活动将数据从 GBQ 复制到 Data Lake,然后数据通过 Databricks,最后一个活动将数据复制到 Blob 容器。
在 4 个初始复制活动中,一个随机失败并出现以下错误
失败发生在“Sink”端。ErrorCode=UserErrorAdlsFileWriteFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=写入'AzureDataLakeStore'失败。路径:/.../.../PageTracking_06072021.csv。消息:远程服务器返回错误:(403) Forbidden.. Response details: {"RemoteException":{"exception":"AccessControlException","message":" [......] Access Denied : /. ./../PageTracking_06072021.csv[.....]","javaClassName":"org.apache.hadoop.security.AccessControlException"}},Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net .WebException,Message=远程服务器返回错误:(403) Forbidden.,Source=System,'
当我再次运行管道时,失败的管道成功,其他管道失败并出现同样的错误。
到目前为止我所尝试的。
尝试删除文件并重新运行,但第一次一切都成功并且循环重复。尝试改变活动的顺序(就像你在图片中看到的那样)。我仍然随机收到相同的错误。
访问不是问题,因为所有活动都使用相同的 IR 和配置。
更新:
我已经为管道设置了一个触发器(每天一次)并且管道运行良好。仅当我尝试手动运行管道时才会出现问题。
解决方案
检查链接服务中提供的凭据是否具有写入要写入文件的 Azure Data Lake Storage 文件夹所需的权限?
必须从根文件夹授予访问权限。
在存储资源管理器中,设置服务主体的权限 - 至少授予从接收器文件系统开始的执行权限,以及接收器文件夹的写入权限。还可以尝试在访问控制 (IAM) 中至少授予Storage Blob Data Contributor角色。
推荐阅读
- jquery - ajax POST 用于包含带有 jQuery 和 Django 的数组的数据
- sql - 根据 SQL 中的日期从同一列的总和中减去
- c# - Azure 函数和 ASP.NET 成员资格
- shell - 删除包含存储在变量中的字符串的行在 sed 中不起作用
- vba - 用户表单在多个 Word 文档中填写书签?
- python - 无头 python 脚本需要 x-server 才能运行
- docker - Dockerize 非 Maven JEE 应用程序
- html - 从文件浏览器中选择多个文件时,HTML 多文件输入挂起
- asp.net-mvc - 如何在我的内容中添加新页面
- c - 自动化 C 程序的用户输入