Downloads files from a SharePoint 365 document library or folder using the Microsoft graph API.
The Download for SharePoint 365 node downloads all files from the specified path.
The SharePoint 365 nodes integrate with SharePoint Online.
The node uses the OAuth 2.0 client credentials flow to access the REST API, using the mandatory ClientId, TenantId and ClientSecret credential fields. Before working with this node, ensure that your SharePoint administrator has granted the required permissions for you to access the SharePoint files and folders.
Using the properties FileName and FileNameMatchingCriteria allows to filter files and folders depending on the value entered.The file/folder that is being searched for has to start with the value being entered.
Specify the SharePoint URL hosting the SharePoint site in the SharePointUrl property. To authenticate, obtain the following SharePoint information from your SharePoint administrator and use it to configure the corresponding node properties:
SharePoint information | Node property |
---|---|
Application (client) ID | ClientId |
Directory (tenant) ID | TenantId |
Client secret (can also be referred to as the application password) | ClientSecret |
The output field _ServerRelativeUrl is marked for deprecation, and will be removed in a future LTS release.
All the SharePoint 365 nodes (List, Download, Upload and Delete) output the following fields, which can then be used as "from field" property sources in downstream connected SharePoint 365 nodes: _FileName, _SitePath, _DocumentLibrary, and _Folder.
Properties
SharePointUrl
Specify the SharePoint URL hosting the SharePoint site (e.g. https://sharepoint-server.example.com). The URL must be correctly formatted, or the node will fail.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
A value is required for this property.
SitePath
Optionally specify the SharePoint site name. Leave this property blank to connect to the default or root site (e.g. CommunicationSite).
It can be a relative URL for a subsite (e.g. CommunicationSite/SampleSubSite).
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
DocumentLibrary
Optionally specify the document library name under the specified SharePoint site (e.g. MySharedDocuments).
Leave this property blank to use the root document library of the specified site.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
FolderPath
Optionally specify the folder path to scan relative to the specified document library. Do not include the site name and document library in this path.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
FileName
Optionally specify the case insensitive name of the file to select from the SharePoint server. The value entered will be matched via the criteria chosen in the FileNameMatchingCriteria property, where you can choose from 'Equals' or 'StartsWith'.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
FileNameMatchingCriteria
Optionally choose from the following matching options that will be used with the FileName property when selecting files from the SharePoint server.
Choose from:
- Equals: List files that match exactly the value entered into the FileName property.
- StartsWith: List files that start with the value entered into the FileName property.
The default value is Equals.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
ClientId
Specify the client ID or application ID registered with Azure Active Directory.
A value is required for this property.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
TenantId
Specify the Tenant ID registered with Azure Active Directory.
A value is required for this property.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
ClientSecret
Specify the Client Secret for the registered client/application with Azure Active Directory.
A value is required for this property.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
SiteRoot
Optionally specify the SharePoint root site location under which the site was created. The default root location for Team sites can be changed in the SharePoint admin center settings under Site creation.
Choose from:
sites
teams
The default value is sites.
PassThroughFields
Optionally specify which input fields will "pass through" the node unchanged from the input to the output, assuming that the input exists. The input fields specified will appear on those output records which were produced as a result of the input fields.
The following options are available:
- All - Passes through all the input data fields to the output.
- None - Passes none of the input data fields to the output; as such, only the fields created by the node appear on the output.
- Used - Passes through all the fields that the node used to create the output. Used fields include any input field referenced by a property, be it explicitly (i.e., via a 'field1' reference) or via a field pattern (i.e., '1:foo*').
- Unused - Passes through all the fields that the node did not use to create the output.
If a naming conflict exists between a pass-through field and an explicitly named output field, an error will occur.
The default value is Used.
ConnectionTimeout
Optionally specify the maximum period (in seconds) to wait before the connection times out.
By default, a connection timeout period does not apply.
DataOutputMode
Optionally specify whether data is written to a file on disk or to an output field. Choose from:
- Field
- File
The default value is Field.
The value of this property determines how DataOutputField and DataOutputDirectory behave.
DataOutputField
Optionally specify the name of the output field that contains either the response body or the filenames where the response body has been written.
The behavior of this property depends upon the DataOutputMode. If the DataOutputMode is Field, it names the field where the response body is output.
If the DataOutputMode is File, the output field named in the property contains the full path of the files that contain the response bodies.
The data type of this field is set by the DataOutputFieldType property . The DataOutputFieldType property is useful if the response body has Unicode text data and property is set to Field.
The default value is Output.
DataOutputFieldType
Optionally specify the type of the field named in DataOutputField.
The following options are available:
- String - The data output field will be a Data360 Analyze string type.
- Unicode - The data output field will be a Data360 Analyze Unicode string type.
The default value is Unicode.
DataOutputFieldEncoding
Optionally specify when to encode the HTTP response data when writing to the field specified by DataOutputField.
The data returned from a SharePoint server via HTTP call can be either ASCII text, Unicode text, or binary. Since Data360 Analyze does not support binary data in records, this data must be encoded, or put in a valid data format, before being output to a pin. In addition, if DataOutputFieldType is set to String, then any Unicode data will also have to be encoded in order to avoid errors.
The following options are available:
- Auto - Determines whether to Base64 encode the data based on the Content-Type of the HTTP response. This setting will encode all data types except for text, html, and xml.
- Base64 - Encodes all DataOutputField values using Base64 encoding. This is the safest option.
- None - Do not encode any of the output data. If binary data comes in an HTTP response, then an error will be thrown, and the node will stop processing. This option should only be used when the user can guarantee that the returned data is not binary and is of the same type as the DataOutputFieldType.
The default value is Auto.
DataOutputDirectory
Optionally specify the directory where response bodies are written when DataOutputMode is set to File. When DataOutputDirectory is blank, files are written to the temporary directory. Otherwise, the files are written to the specified directory - the specified directory must exist and be writeable. This node will not overwrite existing files by default. Behavior can be set by configuring the FileExistBehavior properties.
This property should only be filled in when DataOutputMode is set to File.
ContentTypeOutputField
Optionally specify an easy way to output the Content-Type header of the HTTP response separately from the rest of the HTTP headers. Since the Content-Type identifies the type of file that is returned with the response (it functions very similarly to a file extension) this header is most commonly the only header that the user needs to output. Placing a field name in this property will cause the value of the Content-Type header to be output separately in a field of this type.
If this property is left blank, then the content type is not output via this property.
StatusCodeOutputField
Optionally specify the name of the output field that will contain the download status code.
This status code is a numeric value that indicates the status code of the HTTP response.
The default value is _StatusCode.
StatusMessageOutputField
Optionally specify the name of the output field that will contain the error message that describes the status of the download.
The default value is _StatusMessage.
FileNameOutputField
Optionally specify the output field that will contain the name of the downloaded file.
The default value is "_FileName".
FileIdOutputField
Optionally specify the output field that will contain the id of the file or folder on the SharePoint server.
The default value is "_FileId".
SitePathOutputField
Optionally specify the output field that will contain the site path of the SharePoint server.
The default value is "_SitePath".
DocumentLibraryOutputField
Optionally specify the output field that will contain the document library of the site on the SharePoint server.
The default value is "_DocumentLibrary".
FolderPathOutputField
Optionally specify the output field that will contain the folder on the SharePoint server.
The default value is "_Folder".
ServerRelativeUrlOutputField
Optionally specify the output field that contains the location for Files/Folders that were deleted from the SharePoint server (e.g. /Documents/TestFolder/testFile.txt).
The default value is "_ServerRelativeUrl".
ItemTypeOutputField
Optionally specify the output field that will contain the type item in the file list whether it is File or Folder.
The default value is "_FileType".
LengthOutputField
Optionally specify the output field that will contain the length of the file.
The default value is "_Length".
MimeTypeOutputField
Optionally specify the output field that will contain the mime type of the file.
The default value is "_MimeType".
TimeCreatedOutputField
Optionally specify the output field that will contain the time the uploaded file was created.
The default value is "_TimeCreated".
TimeLastModifiedOutputField
Optionally specify the output field that will contain the time the uploaded file was last modified.
The default value is "_TimeLastModified".
RetryCondition
Optionally specify under what conditions to retry a request.
Choose from:
- Never - Never retry a request.
- Http Status Error - Retry the request if the response status code is in the 4xx client error or 5xx server error categories.
- Network Error - Retry the request if a network error occurs. A network error is any low level network error that might occur. This could be a socket or connection timeout, TLS error and so on.
- Any Error - Retry the request if the response contains a http status error or a network error.
The default value is Never.
MaxRetries
Optionally specify the number of times to attempt an unsuccessful retry before error.
The default value is unlimited.
RetryTimeout
Optionally specify the maximum total amount of time to attempt to retry a failed request regardless of the number of attempts.
The default value is unlimited, the node will not timeout.
ProxyUrl
Optionally specify the URL of the proxy server to use for the HTTP requests. The URL should contain the protocol (http or https), the host, and the port. All other parts of the URL will be ignored.
The URL should be in a format similar to the following:
HTTP proxy: http://proxy.example.com:1234
HTTPS proxy: https://proxy.example.com:443
The node supports automatic detection of system proxy settings. To override system proxy settings see the IgnoreSystemProxy property.
ProxyUsername
Optionally specify the proxy username, where the proxy requires authentication.
This property should be left blank if ProxyUrl is not set.
ProxyPassword
Optionally specify the proxy password, where the proxy requires authentication.
This property should be left blank if ProxyUrl is not set.
ProxyAuthenticationMethod
Optionally specify the authentication method used to verify the user of the proxy server. Choose from:
- Basic
- Digest
- NTLM
If this property is not set, the system will try to automatically detect the best option. By default, this property is not set.
FileExistsBehavior
Optionally specify what to do when a file being downloaded already exists on the local machine.
Choose from:
- Error - Give a transfer error and skip the file.
- Log - Log a warning message and skip the file.
- Ignore - Skip the file.
- Overwrite - Overwrite the file.
- Update - Overwrite if the file being downloaded is newer than the existing file.
The default value is Error.
ProcessingErrorBehavior
Optionally specify the behavior of the node if an error occurs during the processing of an input record. Errors will always be output on the Errors output pin. Choose from:
- Error - Logs an error to the Errors panel and node fails.
- Log - Logs a warning to the Errors panel.
- Ignore - Ignores the error.
The default value is Error.
ErrorThreshold
Optionally specify the number of transfer errors that will cause the node to give up and fail.
Each record on the input pin is a "request". A transfer error is any error that causes a request to fail (e.g. a requested file does not exist). Setting this property instructs the node to continue processing requests as long as the number of errors remains below the given threshold.
An error threshold of 0 means never fail on a transfer error (the node will still fail on more serious errors).
The default value is 1 (i.e. the node fails on the first error that is encountered).
LogLevel
Optionally specify the level at which non-fatal messages are logged. The lower the level, the more information will be recorded in the log file.
Choose from:
0 - Information
1 - Low
2 - Medium
3 - High
4 - Fatal
The default value is 2 (Medium), which can be changed in the ls_brain_node.prop configuration file by modifying the property ls.brain.node.logLevel.
Enabled
Optionally specify whether the node is enabled or disabled. You can either choose from True or False, or reference another property (see the topic Using derived property values) which will be evaluated to a true/false value.
Disabled nodes are not executed, even if they are selected to run.
The default value is True.
The Enabled property cannot reference (either directly or indirectly) any of the Run Properties of a data flow.
Inputs and outputs
Inputs: 1 optional.
Outputs: Downloaded Files and Errors.