Drives

The following values can be configured independently for each drive, at HKEY_LOCAL_MACHINE\SOFTWARE\nsoftware\S3Drive\20\Drives\{Drive Name}:

NameTypeDescription
DriveLetterStringContains the drive letter where the drive will be mounted (e.g. "Z:").
DriveNameStringContains the name that will be displayed for the drive.
DriveTypeDWORDDetermines the type of drive that will be mounted:
  • 0 - Network Drive (default)
  • 1 - Local Disk
  • 2 - Removable Disk
EnabledDWORDDetermines whether or not the drive will be mounted when S3 Drive is started.
  • 0 - Disabled
  • 1 - Enabled
IndexDWORDThe position of the drive in the list of drives.
OpenRemoteFolderDWORDDetermines whether or not S3 Drive will automatically open a folder after mounting the drive.
  • 0 - Disabled
  • 1 - Enabled
OpenSpecifiedFolderStringContains the folder that S3 Drive will open if OpenRemoteFolder is enabled.
ReadOnlyDWORDDetermines whether or not S3 Drive will mount the drive in read-only mode.
  • 0 - Disabled (default)
  • 1 - Enabled
RemoteRootStringContains the folder on the server that S3 Drive will use as the root of the mounted drive.
SharedDWORDDetermines whether or not other users can access the mounted drive.
  • 0 - Private
  • 1 - Shared (default)
CaseSensitiveNamesDWORDEnabling this setting will turn on case-sensitive mode in the virtual drive. The drive will advertise to Windows that it is sensitive to filename casing. This will allow some applications to work with files on the drive in a case-sensitive manner. Please keep reading for more information.

Windows treats file and directory names as case-insensitive. FOO.txt and foo.txt are treated as equivalent files. Although there are mechanisms to configure case-sensitivity in Windows, some applications may still make the assumption that the file system is case-insensitive. It is not uncommon for applications to transform filenames to use all upper or lower case. Please see the Microsoft Documentation for more information.

It is required for user-mode code of Windows to set the obcasesensitive setting to 0, in order to perform operations in a case-sensitive manner. Despite this setting, applications may assume the file system is case-insensitive. There is not a magic bullet to turn everything into case-sensitive. Applications may stop working in unexpected places.

By default, the virtual drive will advertise to Windows that is case preserving while it remains mounted. If the drive is started and then stopped and started again, you may see the case preserving is not persistent. For performance reasons we do not perform extra search operations to ensure the persistence of case preserving across stopping and starting the drive.

  • 0 - Disabled (default)
  • 1 - Enable case-sensitive mode

CacheDirectoryString

The local directory where files will be stored temporarily during read and write operations. The default cache directory is C:\ProgramData\S3Drive.

Note: The default cache directory is visible to all local users on the machine.

CacheInfoValidityTimeDWORD

The time in seconds for which the current directory information is considered valid. When a file is created S3 Drive will first check to see if the file already exists in the S3 provider. S3 Drive will first check the cached listing for the directory. If the directory information is older than CacheInfoValidityTime a request will be made to the S3 provider to update the directory listing. If the directory information is newer than CacheInfoValidityTime it will be considered valid and will not result in a separate request to the S3 provider.

In cases where many new files are copied to a folder in a short period of time this can improve performance since it will reduce the number of requests made to the S3 provider. To disable this functionality set the value to 0. The default value is 30.

CacheLargeFileSizeMinimumDWORD

The minimum size of files in megabytes for which a multipart upload will be used. Files written to the virtual drive which exceed this size will be uploaded to the remote storage as a set of independent parts. This is most helpful for uploading large objects. The default value is 5 (5 MB).

CacheFileUploadDelayDWORD

The delay in seconds to wait after a file is idle before initiating an upload to the S3 provider.

A delay may be beneficial in cases where a file is repeatedly accessed. With a delay in place only one copy of the file will be uploaded after the file has been idle for the specified number of seconds. The default value is 5.
CacheFileUploadDelayThresholdDWORD

The maximum size in bytes of cached files that will be uploaded without waiting for CacheFileUploadDelay to lapse. If a file is smaller than the specified number of bytes it will be uploaded immediately. The default value is 1048576 (1 MB).

Note: Specifying a value of 0 means that this setting will not be used and CacheFileUploadDelay will apply to all files.

CacheEnabledForReadDWORD

