dvc.api.get_url()
返回一个在 DVC 项目 中被追踪的数据文件或目录的存储位置 URL。
def get_url(path: str,
repo: str = None,
rev: str = None,
remote: str = None,
remote_config: dict = None,
config: dict = None) -> str
有关如何使用这些参数的示例,请参见 dvc.api.open()
。
用法
import dvc.api
resource_url = dvc.api.get_url(
'get-started/data.xml',
repo='https://github.com/iterative/dataset-registry'
)
# resource_url is now "https://remote.dvc.org/dataset-registry/a3/04afb96060aad90176268345e10355"
描述
返回指定文件或目录(由其在 repo
(DVC 项目)中的 path
确定)在存储位置(DVC remote)中的 URL 字符串。
该 URL 是通过读取项目的 远程配置,以及包含给定 path
的 dvc.yaml
或 .dvc
文件(outs
字段)生成的。返回的 URL 的模式取决于 remote
的 存储类型(参见 参数 部分)。
如果目标是一个目录,返回的 URL 将以 .dir
结尾。更多关于 DVC 如何处理数据目录的信息,请参考 缓存目录结构 和 dvc add
。
此函数不会检查文件或目录是否实际存在于远程存储中。
参数
-
path
(必需)— 目标的位置和文件名,相对于项目根目录(repo
)。 -
repo
— 指定 DVC 项目的所在位置。可以是 URL 或文件系统路径。在线 Git 仓库支持 HTTP 和 SSH 协议(例如[user@]server:project.git
)。默认值:当前项目(从当前工作目录向上查找确定)。 -
rev
— Git 提交(任何版本,如分支、标签名称、提交哈希或实验名称)。如果repo
不是 Git 仓库,则忽略此选项。默认值:None
(将使用当前工作树) -
remote
— 用于生成返回 URL 字符串的 DVC remote 名称。默认值:使用repo
的 默认 remote。 -
remote_config
— 传递给 DVC 远程存储的配置选项字典。可用于例如向remote
提供凭据。 -
config
— 传递给 DVC 项目的 [config] 字典。它将与现有项目配置合并,可用于例如添加一个全新的remote
。
异常
dvc.exceptions.NoRemoteError
— 找不到remote
。
示例:获取被 DVC 跟踪文件的 URL
import dvc.api
resource_url = dvc.api.get_url(
'get-started/data.xml',
repo='https://github.com/iterative/dataset-registry',
)
print(resource_url)
上述脚本输出
https://remote.dvc.org/dataset-registry/a3/04afb96060aad90176268345e10355
该 URL 表示数据的存储位置,是通过读取相应的 .dvc
文件(get-started/data.xml.dvc
)生成的,其中存储了 md5
文件哈希,
outs:
- md5: a304afb96060aad90176268345e10355
path: get-started/data.xml
以及项目配置文件(.dvc/config
),其中保存了远程 URL:
['remote "storage"']
url = https://remote.dvc.org/dataset-registry