使用存储桶
Quilt 允许您在本地文件系统和配置为与 Quilt3 兼容的 S3 存储桶上创建、读取和写入数据包。为了方便起见,我们提供了一个简单的用于与 S3 存储桶交互的 API,作为的替代方案。
连接到存储桶
要连接到 S3 存储桶:
import quilt3
b = quilt3.Bucket("s3://quilt-example")
这要求存储桶已配置为与 Quilt 3 兼容。除非该存储桶是公开的,否则您还需要首先登录到控制该存储桶的目录中
# 只需要运行一次
# 例如 quilt3.config('https://your-catalog-homepage/')
quilt3.config('https://open.quiltdata.com/')
# 按照指示完成登录
quilt3.login()
检查存储桶
要查看存储桶的内容,请使用 keys:
# 返回存储桶中的对象列表
b.keys()
从存储桶中读取
要从存储桶中下载文件或文件夹,请使用 fetch:
# b.fetch("path/to/directory", "path/to/local")
b.fetch("aleksey/hurdat/", "./aleksey/")
b.fetch("README.md", "./read.md")
写入存储桶
您可以将数据写入存储桶:
# 将文件放入存储桶
b.put_file("read.md", "./read.md")
# 或者一次性放入目录中的所有内容
b.put_dir("stuff", "./aleksey")
请注意,Package 的集合操作是 Bucket 上的 put 操作。
删除存储桶中的对象
# 在删除时要小心
# 删除一个文件
b.delete("read.md")
# 删除一个目录
b.delete_dir("stuff/")
在存储桶中搜索
您可以使用 search 搜索单个对象。
请注意,此功能目前仅支持由 Quilt 目录实例支持的存储桶。在执行搜索之前,您必须首先使用 quilt3.config 配置到该实例的连接。
# 例如
quilt3.config(navigator_url="https://open.quiltdata.com")
Quilt 支持无结构的搜索:
# 返回包含单词 "thor" 的所有文件
b.search("thor")
以及基于元数据的结构化搜索(请注意,此功能是实验性的):
# 返回所有带有注释 {'name': 'thor'} 的文件
b.search("user_meta.name:'thor'")
{'took': 0,
'timed_out': False,
'_shards': {'total': 5, 'successful': 5, 'skipped': 0, 'failed': 0},
'hits': {'total': 0, 'max_score': None, 'hits': []}}
文章介绍了如何使用Quilt3库连接和操作S3存储桶,包括登录、查看内容、下载和上传文件、删除对象以及搜索功能。Quilt3提供了一个简单的API来替代直接的S3交互,支持结构化和无结构化的搜索操作。
1476

被折叠的 条评论
为什么被折叠?