Whether file content should be cached locally when an application reads the file content from the virtual drive. The default value is 0 and the file is not cached locally until the first write is performed.

Note: Specifying a value of 1 means that files will be cached locally for read operations and write operations. If the remote files are very large this could significantly increase the amount of disk space used by the cache.

CacheMaxUploadRetriesDWORD

The maximum number of retries for the operation. This setting is applicable when data is uploaded from the local cache to the S3 provider. If an operation related to the upload fails it will be retried up until the maximum number of retries specified in this setting. The default value is 3.

CacheConcurrentUploadFilesMaxDWORD

The maximum number of files being uploaded simultaneously. The default value is 8 meaning up to 8 files may be uploaded concurrently. Note that each file may use multiple connections to the server, see CacheConcurrentUploadThreadsPerFile for details.

CacheConcurrentUploadThreadsPerFileDWORD

The maximum number of parallel upload operations per file. If the file is a large file (greater than 5 MB) it will be uploaded using the S3 multipart upload operation to increase performance. This setting controls how many threads can be used to upload individual parts of the file. The default value is 8.

CacheConcurrentDownloadFilesMaxDWORD

The maximum number of files being downloaded simultaneously. The default value is 8 meaning up to 8 files may be downloaded concurrently. Note that each file may use multiple connections to the server, see CacheConcurrentDownloadThreadsPerFile for details.

Note: This setting is only applicable if CacheEnabledForRead is set to true

CacheConcurrentDownloadThreadsPerFileDWORD

The maximum number of parallel download operations per file. This setting controls how many threads can be used to download individual parts of the file. The default value is 8.

Note: This setting is only applicable if CacheEnabledForRead is set to true

CacheFileDeleteDelayDWORD

The number of seconds to wait before deleting an unused file from the cache.

After the specified number of seconds have passed if no further activity has taken place on the file it will be deleted from the cache. The default value is 5 seconds.
CachePreDownloadSmallFileCountDWORD

The number of small files to pre-download. The application will pre-download small files before they have been requested in order to speed up future requests.

For instance, if a read request is made for a.txt the application will download b.txt so that when a request is made for b.txt it can be returned quickly. The default value is 4.

Files are considered small if they are smaller in size than CachePreDownloadSmallFileSizeLimit. Files which match the criteria are downloaded alphabetically.

CachePreDownloadSmallFileSizeLimitDWORD

The maximum size of a file (in bytes) to be considered for pre-downloading.

This setting works in conjunction with CachePreDownloadSmallFileCount. The default value is 1048576 (1MB)
AccessKeyStringThe AccessKey used to authenticate to the S3 provider.
AWSProfileStringThis setting, if non-empty, must contain the name of the AWS CLI profile whose authentication and (optionally) region information the application should use to communicate with the server. To use the default profile, set this setting to default. Refer to the following pages of the AWS CLI documentation for more information about AWS profiles, and the credentials and config files used to store them:

The application supports key-based credential profiles; i.e., those which include the aws_access_key_id, aws_secret_access_key, and (optionally) aws_session_token elements. Role-based profiles are not supported at this time.

In addition to the authentication-related elements mentioned above, the application also supports the region element, if it is present in the specified profile.

The application searches for the specified profile's information in the credentials and config files. The AWSProfileDir setting can be used to configure the directory where the application looks for these files. If the aforementioned files do not exist, or the specified profile cannot be found or is missing information, an error will occur.

AWSProfileDirStringThis setting specifies the directory that the application should check when attempting to locate the AWS CLI credentials and config files. This setting is only used if the AWSProfile setting is non-empty.

By default, this setting is empty, which will cause the application to check the default location used by the AWS CLI: an .aws directory in the current user's home directory; i.e., %UserProfile%\.aws (Windows) or ~/.aws (Linux/macOS).

SecretKeyStringThe encrypted SecretKey used to authenticate to the S3 provider.
EnableReadConflictDetectionDWORD

Whether conflict detection is performed when reading files. As files are read by applications, individual sections of the file may be requested. If another entity uploads a new version of the file to the S3 provider, then applications using the drive will not be aware the content has changed. When future read requests are performed, data from the new version of the file will be retrieved which may cause corruption.

When this setting is enabled (default) if a file is changed remotely any future read requests will fail and the file will be considered conflicted locally until resolved manually through the main window of the application.

