remote modify
Configure an existing dvc remote.
This command is commonly needed after dvc remote add to set up credentials or
other customizations. See Remote storage configuration for more information.
Synopsis
usage: dvc remote modify [-h] [--global | --system | --project | --local]
[-q | -v] [-u]
name option [value]
positional arguments:
name Name of the remote
option Name of the option to modify
value (optional) Value of the optionDescription
The DVC remote's name and a valid option to modify are required. Most
config parameters are specific to the
storage type.
This command updates a remote section in the config file (.dvc/config):
$ dvc remote modify temp url /mnt/c/tmp/dvcstore# .dvc/config
['remote "temp"']
- url = /tmp/dvcstore
+ url = /mnt/c/tmp/dvcstoreIf you installed DVC via pip and plan to use cloud services as remote
storage, you might need to install these optional dependencies: [s3],
[azure], [gdrive], [gs], [oss], [ssh]. Use [all] to include them
all. For example:
$ pip install "dvc[s3]"Command options/flags
-
-u,--unset- remove the configurationoptionfrom a config file. Don't provide avalueargument when employing this flag. -
--system- modify the system config file (e.g./etc/xdg/dvc/config) instead of.dvc/config. -
--global- modify the global config file (e.g.~/.config/dvc/config) instead of.dvc/config. -
--project- modify the project's config file (.dvc/config). This is the default behavior. -
--local- modify the Git-ignored local config file (located in.dvc/config.local) instead of.dvc/config. This is useful to save private remote config that you don't want to track and share with Git (credentials, private locations, etc.). -
-h,--help- prints the usage/help message, and exit. -
-q,--quiet- do not write anything to standard output. Exit with 0 if no problems arise, otherwise 1. -
-v,--verbose- displays detailed tracing information.
Available parameters for all remotes
The following config options are available for all remote types:
-
url- the remote location (URL or path) can always be modified. See each type in the next section for valid URL formats.This is how DVC determines what type of remote this is, and thus which other config options can be modified.
-
jobs- change the default number of processes for remote storage synchronization operations (see the--jobsoption ofdvc push,dvc pull,dvc get,dvc import,dvc update,dvc add --to-remote,dvc gc -c, etc.). Accepts positive integers. The default is4 * cpu_count().$ dvc remote modify myremote jobs 8 -
verify- set totruefordvc pullanddvc fetchto recalculate file hashes to check whether their contents have changed (compared to the values saved in the corresponding metafile). This may slow down the operations.Note that this option is enabled on Google Drive remotes by default.
$ dvc remote modify myremote verify true
Supported storage types
Each type of storage has different config options you can set. See all the details in the pages linked below.
Cloud providers
- Amazon S3 (AWS) and S3-compatible e.g. MinIO
- Microsoft Azure Blob Storage
- Google Cloud Storage (GCP)
- Google Drive
- Aliyun OSS
Self-hosted / On-premises
Example: Some Azure authentication methods
Using a default identity (e.g. credentials set by az cli):
$ dvc remote add -d myremote azure://mycontainer/object
$ dvc remote modify myremote account_name 'myaccount'
$ dvc pushNote that this may require the
Storage Blob Data Contributorand other roles on the account.
Using a connection_string:
$ dvc remote add -d myremote azure://mycontainer/object
$ dvc remote modify --local myremote connection_string 'mysecret'
$ dvc pushUsing account_key:
$ dvc remote add -d myremote azure://mycontainer/object
$ dvc remote modify --local myremote account_name 'myaccount'
$ dvc remote modify --local myremote account_key 'mysecret'
$ dvc pushUsing sas_token:
$ dvc remote add -d myremote azure://mycontainer/object
$ dvc remote modify --local myremote account_name 'myaccount'
$ dvc remote modify --local myremote sas_token 'mysecret'
$ dvc push