如何获取CDM NuGet包并创建Manifest文件?ADF+PowerApps数据加载问题
解决CDM NuGet包访问权限与Manifest文件创建问题
我来帮你搞定这个困扰你的问题——既解决NuGet包访问被拒绝的问题,也给你提供不用代码就能创建Manifest文件的替代方案。
一、搞定NuGet包访问被拒绝的问题
你碰到的TF400813错误,本质是当前用户没有权限访问微软那个私有CDM NuGet仓库。这里有两个靠谱的解决方向:
1. 申请私有仓库的访问权限
如果你的团队必须用这个私有源里的特定版本包,直接联系该DevOps仓库的管理员,让他们把你的账号xyz@abc.com添加到仓库权限列表里,只要给读取权限就够了。
2. 改用公共NuGet源拿CDM包
其实微软已经把大部分核心CDM包放到公共NuGet源(nuget.org)了,完全可以换这个源来获取所需的包:
- 打开项目的NuGet包管理器设置,删掉原来那个私有源地址
- 添加公共NuGet源:
https://api.nuget.org/v3/index.json - 搜索并安装这些核心包(按需选对应版本):
Microsoft.CommonDataModel.ObjectModelMicrosoft.CommonDataModel.StorageMicrosoft.CommonDataModel.Tools
二、无需代码,手动创建Manifest文件
要是暂时拿不到NuGet包,完全可以手动写CDM Manifest文件,步骤超简单:
先搞懂Manifest的基本结构
Manifest是个JSON文件,用来描述ADLS里导出的PowerApps数据的结构、实体映射和文件位置。核心部分包括:$schema:用公共的CDM schema地址就行:https://schemas.microsoft.com/common-data-model/2021/model/json/cdmmanifest.cdm.jsonmanifestName:给你的Manifest起个自定义名字entities:数组,每个元素对应一个PowerApps实体,要填entityName(实体名)和entityPath(ADLS里该实体文件的路径)
手动写个示例Manifest
你可以照着这个简化版改,适配自己的导出数据:
{ "$schema": "https://schemas.microsoft.com/common-data-model/2021/model/json/cdmmanifest.cdm.json", "manifestName": "PowerAppsExportManifest", "entities": [ { "entityName": "Account", "entityPath": "/your-adls-container/exported-data/Account/Account.parquet" }, { "entityName": "Contact", "entityPath": "/your-adls-container/exported-data/Contact/Contact.parquet" } ], "annotations": [ { "name": "description", "value": "Manifest for PowerApps data exported to ADLS" } ] }
- 上传Manifest到ADLS
把写好的JSON文件保存成default.manifest.cdm.json,上传到ADLS里你导出数据的根目录,确保ADF管道能访问到这个路径就行。
三、最后验证ADF管道配置
不管你是用代码生成还是手动写的Manifest,都要确认ADF管道里的CDM源配置没问题:
- 正确指定ADLS存储账户和容器
- 准确指向Manifest文件的完整路径
- 确保ADF的服务主体对ADLS容器有读取权限
内容的提问来源于stack exchange,提问作者Chandru lots to do
相关产品推荐
相关产品推荐

