Google Drive Connector
Google Drive Connector
The Google Drive Connector uploads to and downloads from the Google Drive cloud storage service.
Each Google Drive Connector connects to a specified Google Drive storage account. Within the remote storage, a single folder is set as the upload target and a single folder is set as the download target.
Files that reach the Google Drive Connector in the ArcESB flow are uploaded to the upload target folder, and files found in the download target folder are downloaded and entered into the ArcESB flow. The connector supports upload and download filters to only send and receive specified file names and/or file extensions.
Account authorization is OAuth-based, so account credentials must be entered in an external site portal the first time the connector connects. The external portal generates an OAuth token that the connector uses to connect, and the connector handles token refresh automatically.
This section contains all of the configurable connector properties.
Settings related to authorizing access to the remote storage.
- Connector Id The static name of the connector. All connector-specific files are held in a folder by the same name within the Data Directory.
- Connector Description An optional field to provide free-form description of the connector and its role in the flow.
- OAuth Client ID The Client ID credential provided by Google for the target storage account. This value should be acquired directly from Google via the Google Console.
- OAuth Client Secret The Client Secret credential provided by Google for the target storage account. This value should be acquired directly from Google via the Google Console.
Note: Google may require an OAuth callback/redirect URL when generating OAuth credentials. Arc’s callback/redirect URL is the same as the address/port where the application is hosted, plus the following resource path: src/oauthCallback.rst. For example, if Arc is hosted on ‘mydomain.com’ on port 8001, the following URL should be specified as the callback/redirect URL: http://mydomain.com:8001/src/oauthCallback.rst.
Settings related to uploading to the remote storage.
- Remote Folder Files processed by the connector will be uploaded to this specified remote folder.
- Overwrite remote files Whether files that already exist in the remote folder should be uploaded (overwritten) or skipped.
Settings related to downloading from the remote storage.
- Remote Folder The remote folder from which files will be downloaded. Multiple folders can be specified in a comma-delimited list.
- File Mask A glob pattern that determines which files within the Remote Folder should be downloaded (e.g. *.txt). If multiple File Masks are required, the Receive Filter advanced field should be used.
- Delete files (after received) Whether files that are successfully downloaded should be deleted from the remote storage afterwards.
Settings related to the automatic processing of files by the connector.
- Send Whether files arriving at the connector will automatically be uploaded.
- Retry Interval The amount of time before a failed upload is retried.
- Max Attempts The maximum number of times the connector will process the input file. Success is measured based on a successful server acknowledgement. If this is set to 0, the connect will retry the file indefinitely.
- Receive Whether the connector should automatically poll the remote download path for files to download.
- Receive Interval The interval between automatic download attempts.
- Minutes The number of minutes to wait before downloading. Only applicable when Receive Interval is set to Minute.
- Minutes Past the Hour The minutes offset for an hourly schedule. Only applicable when Receive Interval is set to Hourly. For example, if this value is set to 5, the automation service will download at 1:05, 2:05, 3:05, etc.
- Time The time within a given day that the download should occur. Only applicable when Receive Interval is set to Daily, or Weekly, or Monthly.
- Day The day on which the download should occur. Only applicable when Receive Interval is set to Weekly or Monthly.
- Cron Expression An arbitrary string representing a cron expression that determines when the download should occur. Only applicable when Receive Interval is set to Advanced.
Settings related to the allocation of resources to the connector.
- Max Workers The maximum number of worker threads that will be consumed from the threadpool to process files on this connector. If set, overrides the default setting from the Profile tab.
- Max Files The maximum number of files that will be processed by the connector each time worker threads are assigned to the connector. If set, overrides the default setting from the Profile tab.
Settings that determine the folder on disk that files will be sent/uploaded from, and the folder that they will be received/downloaded to.
- Input Folder (Send) The connector can send/upload files placed in this folder. If Send Automation is enabled, the connector will automatically poll this location for files to process.
- Output Folder (Receive) The connector will place received/downloaded files in this folder. If the connector is connected to another connector in the flow, files will not remain here and will instead be passed along to the Input/Send folder for the connected connector.
- Processed Folder (Sent) After processing a file, the connector will place a copy of sent/uploaded files in this folder if Save to Sent Folder is enabled.
Settings not included in the previous categories.
- Receive Filter A glob pattern filter to determine which files should be downloaded from the remote storage (e.g. *.txt). Negative patterns may be used to indicate files that should not be downloaded (e.g. -*.tmp). This setting should be used when multiple File Mask patterns are desired. Multiple patterns may be separated by commas, with later filters taking priority except when an exact match is found.
- Send Filter A glob pattern filter to determine which files in the Send folder will be uploaded by the connector (e.g. *.txt). Negative patterns may be used to indicate files that should not be uploaded (e.g. -*.tmp). Multiple patterns may be separated by commas, with later filters taking priority except when an exact match is found.
- Log Level The verbosity of logs generated by the connector. When requesting support, it is recommended to set this to Debug.
- Recurse Subdirectories Whether to download files in subfolders of the target remote path.
- Delete Mode Files can exist in multiple folders in Google Drive, and deleting the file can remove it from all folders (move the file to trash) or simply disassociate it with a single folder. When this field is set to Delete Resource the file will be removed from all folders, and when this field is set to Remove Parent the file will be removed from the parent folder indicated by Remote Folder.
- Docs Export Format When downloading Google Docs, the file will be exported as this specified MIME type.
- Sheets Export Format When downloading Google Sheets, the file will be exported as this specified MIME type.
- Slides Export Format When downloading Google Slides, the file will be exported as this specified MIME type.
- Parent Connector The connector from which settings should be inherited, unless explicitly overwritten within the existing connector configuration. Must be set to a connector of the same type as the current connector.
- Log Subfolder Scheme Instructs the connector to group files in the Logs folder according to the selected interval. For example, the Weekly option instructs the connector to create a new subfolder each week and store all logs for the week in that folder. The blank setting tells the connector to save all logs directly in the Logs folder. For connectors that process many transactions, using subfolders can help keep logs organized and improve performance.
- Log Messages Whether the log entry for a processed file will include a copy of the file itself.
- Save to Sent Folder Whether files processed by the connector should be copied to the Sent folder for the connector.
Settings for specific use cases.
- Other Settings Allows configuration of hidden connector settings in a semicolon-separated list, like
setting1=value1;setting2=value2. Normal connector use cases and functionality should not require use of these settings.
Establishing a Connection
OAuth credentials are required to establish a connection with the Google Drive Connector. OAuth credentials should be acquired directly from Google via the Google Console, then specified in the following connector fields:
- OAuth Client ID
- OAuth Client Secret
Google may require an OAuth callback/redirect URL when generating OAuth credentials. Arc’s callback/redirect URL is the same as the address/port where the application is hosted, plus the following resource path: src/oauthCallback.rst. For example, if Arc is hosted on ‘mydomain.com’ on port 8001, the following URL should be specified as the callback/redirect URL: http://mydomain.com:8001/src/oauthCallback.rst.
Once authorization is successfully completed with Google, the Google Drive connector handles the processing of refreshing the OAuth tokens to ensure that authentication persists over time.
Uploading and Downloading
To upload files, set the Send -> Remote Folder field to the folder where files should be uploaded to. Each Google Drive Connector uploads to a single specified folder location.
The Overwrite remote files option can be toggled to determine whether files that already exist in the remote folder should be overwritten or skipped. The Send Filter field in the Advanced tab can be used to determine which files should be uploaded by the connector, based on filename or file extension.
After configuring, any files placed into the Send/Input Folder of the connector will be uploaded to the remote storage. If Send Automation is enabled, the upload will happen automatically; otherwise, individual files can be Sent via the Input tab of the connector settings.
To download files, set the Receive -> Remote Folder field to the folder where files should be downloaded from. Multiple download folders can be specified in a comma-delimited list.
The File Mask field can be set to a glob filter (e.g. *.txt), and only files matching this filter will be downloaded. To specify multiple filters, the Receive Filter setting can be configured in the Advanced tab.
The Delete files (after received) option toggles whether or not successfully downloaded files should be removed from the remote storage afterwards.
After configuring, files will be downloaded according to the Receive Automation settings, or by manually clicking the Receive button within the Output tab.