API Microsoft 365 Copier et déplacer (CreateCopyJobs)
Important
L’API Copier et déplacer OneDrive et SharePoint remplace l’API CreateCopyJob. L’API CreateCopyJob est déconseillée.
L’API suivante est basée sur l’utilisation du modèle objet SharePoint côté client (CSOM). Nous recommandons l’utilisation de packs NuGet lorsque vous référencez CSOM dans votre solution.
Vous trouverez la dernière version du pack SharePoint Online CSOM à partir de la bibliothèque NuGet à l’aide de l’ID Microsoft.SharePointOnline.CSOM.
Important
Si vous souhaitez en savoir plus sur les limitations de l’API avant de commencer.
Méthode
CreateCopyJobs
Cette méthode crée une nouvelle copie ou déplace un travail qui vous permet de copier ou déplacer un fichier ou un dossier d’un site dans SharePoint, OneDrive ou Teams vers un autre site.
Syntaxe
public List<SPCopyMigrationInfo> CreateCopyJobs(Uri[] exportObjectUris, Uri destinationUri, SPCopyMigrationOptions options)
Paramètres
| Paramètre | Description |
|---|---|
| exportObjectUris | URL d’un fichier ou de dossiers dans une liste que vous voulez copier ou déplacer |
| destinationUri | URL pour l’emplacement de destination. |
SPCopyMigrationOptions
public bool IsMoveMode { get; set; }
Important
Ce paramètre est par défaut défini sur copier. Pour une opération de déplacement, affectez au paramètre la valeur true.
public bool IgnoreVersionHistory { get; set; }
Si elle n’est pas spécifiée, l’historique des versions est ignoré et n’est pas déplacé vers la destination.
public bool AllowSchemaMismatch { get; set; }
Cela permet à l’élément de se déplacer même si la définition de schéma de la cible ne correspond pas à celle de la liste source.
public bool AllowSmallerVersionLimitOnDestination { get; set; }
Cela permet un déplacement effectif si le fichier cible possède une version plus ancienne. C’est par défaut interdit pour éviter la perte de données.
public SPMigrationNameConflictBehavior NameConflictBehavior { get; set; }
En cas de conflit de noms au niveau du site cible, la valeur par défaut signale un échec.
public bool IncludeItemPermissions { get; set; }
Réservé à une utilisation interne.
public SPMoveAndShareFileInfo MoveAndShareFileInfo { get; set; }
Réservé à une utilisation interne.
public bool BypassSharedLock { get; set; }
Ceci indique si un fichier avec un verrou de partage peut encore être déplacé dans un travail de déplacement. Si vous voulez déplacer un fichier verrouillé, vous devez le définir.
public string[] ClientEtags { get; set; }
Si la valeur est définie et que l’eTag source ne correspond pas à l’eTag spécifié, la copie et le déplacement n’auront pas lieu. S’il reste NULL, aucune vérification n’aura lieu.
public bool MoveButKeepSource { get; set; }
Une fois l’option définie, l’opération de déplacement est similaire à celle de la copie. Le fichier est déplacé vers la destination, mais le contenu source n’est pas supprimé. Si cette option est activée, une copie de l’historique des versions est effectuée et les métadonnées d’origine sont conservées. Aucune suppression d’éléments source ne se produit à la fin.
Notes
Il ne s’agit pas de la copie normale, qui copie uniquement la dernière version majeure et ne met pas à jour toutes les métadonnées.
public bool ExcludeChildren { get; set; }
Pour cette opération, seul le dossier au niveau racine de l’URL est copié. Les sous-dossiers ou fichiers du dossier ne sont pas déplacés ou copiés.
Sortie
| Paramètre de sortie | Description |
|---|---|
| JobID/GUID | Renvoyer un ID de travail unique associé à cette lecture asynchrone |
| SourceListItemUniqueIds | Renvoyer la source |
| JobQueueUri | URL permettant d’accéder à la file d’attente Azure utilisée pour renvoyer une notification du processus de copie et de déplacement |
| EncryptionKey | Clé de chiffrement AES256CBC utilisée pour déchiffrer les messages de file d’attente de manifeste/travail |
public Uri JobQueueUri { get; set; }
Les fonctionnalités de création de rapports sont identiques à createMigrationJob. La journalisation suit l’état de createCopyJobs. Par défaut, les paramètres et les autorisations de file d’attente d’objet BLOB sont définis sur «accès complet». Elle indique le statut du travail comme suit : début du travail, fin du travail et informations sur l’erreur du travail.
Limites
Actuellement, les limitations sont les suivantes :
| Quoi | Restriction |
|---|---|
| Taille des fichiers | La taille d’un fichier doit être inférieure à 2 Go. |
| Nombre d’éléments | 30 000 éléments au maximum dans un travail. |
| Taille totale du travail | La taille du travail ne doit pas dépasser 100 Go. |