remote modify
配置一个已存在的 dvc remote。
此命令通常在 dvc remote add 之后使用,用于设置凭证或其他自定义配置。更多信息请参见 远程存储配置。
概要
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 option描述
需要提供 DVC 远程存储的 name 和一个有效的可修改 option。大多数 配置参数 都与 存储类型 相关。
此命令会更新 配置文件(.dvc/config)中的 remote 部分:
$ dvc remote modify temp url /mnt/c/tmp/dvcstore# .dvc/config
['remote "temp"']
- url = /tmp/dvcstore
+ url = /mnt/c/tmp/dvcstore如果你通过 pip 安装了 DVC 并计划使用云服务作为远程存储,你可能需要安装这些可选依赖项: [s3]、[azure]、[gdrive]、[gs]、[oss]、[ssh]。使用 [all] 可包含所有依赖项。例如:
$ pip install "dvc[s3]"命令选项/标志
-
-u,--unset- 从配置文件中移除指定的option。使用此标志时不要提供value参数。 -
--system- 修改系统配置文件(例如/etc/xdg/dvc/config),而非.dvc/config。 -
--global- 修改全局配置文件(例如~/.config/dvc/config),而非.dvc/config。 -
--project- 修改项目配置文件(.dvc/config)。这是默认行为。 -
--local- 修改 Git 忽略的本地配置文件(位于.dvc/config.local),而非.dvc/config。这适用于保存你不希望被 Git 跟踪或共享的私有远程配置(如凭证、私有路径等)。 -
-h,--help- 打印使用说明/帮助信息,然后退出。 -
-q,--quiet- 不向标准输出写入任何内容。如果没有问题则以 0 退出,否则以 1 退出。 -
-v,--verbose- 显示详细的跟踪信息。
所有远程存储的可用参数
以下配置选项适用于所有远程存储类型:
-
url- 远程位置(URL 或路径)始终可修改。有关有效 URL 格式,请参见下一节中每种类型的说明。DVC 通过此选项判断远程存储的类型,从而确定哪些其他配置选项可被修改。
-
jobs- 更改远程存储同步操作的默认进程数(参见dvc push、dvc pull、dvc get、dvc import、dvc update、dvc add --to-remote、dvc gc -c等命令的--jobs选项)。接受正整数,默认值为4 * cpu_count()。$ dvc remote modify myremote jobs 8 -
verify- 设置为true后,dvc pull和dvc fetch将重新计算文件哈希值,以检查其内容是否已更改(与对应 元文件 中保存的值对比)。这可能会降低操作速度。请注意,此选项在 Google Drive 远程存储中默认启用。
$ dvc remote modify myremote verify true
支持的存储类型
每种存储类型都有不同的可配置参数。详情请参见下方链接页面。
云服务商
- Amazon S3(AWS)以及 S3 兼容 服务,例如 MinIO
- Microsoft Azure Blob Storage
- Google Cloud Storage(GCP)
- Google Drive
- 阿里云 OSS
自托管 / 本地部署
示例:某些 Azure 认证方法
使用默认身份(例如由 az cli 设置的凭证):
$ dvc remote add -d myremote azure://mycontainer/object
$ dvc remote modify myremote account_name 'myaccount'
$ dvc push请注意,这可能需要在账户上授予
Storage Blob Data Contributor及其他角色。
使用 connection_string:
$ dvc remote add -d myremote azure://mycontainer/object
$ dvc remote modify --local myremote connection_string 'mysecret'
$ dvc push使用 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 push使用 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