Copy Item

In this article

Overview

Use this Snap to copy items from a OneDrive or Shared Library (document library) location to another location in OneDrive or Shared Library.

Prerequisites

  • A valid application in Azure Portal with appropriate permissions.
  • A valid Microsoft OneDrive license.
  • Write access to both source and target locations (folders).

Support for Ultra Pipelines

Works in Ultra Pipelines

Limitations

Copying files larger than 10 MB using this Snap fails when you specify a new name for saving the file. This is an issue that Microsoft has acknowledged. The work around is to:

  • Copy your large files using the Copy Item Snap to a temporary location in your OneDrive, with the same name.
  • Rename and move it to your target location using the Move Item Snap.
  • When copying large folders/files (10,000 or more) in OneDrive, if an error occurs because of an unexpected asynchronous call return from the API, the Snap displays a warning message in the output: An invalid status was retrieved from the asynchronous call: 'null'. Learn more about the AsyncJobStatus - OneDrive API. Resulting in the specific folder or file associated with the error not being copied, and the Snap continues to copy the remaining records.

Known Issues

  • Snaps in the Microsoft OneDrive Snap Pack have an in-built retry mechanism for failing connections and requests; but, a high volume of requests from a client might reach the throttling threshold. In such scenarios, the Microsoft Graph limits further requests from that client for a period of time and returns an HTTP status code 429 (Too many requests), thereby causing the requests to fail. Hence, we recommend you to keep a check on the number of requests emanating from your client instance.
  • The Snap copies the item to the root folder when you provide invalid Target Relative Path/ID (without root:/). However, the Snap works as expected (throws an exception) when you provide an invalid Target Relative Path/ID that begins with root:/. We recommend that you ensure that the Target Relative Path/ID always resolves to a valid folder.

Snap Input and Output

Input/OutputType of ViewNumber of ViewsExamples of Upstream and Downstream SnapsDescription
Input 

Document

  • Min: 0
  • Max: 1
  • Mapper
  • Copy
  • Create Folder
A document containing the source and target details for copying the driveItem.
Output

Document

  • Min: 1
  • Max: 1
  • Mapper
  • Download File
  • Check out File

A document containing the result of the copy operation.

Snap Settings

Parameter NameData TypeDescriptionDefault ValueExample 
LabelString
Specify a name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.
Copy ItemCopy Item
Source driveTypeDrop-down list

