Compartilhar via


Criar ou atualizar sharePointMigrationTask

Crie ou atualize um sharePointMigrationTask para migrar um recurso da organização de origem para a organização de destino, utilizando os sharePointMigrationTaskParameters. O recurso pode ser um utilizador, um grupo ou um site.

Nota: Com base no padrão OData, toda a estrutura sharePointMigrationTask tem de ser incluída no corpo do pedido, embora apenas sharePointMigrationTaskParameters sejam utilizados para instanciar a tarefa. Para as propriedades necessárias, como id e status, podem ser fornecidos valores vazios ou predefinidos porque são ignorados durante a criação inicial da tarefa.

Quando um sharePointMigrationTask existente é obtido, pode conter não só as especificidades das organizações e recursos de origem e de destino, mas também a status da migração e erros encontrados durante a operação de migração.

As chamadas à API ocorrem no site de origem e só adicionam itens de lista à Web raiz do meu site, por exemplo, contoso-my.sharepoint.com. Em seguida, aciona uma tarefa de movimentação de vários sites geográficos no back-end para efetuar a fila e orquestrar várias tarefas de fluxo de trabalho de inquilinos, como cópia de segurança, restauro e limpeza, suportadas pela infraestrutura de TJ.

O tipo OData de sharePointResourceMigrationParameters diferencia a migração do utilizador da migração de sites, em vez de utilizar subcaminhos diferentes. Para a migração do OneDrive de um utilizador, especifique sharePointUserMigrationParameters. Se esta tarefa de migração for uma migração de site do SharePoint normal, especifique sharePointSiteMigrationParameters. Se esta tarefa de migração for uma migração de site ligada a grupos, especifique sharePointGroupMigrationParameters.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

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) SharePointCrossTenantMigration.Manage.All Indisponível.
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application SharePointCrossTenantMigration.Manage.All Indisponível.

Solicitação HTTP

POST /solutions/sharePoint/migrations/crossOrganizationMigrationTasks

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

Corpo da solicitação

No corpo do pedido, forneça apenas os valores das propriedades a atualizar. As propriedades existentes que não estão incluídas no corpo do pedido mantêm os valores anteriores ou são recalculadas com base em alterações a outros valores de propriedade.

A tabela a seguir especifica as propriedades que podem ser atualizadas.

Propriedade Tipo Descrição
parameters sharePointMigrationTaskParameters Encapsula os parâmetros necessários para migrar um recurso de origem específico.

Resposta

Se for bem-sucedido, este método devolve um 200 OK código de resposta e um objeto sharePointMigrationTask atualizado no corpo da resposta.

Exemplos

Exemplo 1: Criar uma tarefa de migração de utilizador com o nome principal de utilizador

O exemplo seguinte mostra como criar uma tarefa de migração de utilizador por userPrincipalName.

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json

{
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceUserIdentity": {
      "userPrincipalName": "source-user@contoso.onmicrosoft.com"
    },
    "targetUserIdentity": {
      "userPrincipalName": "target-user@fabrico.onmicrosoft.com"
    }
  }
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
  "status": "notStarted",
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceUserIdentity": {
      "userPrincipalName": "source-user@contoso.onmicrosoft.com"
    },
    "targetUserIdentity": {
      "userPrincipalName": "target-user@fabrico.onmicrosoft.com"
    }
  }
}

Exemplo 2: Criar uma tarefa de migração de utilizador com o ID de objeto de utilizador

O exemplo seguinte mostra como criar uma tarefa de migração de utilizador por userObjectId.

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json

{
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceUserIdentity": {
      "id": "da157a29-f793-4dd6-9c73-41d2c73c2546"
    },
    "targetUserIdentity": {
      "id": "cb53ea98-6151-44cc-9c21-098a3c3e3988"
    }
  }
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
  "status": "notStarted",
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceUserIdentity": {
      "id": "da157a29-f793-4dd6-9c73-41d2c73c2546"
    },
    "targetUserIdentity": {
      "id": "cb53ea98-6151-44cc-9c21-098a3c3e3988"
    }
  }
}

