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 dev1.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.
Enfoque de migración recomendado
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 |
|
|
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.