Compartir a través de


Actualizar synchronizationSchema

Espacio de nombres: microsoft.graph

Actualice el esquema de sincronización de 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 de aplicación. 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 un permiso o permisos con privilegios superiores 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

En escenarios delegados con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe ser propietario o miembro del grupo o tener asignado un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación.

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

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 la autenticación y la autorización.

Cuerpo de la solicitud

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

Respuesta

Si se ejecuta 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/v1.0/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 de directorio de destino. Si existe, el atributo se actualiza.

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/v1.0/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: Adición de una nueva asignación de atributos a las reglas de sincronización

Solicitud

En el ejemplo siguiente se muestra la solicitud. SynchronizationSchema tiene una relación 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--> timezone. Si la aplicación tiene la zona horaria como atributo de destino en el esquema, el servicio produce 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/v1.0/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