ADF、ADLS 和 Synapse 都位于私有端点,我们能够从本地提取数据并使用 ADF 复制活动中的批量插入方法加载到 Synapse 中。但是,当使用 Polybase/Copy 方法时,暂存后的复制会失败。它复制到暂存区域,但无法加载到实际数据库中。我可以看到 ADF 具有 ADLS 的 Blob 数据贡献者角色。但仍然因访问相关问题而失败。分享截图供参考
我们正在使用 Synapse 和 ADLS 的专用集成运行时。我不明白它还需要什么访问权限
错误
PolybaseNoADLSGen2Permission
是因为Synapse工作区或数据仓库在ADLS上没有适当的权限。
要解决此问题,将
Storage Blob Data Contributor
角色授予 Azure 存储上的 Azure Synapse Identity (ADLS)
从 Azure 门户导航到您的存储帐户,
转到访问控制 (IAM) >> 选择添加角色分配 >> 将存储 Blob 数据贡献者角色添加到 Azure Synapse 创建的托管标识 在 系统分配的托管标识下,选择 Synapse 工作区,然后选择一个工作区。您还可以使用对象 ID 或工作区名称(作为托管标识名称)来查找此标识。