schemaExtension 资源类型(架构扩展)

命名空间:microsoft.graph

重要

Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

使用架构扩展可以定义一个架构,以扩展强类型自定义数据并将其添加到资源类型。 自定义数据在扩展资源上显示为复杂类型。 以下资源类型支持架构扩展:

使用此资源和关联的方法来管理 架构扩展定义。 若要管理扩展资源实例上的架构扩展数据,请使用用于管理资源实例的同一 REST 请求。 请参阅架构扩展示例了解如何将自定义数据添加到组。

有关 Microsoft Graph 扩展性的详细信息,包括架构扩展的限制, 请参阅使用扩展将自定义属性添加到资源

方法

方法 返回类型 说明
Create schemaExtension 创建架构扩展定义。
List schemaExtension 列出可用的 schemaExtension 定义及其属性。
Get schemaExtension 读取特定的 schemaExtension 定义的属性。
Update schemaExtension 更新 schemaExtension 定义。
Delete 删除 schemaExtension 定义。

属性

属性 类型 说明
说明 String 架构扩展的说明。支持$filtereq)。
id String 架构扩展定义的唯一标识符。
你可以使用下面两种方法之一分配值:
  • 连接已验证域名与架构扩展名称,形成此格式的唯一字符串:{domainName}_{schemaName}。例如 contoso_mySchema
  • 提供一个架构名称,并让 Microsoft Graph 使用此格式的架构名称完成 id 分配:ext{8-random-alphanumeric-chars}_{schema-name}。例如 extkvbmkofy_mySchema
此属性创建后无法更改。支持 $filtereq)。

注意: 建议 ID 以 A-Z 之间的字母开头,因为查询功能可能限制为以整数开头的 ID。
所有者 String 属于架构扩展的所有者的应用程序的 appId。 可在创建时提供此属性以设置所有者。 如果未提供,则会将调用应用程序的 appId 设置为所有者。 在任一情况下,已登录用户均必须是应用程序的所有者。 因此,如果使用 Graph 浏览器新建一个架构扩展定义,则 必须 提供 owner 属性(以此为例)。 设置后,此属性为只读,且无法更改。 支持 $filtereq)。
properties extensionSchemaProperty 集合 构成架构扩展定义的属性名称和类型的集合。
status String 架构扩展的生命周期状态。 可能的状态为 InDevelopmentAvailableDeprecated。 创建后将自动设置为 InDevelopment。 有关可能的状态转换和行为的详细信息,请参阅 架构扩展生命周期。 支持 $filtereq)。
targetTypes String collection 架构扩展适用的支持扩展的 Microsoft Graph 类型集。 从 administrativeUnitcontactdeviceeventgroupmessageorganizationposttodoTasktodoTaskList用户 中进行选择。

架构扩展生命周期

当应用创建架构扩展定义时,系统会将该应用标记为该架构扩展的所有者。

所有者应用可以在 状态 属性上使用 PATCH 操作将扩展转换为生命周期中的不同状态。基于当前状态,所有者应用可以更新或删除扩展。架构扩展的任何更新始终只能累加且不能间断。

状态 生命周期状态行为
InDevelopment
  • 创建后的初始状态。所有者应用仍然在开发架构扩展。
  • 在此状态下,如果应用对该资源) 具有权限,则在同一目录中注册所有者应用的任何应用都可以使用此架构定义扩展资源实例 (。
  • 对于多租户的所有者应用,如果应用对该资源) 具有权限,或者读取扩展数据,则只有主目录位于不同目录中的所有者应用实例才能扩展具有此架构定义的资源实例 (。
  • 只有所有者应用,才能使用增量更改更新扩展定义。
  • 只有所有者应用可以删除扩展定义。
  • 所有者应用可以将扩展状态从 开发中 更改为 可用
可用
  • 架构扩展可供任意租户中的所有应用使用。
  • 在所有者应用将扩展设置为 “可用” 后,如果应用对该资源) 具有权限,则任何应用都可以将自定义数据添加到扩展 (中指定的资源类型的实例。 新建实例或更新现有实例时,应用可以分配自定义数据。
  • 只有所有者应用,才能使用增量更改更新扩展定义。 任何应用都无法删除这种状态下的扩展定义。
  • 所有者应用可以将架构扩展状态从“可用”更改为“已弃用”。
不推荐使用
  • 架构扩展定义不再可供读取或修改。
  • 任何应用都无法查看、更新、添加新属性或删除扩展。
  • 但是应用仍可读取、更新或删除现有扩展 属性值

注意: 其他开发人员从其他租户创建的架构扩展定义(标记为 Available)对所有开发人员可见(通过列出所有架构扩展)。 这不同于仅返回租户特定数据的其他 API。 另一方面,基于架构扩展定义创建的扩展数据是特定于租户的,并且只能由被显式授予权限的应用访问。

JSON 表示形式

下面是资源的 JSON 表示形式。

{
  "description": "String",
  "id": "String (identifier)",
  "owner": "String",
  "properties": [{"@odata.type": "microsoft.graph.extensionSchemaProperty"}],
  "status": "String",
  "targetTypes": ["String"]
}

另请参阅