Atualizar synchronizationSchema

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Atualize o synchronizationSchema para um determinado trabalho ou modelo. Esse método substitui totalmente o esquema atual pelo fornecido na solicitação. Para atualizar o esquema de um modelo, faça a chamada no objeto do aplicativo. Você deve ser o proprietário do aplicativo.

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) Synchronization.ReadWrite.All CustomSecAttributeProvisioning.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application Application.ReadWrite.OwnedBy CustomSecAttributeProvisioning.ReadWrite.All, Synchronization.ReadWrite.All

Importante

Para acesso delegado usando contas corporativas ou de estudante, o usuário conectado deve ser proprietário ou membro do grupo ou ser atribuído a uma função do Microsoft Entra com suporte ou uma função personalizada que conceda as permissões necessárias para esta operação. Esta operação dá suporte às seguintes funções internas, que fornecem apenas o menor privilégio necessário:

  • Administrador de Aplicativos
  • Administrador de Aplicativos de Nuvem
  • Administrador de Identidade Híbrida – para configurar o Microsoft Entra Cloud Sync

Solicitação HTTP

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

Cabeçalhos de solicitação

Nome Tipo Descrição
Autorização string {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.

Corpo da solicitação

No corpo da solicitação, forneça o objeto synchronizationSchema para substituir o esquema existente.

Resposta

Se tiver êxito, retorna um código de 204 No Content resposta. Ele não retorna nada no corpo da resposta.

Exemplos

Exemplo 1: atualizar esquema

Solicitação

O exemplo a seguir mostra uma solicitação.

Observação: O objeto de solicitação mostrado aqui foi encurtado para facilitar a leitura. Forneça todas as propriedades em uma chamada 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"
                        }
                    ]
                }
            ]
        }
    ]
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 204 No Content

Exemplo 2: Adicionar o atributo "CustomAttribute" ao esquema do sistema de destino

Solicitação

O exemplo a seguir mostra uma solicitação. Ele pressupõe que o atributo "CustomAttribute" não exista no esquema do diretório de destino. Se existir, o atributo é atualizado.

Observação: O objeto de solicitação mostrado aqui foi encurtado para facilitar a leitura. Forneça todas as propriedades em uma chamada 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":[]
                  }
               ]
            }
         ]
      }
   ]
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 204 No Content

Exemplo 3: Adicionar um novo mapeamento de atributo às regras de sincronização

Solicitação

O exemplo a seguir mostra uma solicitação. O synchornizationSchema tem uma relação um-para-muitos entre targetAttributeName e atributos de origem . Se o esquema não tiver "fuso horário" como atributo de destino, o serviço adicionará um novo mapeamento para extensionAttribute11 -> fuso horário. Se o aplicativo tiver o fuso horário como um atributo de destino no esquema, o serviço gerará um erro porque um atributo só pode ser mapeado como destino uma vez. Além disso, o atributo deve existir no esquema antes de poder ser adicionado aos mapeamentos.

Observação: O objeto de solicitação mostrado aqui foi encurtado para facilitar a leitura. Forneça todas as propriedades em uma chamada 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"
      }
   ]
}


Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 204 No Content