CloudStorage Adapter
Properties Configuration Settings
The CloudStorage Component allows easy uploading and downloading to major cloud service providers.
Remarks
The CloudStorage Adapter provides a simple way to upload and download files from a variety of cloud storage providers. Supported services are:
- Amazon S3
- Azure Blob
- Azure File
- Backblaze B2
- Box.com
- Digital Ocean Spaces
- Dropbox
- Google Cloud Storage
- Google Drive
- Hadoop DFS
- IBM Cloud Object Storage
- Linode Object Storage
- Microsoft OneDrive
- Wasabi
Authorization
The following providers use OAuth 2.0 for authorization:
- Box.com
- Dropbox
- Google Cloud Storage*
- Google Drive
- Microsoft OneDrive
To perform OAuth authorization first open the OAuth Authorization dialog by clicking the ellipses (...) button of the OAuthAuthorization property at design time. This will open a dialog. Within the dialog specify the ClientId, ClientSecret, and CallbackURL values for the registered application.
After specifying the necessary values press the Authorize button to authorize the application. This will launch a browser and prompt the user to grant access. After access is granted the adapter will populate the following values:
All necessary values will be saved in the CacheLocation for use in subsequent requests by the adapter. The adapter will use the cached values and will automatically refresh the token if needed. In this way any user interaction is only required at design time, not at runtime.To authenticate with the the other providers, set the AccountInfo property values shown in the table below:
Provider | Relevant fields |
Amazon S3 | AccessKey and SecretKey |
Azure Blob | Account and AccessKey |
Azure File | Account and AccessKey |
Backblaze B2 | ApplicationKeyId and ApplicationKey |
Digital Ocean Spaces | AccessKey and SecretKey |
Google Cloud Storage* | ProjectId (if using OAuth authentication); or, AccessKey and SecretKey |
Hadoop DFS | Multiple HTTP authentication schemes are supported; refer to AuthMechanism for more information. HadoopURL must always be set. |
IBM Cloud Object Storage | Account and AccessKey |
Linode Object Storage | Account and AccessKey |
Wasabi | AccessKey and SecretKey |
*Google Cloud Storage supports two authentication methods. To authenticate with OAuth 2.0 (preferred) follow the instructions for OAuth, above, and set the ProjectId field of the AccountInfo property. To authenticate with an access and secret key, set the AccessKey and SecretKey fields of the AccountInfo property instead.
CloudStorage Receive Adapter
At runtime the adapter will connect to the cloud storage provider every PollingInterval and list the directory specified by RemotePath. All files that match the FileMask will be downloaded and submitted to the BizTalk Message Engine as individual messages.
In order to guarantee that files are not downloaded multiple times, you may set the DeleteMode to remove files from the server that have been downloaded. Alternatively DownloadCacheFile may be used to keep a list of files which have already been downloaded.
CloudStorage Send Adapter
The adapter will connect to the cloud storage provider whenever it has a message to send. The adapter will attempt to upload to the specified RemotePath. If Overwrite is set to True, the adapter will delete or overwrite remote files as necessary to complete the operation.
Please refer to the section on adapter configuration for a description of how to configure receive locations and send ports for this adapter.
Receiver Property List
The following is the full list of the properties of the receiver adapter with short descriptions. Click on the links for further details.
AccountInfo | Account credentials. |
DeleteMode | Controls if and when the remote object is deleted after download. |
EncryptionAlgorithm | The encryption algorithm. |
EncryptionPassword | The encryption password. |
ErrorThreshold | The maximum number of errors before the component shuts down. |
FileMask | Indicates the type of files to download from the server. |
Firewall | A set of properties related to firewall access. |
HTTPProxy | A set of properties related to proxy access. |
MaxBatchSize | The maximum size, in MB, of the current batch (0 indicates no limit). |
MaxFileCount | The maximum number of files in the current batch (0 indicates no limit). |
MaxFileSize | The maximum size, in MB, of a file in the current batch (0 indicates no limit). |
MaxThreads | The maximum number of threads that the component may consume. |
OAuthAuthorization | OAuth Authorization Information. |
Other | Defines a set of configuration settings to be used by the component. |
PollingInterval | The amount of time, in seconds, between download attempts. |
ReceivedFileDate | The modified date of the remote file received by the component. |
ReceivedFileName | The name of the remote file received by the component. |
ReceivedFileSize | The size of the file in bytes. |
RemotePath | The current path on the server. |
RequeueEndpoints | Whether to requeue receive endpoints if the polling interval has not been reached. |
RuntimeLicense | Specifies the component runtime license key. |
ServiceProvider | The cloud storage service provider. |
SSLAcceptServerCert | Instructs the component to unconditionally accept the server certificate that matches the supplied certificate. |
SSLCert | The certificate to use for client authentication during the SSL handshake. |
TempPath | A temporary local directory where data can be stored before the component processes it. |
Timeout | A timeout for the component. |
TransportLog | Tells the component where and how to report information about its operations. |
URI | The Uniform Resource Identifier (URI) of the send port or receive location. |
Sender Property List
The following is the full list of the properties of the sender adapter with short descriptions. Click on the links for further details.
AccountInfo | Account credentials. |
ConnectionLifetime | Instructs the component whether or not to leave the connection to the server open. |
EncryptionAlgorithm | The encryption algorithm. |
EncryptionPassword | The encryption password. |
Firewall | A set of properties related to firewall access. |
HTTPProxy | A set of properties related to proxy access. |
MaxPersistentConnections | The maximum number of simultaneous persistent connections when sending. |
MaxThreads | The maximum number of threads that the component may consume. |
MaxTransmissionBatchSize | The maximum number of messages that can be sent in a single batch. |
OAuthAuthorization | OAuth Authorization Information. |
Other | Defines a set of configuration settings to be used by the component. |
Overwrite | Whether or not the component should overwrite files during transfer. |
RemoteFile | The name of the remote file. |
RemotePath | The current path on the server. |
RuntimeLicense | Specifies the component runtime license key. |
ServiceProvider | The cloud storage service provider. |
SSLAcceptServerCert | Instructs the component to unconditionally accept the server certificate that matches the supplied certificate. |
SSLCert | The certificate to use for client authentication during the SSL handshake. |
Timeout | A timeout for the component. |
TransmitBatchMode | How the transmitter processes batches. |
TransportLog | Tells the component where and how to report information about its operations. |
URI | The Uniform Resource Identifier (URI) of the send port or receive location. |
Configuration Settings
The following is a list of configuration settings for the adapter with short descriptions. Click on the links for further details.
DateFormat | The date format of the file time. |
DeleteOnSuspend | Specifies whether files may be deleted from server when message is suspended. |
DeleteOnUploadError | Whether to delete the remote file when an error occurs after upload begins. |
DocsExportFormat | The file format to export Google Docs files as when downloading. |
DownloadCacheFile | When set, only new files will be downloaded from the server. |
DownloadCacheFileDuration | The number of minutes that a file name will remain in the download cache. |
DrawingsExportFormat | The file format to export Google Drawings files as when downloading. |
EnableFileDetailsComparison | Whether the receive component should consider metadata differences when deciding whether to download a file again. |
Region | The region the to make requests against when using an S3-like service provider. |
SheetsExportFormat | The file format to export Google Sheets files as when downloading. |
SlidesExportFormat | The file format to export Google Slides files as when downloading. |
UseVirtualHosting | The URL style to use when making requests with an S3-like service provider. |
ReuseSSLSession | Determines if the SSL session is reused. |
SSLCipherStrength | The minimum cipher strength used for bulk encryption. |
SSLEnabledCipherSuites | The cipher suite to be used in an SSL negotiation. |
SSLEnabledProtocols | Used to enable/disable the supported security protocols. |
SSLIncludeCertChain | Whether the entire certificate chain is included in the SSLServerAuthentication event. |
SSLSecurityFlags | Flags that control certificate verification. |
TLS12SignatureAlgorithms | Defines the allowed TLS 1.2 signature algorithms when UseInternalSecurityAPI is True. |
TLS12SupportedGroups | The supported groups for ECC. |
TLS13KeyShareGroups | The groups for which to pregenerate key shares. |
TLS13SignatureAlgorithms | The allowed certificate signature algorithms. |
TLS13SupportedGroups | The supported groups for (EC)DHE key exchange. |