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