Arctic URI¶
提供给 Arctic
实例的 URI 用于指定存储后端及其配置。
S3¶
S3 URI 连接方案的形式为 s3(s)://<s3 end point>:<s3 bucket>[?options]
。
如果与安全端点通信,请使用 s3s 作为协议。
Options 是一个查询字符串,用于指定连接特定选项,形式为使用 &
连接的 <name>=<value>
对。
S3 的可用选项
选项 | 描述 |
---|---|
port | 用于 S3 连接的端口 |
region | S3 区域 |
use_virtual_addressing | 是否使用虚拟寻址访问 S3 存储桶 |
access | S3 访问密钥 |
secret | S3 秘密访问密钥 |
path_prefix | S3 存储桶内用于数据存储的路径 |
aws_auth | AWS 认证方法。如果设置为 default (或为了向后兼容设置为 true ),将通过 AWS 默认凭证提供者链计算端点认证。如果设置为 sts ,将使用 AWS Security Token Service (STS) 作为认证方法。如果未提供任何选项,将不使用 AWS 认证,您应在 URI 中指定 access 和 secret。关于 sts 的更多信息请参见 此处 |
aws_profile | 仅当 aws_auth 设置为 sts 时有效。与 AWS Security Token Service (STS) 一起使用的 AWS profile。关于 sts 的更多信息请参见 此处 |
注意:连接到 AWS 时,如果给定的端点指定了区域且未设置 region
,则 region
可以自动从端点推断出来。
Azure¶
Azure URI 连接方案的形式为 azure://[options]
。它基于 Azure 连接字符串,并包含用于配置 ArcticDB 的额外选项。更多详情请参阅 Azure。
options
是一个字符串,用于指定连接特定选项,形式为使用 ;
连接的 <name>=<value>
对(最后一个键值对不应包含末尾的 ;
)。
ArcticDB 特定的额外选项
选项 | 描述 |
---|---|
Container | 用于 blob 的 Azure 容器 |
Path_prefix | Azure 容器内用于数据存储的路径 |
CA_cert_path | (仅限 Linux 平台) Azure CA 证书路径。如果未设置,将使用 python ssl.get_default_verify_paths().cafile 。如果在提供的路径中找不到证书,将抛出不包含有意义错误代码的 Azure 异常。更多详情请参阅 此处。例如,Failed to iterate azure blobs 'C' 0: 。 |
CA_cert_dir | (仅限 Linux 平台) Azure CA 证书目录。如果未设置,将使用 python ssl.get_default_verify_paths().capath 。仅当对应的哈希文件 存在时,证书才能使用。如果在提供的路径中找不到证书,将抛出不包含有意义错误代码的 Azure 异常。更多详情请参阅 此处。例如,Failed to iterate azure blobs 'C' 0: 。 |
对于非 Linux 平台,不能设置 CA_cert_path
和 CA_cert_dir
。请使用操作系统设置配置 CA 证书相关选项。对于 Windows,请参阅 此处
异常:Azure 异常消息总是以 {AZURE_SDK_HTTP_STATUS_CODE}:{AZURE_SDK_REASON_PHRASE}
结尾。
提供的状态码详情请参阅 azure-sdk-for-cpp。
请注意,由于 Azure C++ SDK 中的一个 bug,Azure 可能在异常中不提供有意义的状态码和原因短语。要调试这些情况,请设置环境变量 export AZURE_LOG_LEVEL
为 1
以开启 SDK 调试日志记录。
LMDB¶
LMDB 连接方案的形式为 lmdb:///<path to store LMDB files>[?options]
。
Options 是一个查询字符串,用于指定连接特定选项,形式为使用 &
连接的 <name>=<value>
对。
选项 | 描述 |
---|---|
map_size | LMDB map 大小(参见 此处)。字符串。支持的格式有 "150MB" / "20GB" / "3TB" 唯一支持的单位是 MB / GB / TB。 在 Windows 和 MacOS 上,LMDB 将实例化一个此大小的文件,因此您需要将其设置为系统有足够空间的合理值,并且它有一个较小的默认值(约 1GB)。在 Linux 上,这是 LMDB 使用空间的上限,默认值较大(约 100GB)。 ArcticDB 为每个 library 创建一个 LMDB 数据库,因此 map_size 将是每个 library 的大小。 |
连接字符串示例包括 lmdb:///home/user/my_lmdb
或 lmdb:///home/user/my_lmdb?map_size=2GB
。
内存¶
内存连接方案的形式为 mem://
。
存储是 Arctic
实例本地的。