OneDrive - Upload File
In this article
Overview
Use this Snap to upload a file from the SLDB or a Snaplex folder to your OneDrive or Shared Library (document library) location.
Prerequisites
- A valid application in Azure Portal with appropriate permissions.
- A valid Microsoft OneDrive license.
- Write access on the folder location mentioned in the Source Relative Path/ID.
Support for Ultra Pipelines
Works in Ultra Pipelines.
Limitations
The OneDrive Upload File snap fails with 409
error, when you select replace as the Conflict behavior. The error occurs because the ID provided on a PUT or POST operation for a resource is already in use by another resource. So, when you make concurrent calls, the Snap will likely encounter a 409 error intermittently.
Workaround: Add a Retry value and validate the Pipeline.
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 keeping a check on the number of requests emanating from your client instance.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Binary |
|
| A binary document containing the file to upload to a OneDrive or Shared Library location. |
Output | Document |
|
| A document containing the result of the file upload and the location where the file is uploaded. |
The error view of the Snap has been changed from the Binary view to the Document view. This change will not impact any existing pipelines.
Snap Settings
Parameter Name | Data Type | Description | Default Value | Example |
---|---|---|---|---|
Label | String | 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. | Upload File | Upload File |
Drive Type | Drop-down list | Required. Select a drive type from the drop-down list consisting of the following options to upload the file and specify the corresponding details needed:
| OneDrive | documentLibrary |
User | String/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 upload a file 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/A | Snap Team:snap@snaplogic.net |
Shared Library | String/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 upload a file to 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/A | NewSharedLibrary |
Drive | String/Expression/Suggestion | Required for all Drive Type options. Specify the name of the drive to upload a file to it. The suggestions for this field are based on the Snap account and the User or Shared Library selected. For the Drive Type Drive, specify/pass the ID of the drive to upload a file to it, 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/A | OneDrive |
Source Relative Path/ID | String/Expression | Required for all Drive Type options. Enter the relative path for the driveItem to upload the file to, beginning with root:/. Alternatively, pass the item ID in this field. Relative Path and ID
| root:/ | /myprojects/ |
Upload File Name | String/Expression | Enter a name to upload the file as. | N/A | myfile.xlsx |
Conflict behavior | Drop-down list | Required. Select one of the following options from this drop-down list to define how the Snap must deal with a conflict while uploading the file — a file with the same name and type exists in the selected location.
| replace | rename |
Number Of Retries | String/Expression | Specify an integer value to set the maximum number of reconnection attempts that the Snap must perform, in case of connection failure or timeout. | 0 | 3 |
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. | 1 | 2 |
Snap Execution | Drop-down list | Select one of the three following modes in which the Snap executes:
| Execute only | Validate & Execute |
Examples
Uploading a file for Check Out and Check In
This Pipeline demonstrates how you can use the Snaps in the Microsoft OneDrive Snap Pack to upload, check out, check in and download files in an authorized Share Library location. It assumes that you have configured your Azure application and the Snap accounts already. The Pipeline uses the following parameters.
First, we upload a file to a Shared Library location using File Reader Snap, locate it and check it out for editing. Then we check in the updated file and download it.
File Reader Snap |
---|
Output |
After reading the file from the location provided, we upload the file into a Shared Library (location for Shared files within OneDrive). We configure the Snap to replace an existing file with this file if their file names are the same.
Upload File Snap |
---|
Output |
Now that the file is available in the shared location, let us check out the file for editing. To check out the file, we need to capture the file name. We use a Mapper Snap to extract the file name from the Upload file output view.
We pass the extracted file name along with its location (in a shared library) using an expression in the Source Relative Path/ID field, for checking out the file.
Check Out File Snap | Output |
---|---|
The Check Out File Snap provides the name of the checked-out file in the $Item field and the result of the check-out operation. We use a Mapper Snap again to retrieve this value in $Item and pass it to the Check In File Snap — to check in the same file after it is updated.
In the Check In File Snap, we provide the file details in the Source Relative Path/ID field and an editing comment in the Check In Comment field. This Snap outputs a similar information - $Item and Result of the check in operation.
Check In File Snap | Output |
---|---|
Now, we directly pass the value in $Item field of the output to a Download File Snap to download the file. The Snap downloads the file and returns the location where the file is downloaded. In addition to this, the Snap also relays the (original) output from the previous Snap (Check In File Snap).
Download File Snap |
---|
Output |
Downloads
Important Steps to Successfully Reuse Pipelines
- Download and import the Pipeline into SnapLogic.
- Configure Snap accounts as applicable.
- Provide Pipeline parameters as applicable.
Snap Pack History
See Also
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.