---
title: "Using Rclone for Large File Downloads from NDS"
slug: "nds-integrations-rclone-large-file-downloads"
updated: 2025-09-23T21:05:39Z
published: 2025-09-23T21:05:39Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nasuni.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Using Rclone for Large File Downloads from NDS

## Overview

Rclone is a command-line program that supports downloading large files from cloud sources, such as Nasuni Data Services (NDS).

Visit [https://rclone.org/](https://rclone.org/) for more information on the product and to download it.

Because NDS imposes a large file download limit, ranged reads must be used to download files larger than the single-file limit (see [NDS for Azure - Supported Parameters & Limits](/v1/docs/nds-azure-supported-parameters-limits#large-file-downloads) for more information). Rclone can be used to accomplish this.

**Prerequisites**

Before beginning, ensure you have the following:

- An NDS deployment connected to one or more Nasuni volumes, and the connection information.
- Rclone installed on your local system.

## Configuring Connections (“Remotes”)

### NDS for Azure

#### Configuring the Connection to NDS

1. Create the connection by editing the `/.config/rclone/rclone.conf` file based on the example in step 6. If you choose this method, skip to step 6 and bypass the wizard. Steps 2 through 5 outline the process for using the wizard.
2. With a clean install of Rclone, run `rclone config` to start.
3. Enter `n` for the **New remote**, and provide a name. ![Terminal output showing rclone configuration setup and new remote name entry.](https://cdn.document360.io/2adf6ce2-c120-4520-b135-0fc4463ddde3/Images/Documentation/Screenshot 2025-09-04 at 09.43.29.png)
4. You are guided through the configuration.

**Use the following values as prompted by the *rclone config* wizard.**

| Prompt | Value |
| --- | --- |
| Storage | `azureblob` |
| account | `nds` |
| env_auth | `false` |
| key | Enter one of the two Access Keys from your NDS deployment. Note: This not the same as a SAS Token. |
| sas_url | Press Enter to leave it empty |
| tenant | Press Enter to leave it empty |
| client_id | Press Enter to leave it empty |
| client_secret | Press Enter to leave it empty |
| client_certificate_path | Press Enter to leave it empty |
| client_certificate_password | `n` This configuration does not use a client certificate. |
| Edit advanced config | `y` Required to specify the NDS endpoint |
| client_send_certificate | `false` |
| username | Press Enter to leave it empty |
| User’s password | `n` |
| service_principal_file | Press Enter to leave it empty |
| disable_instance_discovery | `false` |
| use_msi | `false` |
| msi_object_id | Press Enter to leave it empty |
| msi_client_id | Press Enter to leave it empty |
| msi_mi_res_id | Press Enter to leave it empty |
| use_emulator | `false` |
| use_az | `false` |
| endpoint | Enter the NDS Blob Storage Endpoint URL from your NDS deployment. Note: This URL begins with `https://nds.` |
| upload_cutoff | Press Enter to leave it empty |
| chunk_size | Press Enter for the default |
| upload_concurrency | Press Enter for the default |
| copy_cutoff | Press Enter for the default |
| copy_concurrency | Press Enter for the default |
| use_copy_blob | Press Enter for the default |
| list_chunk | Press Enter for the default |
| access_tier | Press Enter to leave it empty |
| archive_tier_delete | `false` |
| disable_checksum | `false` |
| encoding | Press Enter for the default |
| public_access | Press Enter to leave it empty |
| directory_markers | `false` |
| no_check_container | `false` |
| no_head_object | `false` |
| delete_snapshots | Press Enter to leave it empty |
| description | Optional - could be a descriptive name of this NDS instance, such as the Resource Group name. |
| Edit advanced config (second time) | `n` The configuration is completed. ![Configuration options for Azure Blob storage, including account and endpoint details.](https://cdn.document360.io/2adf6ce2-c120-4520-b135-0fc4463ddde3/Images/Documentation/image-1756997140001.png) |
| Keep this “*name*” remote (Final step) | `y` ![User prompted to confirm keeping a remote configuration for Azure Blob storage.](https://cdn.document360.io/2adf6ce2-c120-4520-b135-0fc4463ddde3/Images/Documentation/Screenshot 2025-09-04 at 10.43.21.png) |

1. Enter `q` to quit the Rclone config wizard.
2. To review the configuration, run `cat ~/.config/rclone/rclone/conf` Your configuration file should look similar to the following example:

```plaintext
❯ cat ~/.config/rclone/rclone.conf
[NameOfRemote]
type = azureblob
account = nds
key = NDSAccessKey
endpoint = https://nds.uniquename.region.azurecontainerapps.io
```
3. With the connection to NDS created (the “Remote”), the next step is to configure an additional Remote to use as the destination for data copied from NDS.

#### Configuring the Connection to Your Destination

> ***Note****: The following is an optional step.*

Alternatively, you can write to your local filesystem as shown in the [example below](/v1/docs/nds-integrations-rclone-large-file-downloads#copyto-copy-files-from-source-to-dest-skipping-identical-files).

1. Run `rclone config` to start. You should see your previously configured connection to NDS. ![Rclone configuration interface showing options for managing remote connections.](https://cdn.document360.io/2adf6ce2-c120-4520-b135-0fc4463ddde3/Images/Documentation/Screenshot 2025-09-04 at 10.53.24.png)
2. Enter `n` for **New remote**, and provide a name.
3. As you are guided through the configuration, refer to the [Rclone documentation](https://rclone.org/overview/) for information about configuring a destination.

---

## Sample Commands

Commands require an NDS path as the source. This path begins with the Nasuni Volume GUID (referenced as a Container or Bucket) configured in NDS.

Your Nasuni Volume GUID is found by running the Get Connection Information command: [NDS for Azure - Installation & Management](/v1/docs/nds-azure-installation-management#5-get-connection-information).

### ls - List objects

[Rclone ls reference](https://rclone.org/commands/rclone_ls/)

In the example below:

- The “Remote” connection name is `NDS`
- The Nasuni Volume GUID value is `9f58311a-3b21-4ae6-8bb6-60e3490-0`
- We are limiting the results to two levels deep from the root.

```plaintext
rclone ls NDS:9f58311a-3b21-4ae6-8bb6-60e3490-0/ --max-depth 2
```

### copyto - Copy files from source to dest, skipping identical files

[Rclone copyto reference](https://rclone.org/commands/rclone_copyto/)

In the example below:

- The Source “Remote” connection name is `NDS`
- The Nasuni Volume GUID value is `9f58311a-3b21-4ae6-8bb6-60e3490-0`
- The path we are copying from the root of the volume is `/Accounting/`
- The destination is the local filesystem `/Users/jsmith/Destination`
- `--azureblob-encoding "Percent"` to handle potential file paths containing “%2F”
- `--disable copy` to force client side directory transfers
- `--progress` to show status
- `--verbose` to show verbose output

```plaintext
rclone copyto "NDS:9f58311a-3b21-4ae6-8bb6-60e3490-0/Accounting/" "/Users/jsmith/Destination" --azureblob-encoding "Percent" --disable copy --progress --verbose
```
