Diferencias de características entre Azure AD Graph y Microsoft Graph

Este artículo forma parte del paso 1: revisar las diferencias de API del proceso para migrar aplicaciones.

Muchas características de Microsoft Graph funcionan de forma similar a sus homólogos de Azure Active Directory (Azure AD) Graph. Sin embargo, algunas han cambiado o mejorado. En este artículo, aprenderá a adaptar las aplicaciones para aprovechar estas diferencias.

En este artículo se explora cómo controla Microsoft Graph:

  • Extensiones de esquema de directorio
  • Consultas diferenciales
  • Procesamiento por lotes

Extensiones de directorio

Si la aplicación usa extensiones de directorio de Azure AD Graph, puede seguir usando las mismas API básicas (con direcciones URL de solicitud de Microsoft Graph) para:

  • Administre las definiciones de extensión de directorio mediante el recurso extensionProperty y los métodos asociados.
  • Obtenga las propiedades de extensión disponibles mediante la acción getAvailableExtensionProperties .
  • Leer valores de extensión mediante GET y para los usuarios, solo con una $select consulta a través del punto de v1.0 conexión
  • Búsqueda en valores de extensión mediante GET y$filter
  • Actualización de valores de extensión mediante PATCH
  • Quitar valores de extensión mediante PATCH (establecido en null)

Microsoft Graph proporciona una experiencia mejorada para desarrolladores de extensiones de esquema, que hoy en día no es compatible con las extensiones de directorio de Azure AD Graph. Para más información, consulte Elegir un tipo de extensión para la aplicación.

Si la aplicación de Azure AD Graph usa extensiones de directorio, adopte un enfoque incremental para migrar la aplicación a Microsoft Graph.

En primer lugar, cambie la aplicación a mediante llamadas de Microsoft Graph API, pero deje que la aplicación siga usando extensiones de directorio de Azure AD Graph.

A continuación, puede cambiar al uso de extensiones de esquema de Microsoft Graph. En algunos casos, el cambio no es adecuado. No cambie si:

  • La aplicación usa extensiones de directorio creadas a través de AD Connect
  • La aplicación establece valores de extensión de directorio que otras aplicaciones usan en notificaciones de token
  • La aplicación establece los valores de extensión de directorio que se usan en las reglas de pertenencia dinámica

NOTA: Todavía no se admite el uso de propiedades de extensión de esquema de Microsoft Graph como notificaciones en un token mediante notificaciones opcionales o en una regla de pertenencia dinámica.

Para cambiar al modelo de extensión de esquema de Microsoft Graph más reciente, debe:

  • Defina nuevas definiciones de extensión de esquema mediante Microsoft Graph.
  • Actualice la aplicación para admitir las nuevas definiciones de extensión de esquema.
  • Migre los datos de las propiedades de extensión de directorio de Azure AD Graph a las propiedades de la extensión de esquema de Microsoft Graph. No se admite la migración automática de datos.

Consultas diferenciales

Azure AD Graph y Microsoft Graph le permiten realizar un seguimiento de los cambios mediante consultas. El enfoque de alto nivel es similar entre las dos API, pero la sintaxis es diferente.

Azure AD Graph llama a estas consultas diferenciales mientras Microsoft Graph las llama consultas delta.

En la tabla siguiente se resaltan las similitudes y diferencias clave:

Solicitud delta Azure AD Graph Microsoft Graph
Solicitud de datos inicial Usa un parámetro de consulta:
GET /groups?deltaLink=
Usa una función:
GET /groups/delta
Obtención de nuevos cambios GET /groups?deltaLink={deltaToken} GET /groups/delta?$deltaToken={deltaToken}
Sincronización desde ahora Usa un encabezado HTTP personalizado:
ocp-aad-dq-include-only-delta-token: true
Usa un parámetro de consulta:
GET /groups/delta?$deltaToken=latest
Seguimiento de los cambios de los objetos de directorio Obtiene los cambios de varios recursos (usuario y grupo) en la misma operación:
GET /directoryObject?$filter=isof('User') or isof('Group')&deltaLink=
Usa consultas independientes con Microsoft Graph, una para cada recurso.
Obtención de cambios de recursos y relaciones Todas las solicitudes devuelven cambios de recursos y relaciones, si el recurso tiene relaciones. GET /groups/delta?$expand=members
Respuesta que indica elementos nuevos y modificados
  • Representa las instancias recién creadas mediante su representación estándar.

  • Las instancias actualizadas se representan mediante su identificador con al menos las propiedades que se han actualizado. Se pueden incluir otras propiedades.

  • Las relaciones se representan como el directoryLinkChange tipo .

  • Representa las instancias recién creadas mediante su representación estándar.

  • Las instancias actualizadas se representan mediante su identificador con al menos las propiedades que se han actualizado. Se pueden incluir otras propiedades.

  • Las relaciones se representan como anotaciones en la representación de recursos estándar. Estas anotaciones usan el formato propertyName@delta, por ejemplo members@delta , para los cambios de pertenencia de un grupo.

Respuesta que indica los elementos eliminados Indica un elemento eliminado con una propiedad adicional de aad.isDeleted establecida en true. Indica un elemento eliminado con la @removed anotación. También puede contener un código de motivo, que indica si el elemento se elimina, pero se puede restaurar o se elimina permanentemente.

Si la aplicación ya almacena datos de estado, considere la posibilidad de usar la funcionalidad "sincronizar desde ahora" para ayudar a administrar la transición a consultas delta.

Procesamiento por lotes

Azure AD Graph usaba un sistema denominado mensajes MIME de varias partes para administrar el procesamiento por lotes. Microsoft Graph usa el procesamiento por lotes JSON para permitir hasta 20 solicitudes en una sola operación por lotes. El mecanismo de procesamiento por lotes JSON es más sencillo de usar, especialmente junto con las bibliotecas de análisis de JSON. También permite la secuenciación de operaciones por lotes. Sin embargo, no es compatible con el enfoque de procesamiento por lotes de Azure AD Graph.

Paso siguiente