Exemplo 3: criar uma tarefa de migração de utilizador com o ID de objeto de utilizador e o código de localização de dados de destino

O exemplo seguinte mostra como criar uma tarefa de migração de utilizador por userObjectId e com targetDataLocationCode específico.

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json

{
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationId": "78d010af-72cb-412f-8779-18ce9b5f553b",
    "targetDataLocationCode": null,
    "sourceUserIdentity": {
      "id": "da157a29-f793-4dd6-9c73-41d2c73c2546"
    },
    "targetUserIdentity": {
      "id": "cb53ea98-6151-44cc-9c21-098a3c3e3988"
    }
  }
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
  "status": "notStarted",
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationId": "78d010af-72cb-412f-8779-18ce9b5f553b",
    "targetDataLocationCode": "FRA",
    "sourceUserIdentity": {
      "id": "da157a29-f793-4dd6-9c73-41d2c73c2546",
      "userPrincipalName": "source-user@contoso.onmicrosoft.com"
    },
    "targetUserIdentity": {
      "id": "cb53ea98-6151-44cc-9c21-098a3c3e3988",
      "userPrincipalName": "target-user@fabrico.onmicrosoft.com"
    }
  }
}

Exemplo 4: Criar uma tarefa de migração de site

O exemplo seguinte mostra como criar uma tarefa de migração de site normal.

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json

{
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointSiteMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceSiteUrl": "https://contoso.sharepoint.com/sites/IT",
    "targetSiteUrl": "https://fabrico.sharepoint.com/sites/IT"
  }
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
  "status": "notStarted",
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointSiteMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceSiteUrl": "https://contoso.sharepoint.com/sites/IT",
    "targetSiteUrl": "https://fabrico.sharepoint.com/sites/IT"
  }
}

Exemplo 5: Criar uma tarefa de migração de grupo

O exemplo seguinte mostra como criar uma tarefa de migração de site ligada a grupos por mailNickname.

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json

{
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointGroupMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceGroupIdentity": {
      "mailNickname": "source-group"
    },
    "targetGroupIdentity": {
      "mailNickname": "target-group"
    }
  }
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
  "status": "notStarted",
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointGroupMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceGroupIdentity": {
      "mailNickname": "source-group"
    },
    "targetGroupIdentity": {
      "mailNickname": "target-group"
    }
  }
}

Exemplo 6: Criar uma tarefa de migração de utilizador com uma data e hora de início preferenciais

O exemplo seguinte mostra como criar uma tarefa de migração de utilizador com o parâmetro preferredStartDateTime .

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json

{
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceUserIdentity": {
      "userPrincipalName": "source-user@contoso.onmicrosoft.com"
    },
    "targetUserIdentity": {
      "userPrincipalName": "target-user@fabrico.onmicrosoft.com"
    },
    "preferredStartDateTime": "2024-08-31T16:00:00Z"
  }
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
  "status": "notStarted",
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "sourceUserIdentity": {
      "userPrincipalName": "source-user@contoso.onmicrosoft.com"
    },
    "targetUserIdentity": {
      "userPrincipalName": "target-user@fabrico.onmicrosoft.com"
    },
    "preferredStartDateTime": "2024-08-31T16:00:00Z"
  }
}

Exemplo 7: Criar tarefa de migração de utilizadores com validaçãoOnly

O exemplo seguinte mostra como criar uma tarefa de migração de utilizador com "validateOnly": true o parâmetro .

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json

{
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "validateOnly": true,
    "sourceUserIdentity": {
      "userPrincipalName": "source-user@contoso.onmicrosoft.com"
    },
    "targetUserIdentity": {
      "userPrincipalName": "target-user@fabrico.onmicrosoft.com"
    }
  }
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "completed",
  "parameters": {
    "@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
    "targetOrganizationHost": "https://fabrico-my.sharepoint.com",
    "validateOnly": true,
    "sourceUserIdentity": {
      "userPrincipalName": "source-user@contoso.onmicrosoft.com"
    },
    "targetUserIdentity": {
      "userPrincipalName": "target-user@fabrico.onmicrosoft.com"
    }
  }
}