In this article
The page's title should always be the Snap's name. For example, File Reader.
Use this Snap to upload a file from the SLDB or a Snaplex folder to your OneDrive or Shared Library (document library) location.
Provide a functional overview of the Snap. Do not mention anything about the Snap's internal technology or techniques. The user should be able to understand what the Snap. Include a screenshot of a well-configured Snap 600px.
List all prerequisites for using the Snap as a bullet list. Use direct sentences. For example, in the case of a Write-type Snap, a prerequisite would be that the user must have write access. Include links to external official documentation, if required. Use "None." if there no prerequisites.
Works in Ultra Pipelines.
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.
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.
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. |
Parameter Name | Data Type | Description | Default Value | Example | |
---|---|---|---|---|---|
Label | String | 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.
| 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.
| 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.
| 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 |
Include functional examples to demonstrate the various functionalities of the Snap. Examples are different from Use Cases. An example should focus on the Snap in question. Use first-person plural references. Start with the Pipeline's objective and then describe how you would go about using the Snap to fulfill this objective. Include all SLPs in the Downloads section. Use videos if a Snap's configuration is complex and difficult to capture using screenshots. Ensure that the screenshots are optically similar, the size of the text in the screenshots should be readable and similar in size. Max image size 1000 px. Screenshots must include: Pipeline, Snap Configs, Inputs, and Outputs. Refer to ELT Snaps for an instance.
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 |
Add a download link to the Pipeline in the "Download" text above. Explain the Pipeline/Snap configuration in detail if a complex enough example has been used. Ensure that the functionality you are trying to illustrate is captured correctly. Include caveats as appropriate. To insert link: Press Ctrl + K --> Files --> Select the SLP file corresponding to the example.
|
Edit the Excerpt Include macro below to link to the Snap Pack page for this Snap page. Ensure that the heading Snap Pack History is not within the Snap Pack's history Excerpt.
Provide links to the endpoint's official documentation, any relevant or related internal documentation, and any other links you have referred to on this page. Care should be taken when referencing external sites/documentation that it is an official site/documentation. Do not refer to forums such as stackoverflow.