Required. Select a drive type from the following list of permitted drive types in this drop-down list (to locate files/folders for the copy operation) and specify the corresponding details needed:

  • OneDrive. To copy a driveItem (including any children) from the source OneDrive location to the target location. Requires Source UserSource Drive, and Source Relative Path/ID.
  • documentLibraryTo copy a driveItem (including any children) from a shared library (document library) location to the target location. Requires Source Shared LibrarySource Drive, and Source Relative Path/ID.
  • DriveTo copy a driveItem (including any children) to the target location, from a drive (in user's OneDrive or shared library) using the source Drive ID. Requires Source Drive (ID) and Source Relative Path/ID.
  • All. To select and copy a driveItem (including any children) in a drive from the list of all drives and shared libraries (including SharePoint sites) that you can access, to the target location. Requires Source UserSource Drive, and Source Relative Path/ID.
OneDrivedocumentLibrary
Source UserString/Expression/Suggestion

Required for Drive Type options - OneDrive and All. Not needed for Drive and documentLibrary.

Select a user from the suggested list of users to copy files/folders from that user's OneDrive location.

The list of users displayed varies based on your access to their OneDrive locations. This option is meant for administrator users who are authorized to manage other users' drives, as well.

N/ASnap Team:snap@snaplogic.net
Source Shared LibraryString/Expression/Suggestion

Required for Drive Type option - documentLibrary. Not needed for OneDrive, Drive, and All.

Select a shared library from the suggested list of libraries to copy files/folders from that library location.

The list of shared libraries displayed varies based on your access to them. This option is meant for users who have write access on both the source and target shared libraries.

N/ANewSharedLibrary
Source DriveString/Expression/Suggestion

Required for all Drive Type options.

Specify the name of the source drive to copy driveItems from. The suggestions for this field are based on the Snap account and the Source User or Source Shared Library selected.

For the drive type Drive, specify/pass the ID of the source drive to copy the driveItem from, typically from the upstream Snap.

For the drive type All, select a drive from the OneDrive or a Shared Library drive.

Specify the Source Relative Path/ID of the driveItem, next.

N/AOneDrive
Source Relative Path/IDString/Expression

Required for all Drive Type options.

Enter the relative path for the driveItem to be copied, beginning with root:/. Alternatively, pass the item ID in this field.

Relative Path and ID

  • Any URL in this field that starts with root:/ is treated as relative path. All other entries (without root:/ at the beginning) are treated as driveItem IDs.
  • When the driveItem ID passed is invalid (not a 34-character alphanumeric code such as 014ZXBQNNHW2DJ3CDKQZBJHRYWFWVRRQA2), the Snap returns the error - The resource is not found.
root://Pictures/Tour1/Image01.png
Target Drive Same As SourceCheck box

Select this check box to indicate that the source and target drive locations for copying the driveItem are same. 

If this check box selected, the Snap ignores the values in Target DriveType, Target User or Target Shared Library, and Target Drive fields and pastes the item in the path provided in Target Relative Path/ID.

SelectedNot selected
Target DriveTypeDrop-down list

Required. Select a drive type from the following list of permitted drive types in this drop-down list (to locate files/folders for pasting the copied driveItems in) and specify the corresponding details needed:

  • OneDrive. To paste a driveItem (including any children) to the target OneDrive location. Requires Target UserTarget Drive, and Target Relative Path/ID.
  • documentLibraryTo paste a driveItem (including any children) into a shared library (document library) location. Requires Target Shared LibraryTarget Drive, and Target Relative Path/ID.
  • DriveTo paste a driveItem (including any children) to a drive (in user's OneDrive or shared library) using the Target Drive ID. Requires Target Drive (ID) and Target Relative Path/ID.
  • All. To select a target drive from the list of all drives and shared libraries (including SharePoint sites) that you can access, for pasting the driveItem (including any children). Requires Target UserTarget Drive, and Target Relative Path/ID.
OneDrivedocumentLibrary
Target UserString/Expression/Suggestion

Required for DriveType options - OneDrive and All. Not needed for Drive and documentLibrary.

Select a user from the suggested list of users to paste files/folders to that user's OneDrive location.

The list of users displayed varies based on your access to their OneDrive locations. This option is meant for administrator users who are authorized to manage other users' drives, as well.

N/ASnap Team:snap@snaplogic.net
Target Shared LibraryString/Expression/Suggestion

Required for Drive Type option - documentLibrary. Not needed for OneDrive, Drive, and All.

Select a Shared Library from the suggested list of libraries to paste the copied files/folders into that library location.

The list of shared libraries displayed varies based on your access to them. This option is meant for users who have write access on both the source and target shared libraries.

N/ANewSharedLibrary
Target DriveString/Expression/Suggestion

Required for all Drive Type options.

Specify the name of the target drive to paste the copied driveItems into. The suggestions for this field are based on the Snap account and the Target User or Target Shared Library selected.

For the DriveType Drive, specify/pass the ID of the target drive to paste the copied driveItem to, typically from the upstream Snap.

For the drive type All, select a drive from the OneDrive or a Shared Library drive.

Specify the Target Relative Path/ID of the driveItem, next.

N/AOneDrive
Target Relative Path/IDString/Expression

Required for all DriveType options.

Enter the relative path beginning with root:/to paste the copied driveItem. Alternatively, pass the item ID in this field.

Relative Path and ID

  • Any URL in this field that starts with root:/ is treated as a relative path. All other entries (without root:/ at the beginning) are treated as driveItem IDs.
  • When the driveItem ID passed is invalid (not a 34-character alphanumeric code such as 014ZXBQNNHW2DJ3CDKQZBJHRYWFWVRRQA2), the Snap returns the error - The resource is not found.
root://Pictures/Tour2/
Target Item NameString/Expression

Enter a unique name to save the file in the target location as, if you want to rename the file while pasting it. This works as expected only for files less than 10 MB. See Limitations for more information.

To paste the file with the same name, leave this field blank.

N/AImage01.png
Number Of RetriesString/ExpressionSpecify an integer value to set the maximum number of reconnection attempts that the Snap must perform, in case of connection failure or timeout.03
Retry Interval (Seconds)

String/Expression

Enter, in seconds, the duration for which the Snap must wait between two reconnection attempts, until the number of retries is reached.12
Snap ExecutionDrop-down list

Select one of the three following modes in which the Snap executes:

  • Validate & Execute. Performs limited execution of the Snap and generates a data preview during Pipeline validation, then performs full execution of the Snap (unlimited records) during Pipeline runtime.
  • Execute only. Performs full execution of the Snap during Pipeline execution without generating preview data.
  • Disabled. Disables the Snap and all Snaps downstream from it.

Execute onlyValidate & Execute

Examples

Working with Drive Items (Folders and Files) in OneDrive

Microsoft's OneDrive and SharePoint dialects treat files and folders as drive items for all the similar operations (CRUD) they allow. Microsoft OneDrive Snap Pack provides multiple Snaps to perform these operations. This Pipeline demonstrates some of these operations - Creating folders, copying items, moving items, and deleting items. It assumes that you have configured your Azure application and the Snap accounts already. The Pipeline uses the following parameters. 

We use the Create Folder Snap to create a new folder in the OneDrive (or Shared Library) location. Next, we use a Copy Item Snap to create a copy of an existing item in another folder/shared location. The Delete Item Snap removes an item from the source location. The Move Item Snap moves the copied item back to its source location. We also use a Mapper Snap to feed required information to the Move Item Snap.

Create Folder Snap

Output

Now, we copy the newly created folder (mentioned in Source Relative Path/ID field) to another target location (Target Relative Path/ID) using the Copy Item Snap.

Copy Item Snap

Output

Let us delete the original folder from the first source location using the Delete Item Snap. Notice the value/expression used in Source Relative Path/ID field in this Snap.

Delete Item SnapOutput

The output for the Delete Item Snap displays the summary of the delete operation. We use a Mapper Snap to return the name of the item and pass it to the Move Item Snap.

As the last step, let us connect a Move Item Snap to move the copied item (in the old target location) back to its original location (target location for the Move Item Snap). To do so, we capture this name of the item and pass it to the Move Item Snap as the source item detail.

Move Item Snap

Output

Upon completion of the task of moving items, the Snap provides the details of the driveItem that was moved to its original location.

Download this Pipeline

Downloads

Important Steps to Successfully Reuse Pipelines

  1. Download and import the Pipeline into SnapLogic.
  2. Configure Snap accounts as applicable.
  3. Provide Pipeline parameters as applicable.

  File Modified

File Example_OneDrive_Create_Folder_Copy_Move_DeleteItem.slp

Mar 02, 2022 by Subhajit Sengupta

Snap Pack History

 Click here to expand...

Release

Snap Pack Version 

Date

Type

Updates

February 2024436patches25789 Latest

Fixed a performance issue in the Copy Item Snap, which previously resulted in a nameAlreadyExists error when the Snap retried because of a connection reset.

February 2024

main25112

 

Stable

Updated and certified against the current SnapLogic Platform release.

November 2023main23721 StableUpdated and certified against the current SnapLogic Platform release.
August 2023434patches22736 Latest
  • Fixed an issue with the Mircosoft OneDrive Snap Pack where the Snaps displayed Duplicate key OneDrive error. The Snaps now hide the drive details stored in the PreservationHoldLibrary folder when displaying suggestions. You can use the Drive ID to access the PreservationHoldLibrary folder.

  • Fixed an issue with the Mircosoft OneDrive Snaps that displayed a JsonNull error when the shared library list was empty. Now, it displays the message No Suggestions available.

August 2023main22460 StableUpdated and certified against the current SnapLogic Platform release.

May 2023

main21015 

Stable

Upgraded with the latest SnapLogic Platform release.

February 2023432patches20510 Latest

Fixed the following issues with OneDrive Snaps:

  • The Snaps erroneously displayed the permission error when the actual cause was an empty display name in the API.

  • The Snaps failed with a 403 error when selecting a user (in the User field) from the Suggestions list without the User.Read.All permission. Now you can enter the value manually in the User field and proceed with the specific operation you want to perform in OneDrive, even if the Suggestions list is not available.

February 2023main19844 StableUpgraded with the latest SnapLogic Platform release.
November 2022main18944 StableUpgraded with the latest SnapLogic Platform release.
August 2022main17386 StableUpgraded with the latest SnapLogic Platform release.
4.29main15993 StableUpgraded with the latest SnapLogic Platform release.
4.28main14627 StableUpgraded with the latest SnapLogic Platform release.
4.27main12833 StableUpgraded with the latest SnapLogic Platform release.
4.26main11181 

Stable

Upgraded with the latest SnapLogic Platform release.
4.25 Patch425patches10571
Latest

Updated the error output view of the OneDrive - Upload File Snap from a Binary view to a Document view.

4.25main9554 StableEnhanced the Update Share Permissions Snap with the Share Type and Expires fields that enable you to update the share permissions on your OneDrive items shared using the Invite or Link option. If the Share type is link, you can specify the expiry date and time for the URL that is used to share permissions.
4.24main8556 
StableNo updates made.

4.23

main73

 

Stable

Initial release of the Snap Pack with the following Snaps and Accounts:


See Also