schemaExtension 资源类型(架构扩展)
命名空间:microsoft.graph
可以通过架构扩展定义架构来扩展强类型的自定义数据并将其添加到资源类型。 自定义数据在扩展资源上作为复杂类型显示。 以下资源类型支持架构扩展:
- user
- group
- administrativeUnit
- application
- 联系人
- 设备
- 事件 (适用于用户和组日历)
- 邮件
- 组织
- 帖子
使用此资源和关联的方法来管理 架构扩展定义。 要管理扩展资源实例上的架构扩展数据,请使用你用于管理资源实例的同一 REST 请求。 请参阅架构扩展示例了解如何将自定义数据添加到组。
有关Microsoft Graph扩展性的详细信息,包括架构扩展的限制, 请参阅使用扩展向资源添加自定义属性。
方法
方法 | 返回类型 | 说明 |
---|---|---|
创建 | schemaExtension | 创建架构扩展定义及其关联的架构扩展属性。 |
List | schemaExtension | 列出可用的 schemaExtension 定义及其属性。 |
Get | schemaExtension | 读取特定的 schemaExtension 定义的属性。 |
Update | schemaExtension | 更新 schemaExtension 定义。 使用此操作可更新说明、状态、目标类型,或向架构扩展定义添加更多属性。 |
删除 | 无 | 删除 schemaExtension 定义。 |
属性
属性 | 类型 | 说明 |
---|---|---|
说明 | String | 架构扩展的说明。 支持 $filter (eq )。 |
id | String | 架构扩展定义的唯一标识符。 你可以使用下面两种方法之一分配值:
$filter (eq )。
注意:建议 ID 以 A-Z 之间的字母开头,因为查询功能可能限制为以整数开头的 ID。 支持 $filter (eq )。 |
所有者 | String | 属于架构扩展的所有者的应用程序的 appId 。 必须在创建和更新操作期间显式指定架构定义的所有者,否则由Microsoft Entra ID进行隐式和自动分配,如下所示:
因此,例如,如果使用 Graph 资源管理器创建新的架构扩展定义, 则必须 提供 owner 属性。 设置后,此属性为只读,且无法更改。 支持 $filter (eq )。 |
properties | extensionSchemaProperty 集合 | 构成架构扩展定义的属性名称和类型的集合。 |
status | String | 架构扩展的生命周期状态。 可能的状态为 InDevelopment 、Available 和 Deprecated 。 创建后将自动设置为 InDevelopment 。 有关可能的状态转换和行为的详细信息,请参阅 架构扩展生命周期。 支持 $filter (eq )。 |
targetTypes | String collection | 架构扩展适用的支持扩展的 Microsoft Graph 类型集。 从 administrativeUnit、 联系人、 设备、 事件、 组、 消息、 组织、 帖子、 todoTask、 todoTaskList或 用户中进行选择。 |
架构扩展生命周期
当应用创建架构扩展定义时,系统会将该应用标记为该架构扩展的所有者。
所有者应用可以在状态属性上使用 PATCH 操作将扩展转换为生命周期中的不同状态。 基于当前状态,所有者应用可以更新或删除扩展。 架构扩展的任何更新始终只能累加且不能间断。
状态 | 生命周期状态行为 |
---|---|
InDevelopment |
|
可用 |
|
不推荐使用 |
|
注意
架构扩展定义 (标记为 Available
由其他租户中的其他开发人员创建的) ,通过列出所有架构扩展) , (所有开发人员可见。 这不同于仅返回租户特定数据的其他 API。 另一方面,基于架构扩展定义创建的扩展数据是特定于租户的,并且只能由被显式授予权限的应用访问。
JSON 表示形式
以下 JSON 表示形式显示了资源类型。
{
"description": "String",
"id": "String (identifier)",
"owner": "String",
"properties": [{"@odata.type": "microsoft.graph.extensionSchemaProperty"}],
"status": "String",
"targetTypes": ["String"]
}