Update synchronizationSchema

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Actualice synchronizationSchema para un trabajo o plantilla determinados. Este método reemplaza completamente el esquema actual por el proporcionado en la solicitud. Para actualizar el esquema de una plantilla, realice la llamada en el objeto application. Debe ser el propietario de la aplicación.

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) Synchronization.ReadWrite.All CustomSecAttributeProvisioning.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación Application.ReadWrite.OwnedBy CustomSecAttributeProvisioning.ReadWrite.All, Synchronization.ReadWrite.All

Importante

Para el acceso delegado con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe ser propietario o miembro del grupo o tener asignado un rol compatible de Microsoft Entra o un rol personalizado que conceda los permisos necesarios para esta operación. Esta operación admite los siguientes roles integrados, que proporcionan solo el privilegio mínimo necesario:

  • Administrador de la aplicación
  • Administrador de aplicaciones en la nube
  • Administrador de identidades híbridas: para configurar la sincronización en la nube de Microsoft Entra

Solicitud HTTP

PUT /servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
PUT /applications/{id}/synchronization/templates/{templateId}/schema

Encabezados de solicitud

Nombre Tipo Descripción
Authorization string {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione el objeto synchronizationSchema para reemplazar el esquema existente.

Respuesta

Si se realiza correctamente, devuelve un código de 204 No Content respuesta. No devuelve nada en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Actualizar esquema

Solicitud

En el ejemplo siguiente se muestra la solicitud.

Nota: El objeto de solicitud que se muestra aquí se abrevia para mejorar la legibilidad. Proporcione todas las propiedades en una llamada real.

PUT https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-type: application/json

{
    "directories": [
        {
            "name": "Azure Active Directory",
            "objects": [
                {
                    "name": "User",
                    "attributes": [
                        {
                            "name": "userPrincipalName",
                            "type": "string"
                        }
                    ]
                },
            ]
        },
        {
            "name": "Salesforce",
        }
    ],
    "synchronizationRules":[
        {
            "name": "USER_TO_USER",
            "sourceDirectoryName": "Azure Active Directory",
            "targetDirectoryName": "Salesforce",
            "objectMappings": [
                {
                    "sourceObjectName": "User",
                    "targetObjectName": "User",
                    "attributeMappings": [
                        {
                            "source": {},
                            "targetAttributeName": "userName"
                        }
                    ]
                }
            ]
        }
    ]
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 204 No Content

Ejemplo 2: Agregar el atributo "CustomAttribute" al esquema del sistema de destino

Solicitud

En el ejemplo siguiente se muestra la solicitud. Se supone que el atributo "CustomAttribute" no existe en el esquema del directorio de destino. Si existe, se actualiza el atributo.

Nota: El objeto de solicitud que se muestra aquí se abrevia para mejorar la legibilidad. Proporcione todas las propiedades en una llamada real.

PUT https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-type: application/json

{
   "directories":[
      {
         "id":"09760868-cafb-47ac-9031-0a3262300427",
         "name":"customappsso",
         "objects":[
            {
               "name":"User",
               "attributes":[
                  {
                     "anchor":false,
                     "caseExact":false,
                     "defaultValue":null,
                     "flowNullValues":false,
                     "multivalued":false,
                     "mutability":"ReadWrite",
                     "name":"urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User:CustomAttribute",
                     "required":false,
                     "type":"String",
                     "apiExpressions":[],
                     "metadata":[],
                     "referencedObjects":[]
                  }
               ]
            }
         ]
      }
   ]
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 204 No Content

Ejemplo 3: Agregar una nueva asignación de atributos a las reglas de sincronización

Solicitud

En el ejemplo siguiente se muestra la solicitud. El synchornizationSchema tiene una relación de uno a varios entre targetAttributeName y los atributos de origen . Si el esquema no tiene "zona horaria" como atributo de destino, el servicio agrega una nueva asignación para extensionAttribute11 --> zona horaria. Si su aplicación tiene la zona horaria como atributo de destino en el esquema, el servicio genera un error porque un atributo solo se puede asignar como destino una vez. Además, el atributo debe existir en el esquema para poder agregarlo a las asignaciones.

Nota: El objeto de solicitud que se muestra aquí se abrevia para mejorar la legibilidad. Proporcione todas las propiedades en una llamada real.

PUT https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-type: application/json

{
   "@odata.type":"#microsoft.graph.synchronizationSchema",
   "synchronizationRules":[
      {
         "defaultValue":"",
         "exportMissingReferences":false,
         "flowBehavior":"FlowWhenChanged",
         "flowType":"Always",
         "matchingPriority":0,
         "source":{
            "expression":"[extensionAttribute11]",
            "name":"extensionAttribute11",
            "parameters":[],
            "type":"Attribute"
         },
         "targetAttributeName":"timezone"
      }
   ]
}


Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 204 No Content