我在使用dvc并连接到远程S3以跟踪数据,同时也在同一远程S3上设置了远程dvc缓存。以下是配置文件,
[core] remote = s3remote[cache] s3 = s3cache[‘remote “s3remote”’] url = S3://dvc-example endpointurl = http://localhost:9000/ access_key_id = user secret_access_key = password use_ssl = false[‘remote “s3cache”’] url = s3://dvc-example/cache endpointurl = http://localhost:9000/ access_key_id = user secret_access_key = password use_ssl = false
我能够使用s3remote从远程仓库推送和拉取到本地。
但是当我尝试通过配置缓存(s3cache)来添加外部数据时,会遇到错误。
s3cache和s3remote使用相同的凭证,那么为什么在dvc中添加外部数据时会失败呢?
回答:
我们需要使用特殊的remote://
URL格式来使用现有的远程配置添加--external
数据:
dvc add --external remote://s3remote/wine-quality.csv
wine-quality.csv位于s3://dvc-example/wine-quality.csv,这里remote://s3remote被配置文件中的url
字符串所替换。
我在DVC论坛上发布问题后得到了答案。答案链接