Understand the certification
Microsoft Certified: Power Platform Developer Associate(PL-400)是微软给 Power Platform 开发者的核心认证,和 PL-200(功能顾问,配置导向)形成明确分工:PL-200 配置 Power Platform,PL-400 扩展 Power Platform。考试 40-60 题、100 分钟、$165 USD、1000 分满分 700 分通过,证书有效期 1 年,每年可以在 Microsoft Learn 上做免费的 Renewal Assessment 续期。
考纲覆盖四大领域:Create a technical design(10-15%)、Configure Microsoft Dataverse(15-20%)、Create and configure Power Apps(15-20%)、Extend the user experience and the platform(55-60%)。注意最后一个 Extend 占了一半以上分数 — 这正是 PL-400 区别于 PL-200 的核心:写 C# 插件(Plug-in)、JavaScript 网页资源(Web Resource)、用 TypeScript + React 写 Power Apps Component Framework(PCF)控件、用 OpenAPI 定义 Custom Connector、通过 Dataverse Web API 或 Organization Service 编程访问数据、写 Power Automate 的复杂表达式(WDL)、集成 Azure Functions / Logic Apps。
PL-400 的真实定位是"低代码平台上的全栈工程师" — 你需要既懂 .NET / TypeScript 写代码,又懂 Power Platform 的低代码工具,更要懂两者怎么结合。具体来说:什么时候用 Business Rule(低代码)vs JavaScript Web Resource(前端代码)vs Plug-in(后端代码);什么时候用 Power Automate Cloud Flow(声明式)vs Plug-in(命令式);什么时候在 Canvas App 里塞 PCF 控件 vs 直接用原生控件。这些选型题在考试里至少占 1/3。
和 PL-200 的核心区别要分清楚:PL-200 是顾问,要会配置 + 业务沟通 + 解决方案交付;PL-400 是开发者,要会写代码 + 调试 + 集成。两张证侧重不同,不存在"考了 PL-200 就不用考 PL-400"或者反过来。如果你的角色横跨配置和开发,两张都需要;如果只做扩展开发,PL-400 单考即可。
⚠️ 一个常被忽略的点:PL-400 考试里的 Plug-in 部分必须掌握 Pre-Operation vs Post-Operation 阶段 的区别 — 这是 plug-in pipeline 最容易考错的点,每次考试至少 2-3 道相关题。死记硬背阶段名字是不够的,必须理解每个阶段能不能修改 Target、能不能调用 Web API、什么时候选 Synchronous 什么时候选 Asynchronous。
Exam at a glance
- Exam code
- PL-400
- Provider
- Azure
- Format
- single-choice / multiple-choice
- Language
- English
- Validity
- 3 years
Skills in focus
Learning outcomes
- Pass the PL-400 certification exam with confidence
- Master key concepts across all exam domains
- Identify and strengthen weak areas before the exam
Who this is for
- Power Platform 专业开发者和解决方案定制开发人员
- 具有 JavaScript/TypeScript 和 C# 编程经验的开发者
- 从传统开发转向低代码平台扩展的全栈工程师
- Dynamics 365 开发者希望获取 Power Platform 开发认证
Before you start
- 熟悉 JavaScript/TypeScript 和 C# 编程语言
- 了解 RESTful API 和 OAuth 认证机制
- 有 Power Platform 基础操作经验(PL-900 水平)
- 了解 Visual Studio 和 VS Code 开发工具
Your learning path
7 chapters
Plan your preparation
- Learning hours
- 10h
- With relevant experience
- 4-6 weeks
- Starting from scratch
- 10-14 weeks
- Daily study
- 1-2h
Included in your preparation
- 170 practice questions with detailed explanations
- Mock exams simulating real test conditions
- AI-powered tutoring for personalized study
- Progress tracking and weak area identification
1. 第一阶段:Dataverse 编程模型与数据建模(2-3 周)
PL-400 的 Dataverse 部分比 PL-200 深一层 — 不只是配置表和关系,还要会用代码访问。重点掌握两套 SDK:Organization Service(基于 .NET,IOrganizationService 接口,CRUD 操作用 Create/Retrieve/Update/Delete + RetrieveMultiple,Plug-in 里默认用这套)和 Dataverse Web API(基于 OData v4,前端 JavaScript / 外部系统调用,URL 形如 /api/data/v9.2/accounts(<guid>))。两套必须都会,考试会问"在浏览器扩展里访问 Dataverse 数据应该用哪套" → Web API;"在 Plug-in 里查询关联记录" → Organization Service。同时复习 Dataverse 高级概念:备用键(Alternate Key)用于 Upsert、虚拟表(Virtual Table)连接外部数据源、Elastic Tables(基于 Cosmos DB 的高吞吐表)、Calculated/Rollup/Formula Column 的差异和性能影响。
2. 第二阶段:Plug-in 开发与执行管线(2-3 周)
这是 PL-400 的核心,分数最重。Plug-in 是 C# 类库(继承 IPlugin 接口),注册到 Dataverse 的事件管线(Event Pipeline)上,在特定操作发生时触发。必须吃透执行管线的 4 个阶段:(10) Pre-validation — 在数据库事务之外,可访问的内容最少;(20) Pre-operation — 已在事务内,主操作之前,这是修改 Target Entity 的最佳位置;(40) Post-operation — 事务内主操作之后,这是访问已生成 ID 的位置;(50) Post-operation Async — 事务外异步执行。考试经典题:客户要求"在 Account 创建时自动设置一个默认字段值" → Pre-operation 同步 Plug-in 修改 Target;"在 Account 创建后通知外部系统" → Post-operation 异步。另外必须学 Plug-in Context 的 InputParameters / OutputParameters / PreEntityImages / PostEntityImages、Sandbox 模式的限制(不能访问文件系统、不能调用非 HTTPS 网络)、Plug-in Trace Log 的调试方法、用 Plug-in Registration Tool 注册步骤。
3. 第三阶段:客户端扩展(JavaScript Web Resource + PCF 控件)(2 周)
两套客户端扩展技术,使用场景完全不同。JavaScript Web Resource 用 Xrm.Page API(已废弃)或 Form Context API,写在 Model-driven App 表单的 OnLoad / OnSave / OnChange 事件里,做字段联动、显示隐藏、设置字段值这类轻量级逻辑。PCF(Power Apps Component Framework) 用 TypeScript + React 写自定义 UI 控件,可以替换原生字段控件或在 Canvas App 里作为完整组件,适合做星级评分、富文本编辑器、地图嵌入这类原生控件做不到的 UI。决策树:简单字段交互 → JavaScript Web Resource;需要全新 UI 渲染 → PCF。考试至少 2-3 道题考这个选型。PCF 部分要会基本生命周期:init / updateView / getOutputs / destroy,理解 manifest.xml 配置 dataset 和 property。
4. 第四阶段:Custom Connector / Azure 集成 / 模考冲刺(2-3 周)
Custom Connector 用 OpenAPI 2.0(Swagger)规范定义,让 Power Automate / Power Apps 能调用 Dataverse 和标准连接器之外的第三方 API。必须掌握认证类型选择:OAuth 2.0(用户级别授权,回调 URL 配置在第三方 App 里)vs API Key(简单服务级别认证,放在 Header 或 Query)vs Basic Auth(用户名密码,最低安全性)。考试场景题:调用一个内部 REST API 用服务账号 → API Key;调用 Salesforce/GitHub 用用户身份 → OAuth 2.0。Azure 集成部分学:Power Automate 调用 Azure Function(HTTP Trigger)的同步集成、用 Azure Service Bus 做异步消息(Plug-in 的 Service Endpoint Step)、用 Logic App 做复杂编排。最后一周做 Microsoft Learn 官方 Practice Assessment + JR Academy 模拟题 3-4 套完整计时模考,目标稳定 75%+。错题集中在 Plug-in pipeline 阶段、客户端扩展选型、Custom Connector 认证三类。
Career value
PL-400 的真实市场定位
Power Platform Developer 在澳洲 Seek 上的活跃 JD 大约 600-900,比 PL-200 顾问岗位(1500+)少一半,但单岗位薪资明显更高 — 因为合格的开发者比合格的顾问稀缺得多。Glassdoor 美国市场 Power Platform Developer 中位数大约 $145K USD,资深岗位(Senior / Lead)能到 $180K-$195K。澳洲市场普遍 $115K-$175K AUD,悉尼/墨尔本 MS Partner 大型咨询公司给 Senior 偏高。
适合考 PL-400 的三类人:
-
MS Partner 咨询公司的技术顾问 / Dynamics 365 开发者 — 这是 PL-400 最对口的场景。Avanade、Hitachi、DXC、Insight、Hexaware 这些 Microsoft Solutions Partner 在招 Power Platform 开发者时,PL-400 几乎是 must-have。Microsoft 对 Partner 等级(Solutions Partner designation)的考核里,Certified Developer 数量直接计入分数,所以 Partner 愿意全额报销考试费、学习资源、甚至模拟考。
-
从 .NET / Dynamics CRM 开发转型的工程师 — 如果你已经写过 C# Plug-in 或者做过 Dynamics 365 二次开发,PL-400 大部分内容你都熟悉,相当于把已有经验"官方化"。Dataverse 的前身就是 CDS / XRM,老 Dynamics 开发者基本是降维打击。
-
想从功能顾问升级为全栈 Power Platform 工程师的人 — 如果你已经有 PL-200,下一步要往 Architect 方向走,PL-400 是必经之路。Power Platform Solution Architect(PL-600)的技术深度题大量来自 PL-400 的内容。
不建议考 PL-400 的情况:
- 你公司不用 Microsoft 生态 — 最大的浪费。Power Platform 的扩展能力是绑死在 Dataverse + Azure 上的,离开微软栈这张证零价值。
- 你是纯前端或纯后端工程师,没碰过低代码 — PL-400 的考点很碎,C# / TypeScript / Power Fx / OpenAPI / OData 都要懂一点但都不深。如果你日常工作完全是 React + Node.js,备考成本远大于收益。
- 你只用过 Canvas App 搭过小工具 — 这个程度应该考 PL-100(App Maker)或 PL-900(Fundamentals),PL-400 对你太深。
- 你目标是做架构而不是开发 — 直接跳 PL-600(Power Platform Solution Architect Expert),PL-400 只是中间站。
和 AZ-204 的关系:经常有人问"我是 Azure 开发者,要不要考 PL-400"。答案是:如果你做 Azure Function + Logic App + Service Bus 的集成项目经常对接 Power Platform,值得考;如果你纯做 Azure 应用开发不碰 Dataverse,没必要。两张证有 10-15% 的内容重叠(主要在 Custom Connector、Azure 集成、身份认证),但定位完全不同。
续期机制:和所有 Microsoft Associate 级别认证一样,PL-400 有效期 1 年,到期前 6 个月 Microsoft 邮件提醒去 Microsoft Learn 做 30 分钟的免费 Renewal Assessment,开卷在线,覆盖过去一年产品更新(最近一年新增的 Copilot Studio 集成、Dataverse Plugin 的 .NET 8 支持都进了续期题库)。
- 美国
- USD 110,000 – 195,000
- 澳洲
- AUD 115,000 – 175,000
- 英国
- GBP 55,000 – 90,000
- 新加坡
- SGD 80,000 – 140,000
Preparation tips
- **40-60 题 / 100 分钟**:平均 1.5-2 分钟一题,时间相对紧。Extend 部分占 55-60% 分数,至少要分一半以上时间给这部分。Plug-in 代码题、PCF manifest 题、Custom Connector 配置题都需要仔细读,不能扫一眼就选。
- **案例研究题不能返回**:和其他 Microsoft 考试一样,PL-400 的 case study 一旦进入下一组就不能回头修改。先把整组题全部读完、标记 Review,确认完所有答案再 Next。
- **Plug-in 阶段速记口诀**:要改 Target → Pre-operation;要拿系统生成的 ID → Post-operation;要立即给用户反馈 → Synchronous;要调用外部 HTTP 或不影响主操作性能 → Asynchronous(Post-operation Async 阶段 50)。
- **客户端扩展选型口诀**:操作现有字段 / 隐藏显示控件 → JavaScript Web Resource;创建全新 UI 控件 / 替换原生渲染 → PCF;不写代码能搞定的简单逻辑 → Business Rule(永远先考虑 Business Rule,再考虑 JavaScript)。
- **Custom Connector 认证速记**:用户身份调用 + 审计 → OAuth 2.0;服务级别 + 内部 API → API Key;legacy / 简单测试 → Basic Auth。看到题目里"each user accesses with their own credentials"几乎肯定是 OAuth 2.0。
- **Web API vs Organization Service 速记**:客户端 / 浏览器 / 跨语言 → Web API(OData REST);服务端 / .NET / Plug-in → Organization Service(IOrganizationService)。
- **Power Fx 不能用在 Model-driven App 表单事件**,只能用在 Canvas App 控件属性和 Power Automate 表达式里。Model-driven App 的客户端逻辑只能用 JavaScript Web Resource 或 Business Rule。
- **Microsoft Learn 官方资源全免费**:PL-400 Learning Path 在 Microsoft Learn 上完全免费,配合官方 Practice Assessment 能覆盖 65-70% 的考点。剩下的 PCF 实操和 Plug-in 调试技巧建议自己用 trial 环境 + Plug-in Registration Tool 实际写 5-10 个 Plug-in 才能掌握。
- **免费年度续期**:考过之后每年在 Microsoft Learn 做 30 分钟开卷的 Renewal Assessment 即可续期,免费、在线、覆盖过去一年的产品更新(最近一年加入了 Copilot Studio Plugin 集成和 Dataverse 的 .NET 8 支持)。
Common mistakes
- **Plug-in Pre-Operation vs Post-Operation 阶段选错** — 这是 PL-400 最高频考点。Pre-Operation 在事务内主操作之前执行,**可以修改 Target Entity 的字段**(context.InputParameters["Target"]),用于设置默认值、验证业务规则、阻止操作(throw InvalidPluginExecutionException)。Post-Operation 在主操作之后执行,**不能修改已提交的 Target**(修改了也不会生效),但可以**读取系统生成的 ID**(如 Create 后的 GUID)、调用外部系统、创建关联记录。考试经典错题:在 Post-Operation 里改 Target 字段然后期望它被保存 — 错的,应该在 Pre-Operation 里改。
- **JavaScript Web Resource vs PCF 控件混淆** — 两者都是客户端扩展但完全不同。**JavaScript Web Resource** 是表单事件处理脚本(OnLoad / OnChange / OnSave),用 formContext API 操作现有控件 — 隐藏/显示字段、设置值、添加 OnChange 监听、控制 Section/Tab 可见性。它**不能创建新的 UI 控件**。**PCF(Power Apps Component Framework)** 是用 TypeScript + React 写的**完整自定义 UI 控件**,可以替换原生字段控件或作为独立组件嵌入 Canvas App,适合做评分、地图、图表这类原生做不到的 UI。考试场景题:客户要"在 Account 表单里加一个 5 星评分组件" → PCF;"在 Contact 表单里根据国家自动隐藏州字段" → JavaScript Web Resource。
- **Custom Connector 的 OAuth 2.0 vs API Key 认证选错** — Custom Connector 在创建时必须选认证类型,不同场景对应不同选择。**OAuth 2.0**:用户级别授权(每个 Power Automate 用户用自己的身份调用),适合 Salesforce / GitHub / Google API 等需要"代表用户"调用的场景,必须在第三方 App 里注册回调 URL(通常是 https://global.consent.azure-apim.net/redirect)。**API Key**:服务级别认证(所有用户共享一个 Key),适合调用内部 REST API 或没有 OAuth 支持的简单服务,Key 可以放在 Header 或 Query 参数里。**Basic Auth**:用户名密码,最低安全性,只在 legacy 场景用。考试错题模式:客户要求"每个用户用自己的身份访问外部系统并审计" → 错选 API Key,正确是 OAuth 2.0。
- **Dataverse Web API vs Organization Service 用错** — 两套 SDK 访问同一份数据但使用场景不同。**Organization Service**(IOrganizationService 接口,强类型 .NET SDK):Plug-in、自定义工作流活动、控制台应用、Azure Function 这些**服务端代码**默认用这套,性能好、类型安全、支持 Early Bound 实体类。**Dataverse Web API**(OData v4 REST 端点):浏览器扩展、SPA 前端、移动端、非 .NET 语言的服务端这些**客户端 / 跨语言场景**用这套。考试场景:在 Model-driven App 的 JavaScript Web Resource 里查询数据 → Web API(用 Xrm.WebApi.retrieveMultipleRecords);在 C# Plug-in 里查关联记录 → Organization Service(用 service.RetrieveMultiple + QueryExpression)。
- **Power Fx vs JavaScript 用错地方** — 这两个是不同语言,用在不同地方。**Power Fx** 是 Canvas App 和 Power Automate 表达式里用的低代码公式语言,类似 Excel 公式,所有 Canvas App 控件属性、Power Automate 表达式都是 Power Fx。**JavaScript** 是 Model-driven App 的 Web Resource 里用的客户端脚本语言,用 formContext API 操作表单。考试错题:在 Canvas App 的 Button OnSelect 里写 JavaScript — 错的,应该写 Power Fx;在 Model-driven App 表单加一段 Power Fx 验证 — 错的,Model-driven 表单只支持 JavaScript Web Resource 或 Business Rule。两个语言不通用,不能跨场景调用。
- **Plug-in Sandbox 模式限制不清楚** — Plug-in 默认运行在 Sandbox(隔离环境),有严格限制:**不能访问本地文件系统**、**不能访问注册表**、**只能调用 HTTPS(不能 HTTP)**、**HTTPS 调用必须 2 分钟内返回**、**整个 Plug-in 执行不超过 2 分钟**、**不能加载未签名的程序集**。Non-Sandbox 模式只在 On-Premises 部署且管理员明确授权的情况下可用,云端 Dataverse **永远只能用 Sandbox**。考试错题:Plug-in 里调用一个 HTTP(非 HTTPS)的内部 API — 错的,Sandbox 不允许。
- **Solution 迁移和 Plug-in Assembly 注册的关系搞混** — Plug-in 是 .NET 程序集,编译后必须用 Plug-in Registration Tool 注册到 Dataverse,并把 Assembly + Step 添加到一个 Solution 里,才能通过 Solution 导出到其他环境。常见错误:在 Dev 环境注册了 Plug-in 但忘了加进 Solution,导出 Solution 到 Test 环境后发现 Plug-in 没跟过去。正确流程:注册 Assembly → 添加 Step → 把 Assembly 和所有 Step 添加到 Solution → 导出 Managed Solution → 在 Test 环境导入。
Before you register
What is the exam format and passing score for PL-400?
The PL-400 exam contains 40-60 questions (multiple choice, multiple select, drag-and-drop, and case studies), with a 120-minute time limit. The passing score is 700 out of 1000, and the exam fee is $165 USD. It is available at Pearson VUE test centers or via online proctoring. The exam focuses on the developer perspective, with questions typically presenting business requirement scenarios and asking you to choose the most appropriate Power Platform development approach (e.g., Canvas App vs Model-driven App, when to use custom connectors vs standard connectors).
What are the key domains covered in PL-400?
The PL-400 exam covers four main domains: Create a Technical Design (10-15%, including solution architecture, Dataverse data model design, security model planning), Configure Microsoft Dataverse (20-25%, including table and column design, relationship configuration, business rules, option sets, security roles), Create and Configure Power Apps (25-30%, including Canvas App and Model-driven App development, PCF controls, Application Lifecycle Management ALM), and Extend the Power Platform (25-30%, including custom connectors, Power Automate cloud and desktop flows, Plugin development, Azure Functions integration). Extending Power Platform and Power Apps development are the highest-weighted topics.
How are Canvas Apps and Model-driven Apps tested in PL-400?
PL-400 requires deep understanding of both app types and their use cases. Canvas App topics include: Power Fx formula language (Gallery, Form, Navigate, Patch, Collect, UpdateContext, Set), delegation limitations and workarounds, responsive layout design, Component Library reuse, and offline capability implementation. Model-driven App topics include: form and view customization, Business Process Flow configuration, Command Bar customization, Sitemap design, and JavaScript Web Resource embedding. Key decision questions: choose Model-driven for large datasets with complex views/reports, Canvas for highly customized UI, and embedded Canvas Apps in Model-driven Apps for hybrid scenarios.
What prerequisites are needed and how long does it take to prepare for PL-400?
You should have basic programming skills (JavaScript/TypeScript, C#), understand RESTful API and OAuth authentication concepts, and be familiar with Power Platform basics (PL-900 level or hands-on experience). Dynamics 365 or Dataverse development experience is a significant advantage. Preparation time: candidates with Power Platform development experience typically need 4-6 weeks at 1-2 hours daily, while those without Power Platform experience but with programming background should plan 8-10 weeks. Focus on: custom connector creation, PCF (PowerApps Component Framework) control development, Plugin development, and ALM (Application Lifecycle Management) processes. Apply for the Power Apps Developer Plan (free) for hands-on practice.
What are the key Power Automate and custom connector topics in PL-400?
Power Automate topics include: Cloud Flow trigger and action configuration, conditional branching and loops, expression language (similar to Workflow Definition Language), error handling (Try-Catch pattern, Configure Run After), Child Flow invocation, HTTP connector for external API calls, and Desktop Flow/RPA fundamentals. Custom connector topics include: OpenAPI definition file import and editing, trigger types (Webhook vs Polling), OAuth 2.0 authentication configuration (Client Credentials, Authorization Code), Policy Templates for request/response transformation, and pagination support. You also need to understand when to use custom connectors vs Azure Functions vs Plugins to extend platform functionality.
How does PL-400 certification help career development?
PL-400 targets Power Platform Developers and is the most professional developer certification in the low-code/no-code development space. As enterprise digital transformation accelerates, Power Platform has become one of the fastest-growing product lines in the Microsoft ecosystem, with Citizen Developer and Pro Developer collaborative development becoming increasingly common. Typical roles include Power Platform Developer, Dynamics 365 Developer, Power Apps Solution Architect, and RPA Developer. The advanced path is PL-600 (Power Platform Solution Architect Expert). In the Australian market, Power Platform developers typically earn $110K-$150K AUD annually, with senior consultants reaching $160K+. The unique value of this certification lies in combining low-code and pro-code skills, making you competitive in both domains.
Learner experiences
Loading reviews…
之前做了 3 年 Dynamics 365 二次开发,写过几十个 C# Plug-in,以为 PL-400 是送分。结果第一次模考栽在 PCF 控件部分 — 公司项目几乎不用 PCF,全靠原生控件加 JavaScript Web Resource 顶住。后来强迫自己用 pac pcf init 命令搭了 3 个 PCF 项目,从星级评分写到富文本编辑器,第二次模考才稳定 80%+。给老 Dynamics 开发者的建议:别跳过 PCF,这是新内容,考的最深。
D. Nguyen
悉尼 MS Partner Senior Power Platform Developer · 856/1000 · 5 weeks
我是从纯 ASP.NET Core 转过来的,C# 部分零压力,但是花了快 2 个月才理解 Plug-in 的 Pre/Post Operation 区别和 Sandbox 模式的限制。最坑的是 Plug-in Trace Log — 本地没有调试器,所有错误只能靠 Trace.WriteLine + 在 Plug-in Trace Log 表里看输出,习惯 Visual Studio 调试的人会很不适应。还有 Dataverse Web API 的 OData 语法($filter / $select / $expand)和我熟悉的 EF Core LINQ 完全不同,得专门学。
K. Sato
东京 .NET 后端工程师转 Power Platform · 742/1000 · 11 weeks
已经有 PL-200,所以 Dataverse 和 Power Apps 部分基本是复习。最难的是 Custom Connector 的 OpenAPI 定义 — 之前公司项目都是用现成的标准连接器,从来没自己写过 swagger.json。考试里有 2 道题直接给你一段 OpenAPI 定义让你判断哪里配错了,不熟悉 Swagger 完全看不懂。建议有 PL-200 的同学重点刷 Extend 部分(占 55-60% 分数),Configure 部分快速过一遍即可。
P. Sharma
伦敦咨询公司 Power Platform Consultant · 789/1000 · 7 weeks
Start with the first chapter.
2 free chapters · Full preparation from $29