EnableWriteConflictDetectionDWORD

Whether conflict detection is enabled when writing files. As files are written by applications, only the modified sections of the file are cached locally. When the file is persisted to S3 the modified sections of the file are combined with the pre-existing file data on S3. This operation may cause corruption if the pre-existing file data on S3 is changed by another entity before the upload completes.

When this setting is enabled (default) if a file is changed remotely the write operation will fail as it may cause corruption. The file will be considered conflicted until resolved manually through the main window of the application.

NOTE: This setting only applies when modified sections of a file are combined with existing file data on S3. For instance, when an application modifies part of a file stored on the drive. If the entire file contents are written to the drive, the entire file will be uploaded to the S3 server and will overwrite any version of the file which exists on the server already.

IMDSSessionDurationDWORD

This setting allows configuring the session time to live header sent to the metadata service. It governs the amount of time which the same session token can be used for subsequent requests. The default is 21600 seconds.

IMDSVersionDWORD

When the application is using the IAM role attached to the instance as security credentials, this configuration setting allows specifying the Instance Metadata Service version.

The default value is 1 and a request/response method will be used to retrieve temporary security credentials. When this setting is set to 2, a session-oriented model will be used instead. Please see "Configuring Instance Metadata Service" in the Amazon AWS Documentation for more information.

SignatureVersionString

Amazon S3 provider only. If specified, this determines the signing standard in outbound requests. For an overview of the available signing standards please see "Signing AWS API Requests" in the AWS Documentation.

By default, the signing version is 4. In SigV4, the signing key is derived from the credential scope string and will not be sent along in the request. Specifying a value of 2 means that the older Signature Version 2 will be used instead. Please note that SigV2 is deprecated and is no longer supported by Amazon.

RegionStringThe region of the provider to which requests will be made. For instance us-east-1.
URLStringThe URL of the S3 endpoint where connections will be made.
UseEC2RoleCredentialsDWORD

When the application is running within an Amazon EC2 instance, this setting can be set to authenticate requests using the IAM role attached to the instance using temporary credentials obtained from the instance metadata service. The IMDSv1 protocol is used by default. Please see the IMDSVersion configuration setting for more information.

In order for the application to be able to auto-obtain authentication credentials, the EC2 instance must have an "instance profile" with an appropriate IAM role attached to it. Refer to the "Using an IAM Role to Grant Permissions to Applications Running on Amazon EC2 Instances" page in the Amazon IAM documentation for more information.

  • 0 - IMDS will not be used (default).
  • 1 - IMDS will be used.

UseTransferAccelerationDWORD

When the bucket allows transfer acceleration, this config can be set to use the accelerated endpoint for transfers.

  • 0 - Transfer acceleration will not be used (default).
  • 1 - Transfer acceleration is enabled.

UseServerSideEncryptionDWORDWhether to use server side encryption when objects are uploaded. Possible values are:
  • 0 - Server side encryption will not be used (default).
  • 1 - Server side encryption is enabled.
UseSSLDWORDWhether requests to the S3 provider use SSL. Possible values are:
  • 0 - SSL will not be used.
  • 1 - SSL will be used for all requests (default).
UseVirtualHostingDWORDWhether the buckets are addresses in requests using the S3 Virtual Hosting format. This is enabled by default, and recommended unless there is a specific reason to disable this setting (for instance when using a custom provider). Possible values:
  • 0 - Virtual hosting is not used. Instead the path style addressing is used.
  • 1 - Virtual hosting is used (default - recommended).
UseAsynchronousTransferModeDWORDIf enabled, uploads and downloads will use multiple threads to increase the overall performance of the operation. Delete operations are batched and other areas are adjusted to increase overall performance. When enabled some operations are performed in the background and make use of a memory-based cache. Possible values:
  • 0 - Disabled (default)
  • 1 - Enabled
ProviderStringThis setting stores the name of the S3 service provider. To add a new provider or custom provider, see the instructions on the Provider Management page.
NamespaceStringThis setting stores the lowest-level subdomain in the connection URL. It is primarily used with Oracle Cloud as the provider.

Example: "abcdefg". This value will create a connection URL in the following format: https://abcdefg.compat.objectstorage.us-ashburn-1.oraclecloud.com

Copyright (c) 2022 /n software inc. - All rights reserved.
S3 Drive 2020 - Version 20.0 [Build 8318]