资产缓存配置
来源
参数 <rw>
是可选的,对于下面介绍的大多数源都是常见参数。 它控制特定源的访问权限,并接受值 read
、write
和 readwrite
(默认为 read
)。
使用反引号 (`) 转义源字符串里的字符。
clear
语法:clear
删除配置字符串中所有以前的源。 与 --x-asset-sources
参数结合使用时非常有用,可禁用来自 X_VCPKG_ASSET_SOURCES
环境变量的所有资产缓存源。
Azure Blob 存储 (x-azurl
)
语法:
x-azurl,<url>[,<sas>[,<rw>]]
x-azurl,file://<network-location>[,,<rw>]
<url>
:必需。 Azure Blob 存储连接 URL。 它必须包含容器路径和尾随的 /
。
<sas>
:可选。 对于使用共享访问签名验证的终结点,请使用此参数提供生成的 SAS。
非 Azure 终结点可以使用此参数提供访问令牌。 只要它们可以响应表单 <url>/<sha512>?<sas>
的 GET 和 PUT 请求。
例如,按如下方式配置的源:azurl,https://mydomain.com/vcpkg/,token=abc123,readwrite
,用以下形式生成请求:https://mydomain.com/vcpkg/<sha512>?token=abc123
。
或者,可以使用文件系统位置作为终结点,方法是使用 x-azurl,file://<filesystem-location>[,,<rw>]
模式。
例如,x-azurl,file:///Z:/vcpkg/assetcache/,,readwrite
在 Z:/
网络文件夹中配置缓存。
此资产源的工作流为:
- 尝试从镜像读取
- (如果步骤 1 失败)从原始 URL 读取
- (如果步骤 2 成功)写回镜像
可通过 <rw>
说明符启用/禁用步骤 1 和步骤 3,可通过以下的 x-block-origin
的禁用步骤 2.
另请参阅 Azure Blob 存储的二进制缓存文档,详细了解如何设置 x-azurl
源。
x-block-origin
语法:x-block-origin
在配置的任何源中都未找到资产时,禁用回退到原始下载 UR国。
x-script
语法: x-script,<template>
分派一个外部工具来提取资产。
<template>
:必需。 vcpkg 用来执行获取资产所使用的命令模板。 例如:x-script,curl -L {url} --output {dst}
将 vcpkg 配置为执行 curl
并提供 {url}
和 {dst}
参数。
还原和上传资产并连接到缓存存储终结点的逻辑由模板中提供的命令负责。
执行命令时,vcpkg 将替换以下参数:
{url}
:资产的原始下载 URL。{sha512}
:已下载资产的预期 SHA512。{dst}
:需要下载的资产的位置。
模板命令在 vcpkg 的生成环境中运行;这意味着三联密码可能会修改 PATH
等一些环境变量。