Sincronização de atualizaçõesSchema
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 esquema de sincronização de um determinado trabalho ou modelo. Este método substitui totalmente o esquema atual pelo fornecido no pedido. Para atualizar o esquema de um modelo, faça a chamada no objeto da aplicação. Tem de ser o proprietário da aplicação.
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
Tipo de permissão | Permissões com menos privilégios | Permissões com privilégios superiores |
---|---|---|
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
Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ser proprietário ou membro do grupo ou ser-lhe atribuída uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação.
- 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 do pedido, forneça o objeto synchronizationSchema para substituir o esquema existente por.
Resposta
Se for bem-sucedido, devolve um código de 204 No Content
resposta. Não devolve nada no corpo da resposta.
Exemplos
Exemplo 1: Atualizar esquema
Solicitação
O exemplo a seguir mostra uma solicitação.
Nota: O objeto de pedido apresentado aqui é abreviado para legibilidade. Forneça todas as propriedades numa 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. Assume que o atributo "CustomAttribute" não existe no esquema do diretório de destino. Se existir, o atributo é atualizado.
Nota: O objeto de pedido apresentado aqui é abreviado para legibilidade. Forneça todas as propriedades numa 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 atributos às regras de sincronização
Solicitação
O exemplo a seguir mostra uma solicitação. A 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 adiciona um novo mapeamento para extensionAttribute11 --> fuso horário. Se a sua aplicação tiver o fuso horário como um atributo de destino no esquema, o serviço gera um erro porque um atributo só pode ser mapeado como um destino uma vez. Além disso, o atributo tem de existir no esquema antes de poder ser adicionado aos mapeamentos.
Nota: O objeto de pedido apresentado aqui é abreviado para legibilidade. Forneça todas as propriedades numa 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