Cirrus库
项目描述
Cirrus库
Cirrus地理空间管道使用的常用函数集合。这个库提供了与各种Cirrus AWS资源(队列、Lambdas、Batch、DynamoDB等)交互的便利函数,应尽可能优先使用,而不是编写单独的代码。
安装
Cirrus-lib需要boto3-utils,这是一个基于boto3构建的便利函数库。Cirrus-lib发布到PyPi,这是首选的安装方法
$ pip install cirrus-lib
# install specific version
$ pip install cirrus-lib==0.1.0
# in a requirements.txt file - the tilda (~) will install the highest compatible version
cirrus-lib~=0.1.0
模块
模块 | 描述 |
---|---|
process_payload | ProcessPayload和ProcessPayloads类表示Cirrus输入负载和一组ProcessPayloads |
错误 | 自定义错误类 |
statedb | 与Cirrus状态数据库(DynamoDB)交互的StateDB类 |
transfer | STAC项目上传和下载资产的便利函数 |
utils | 其他实用函数 |
处理负载
错误
《errors》模块包含一个类:InvalidInput
,当任务输入有问题时可以从任务中抛出。项目将在状态数据库中标记为INVALID而不是FAILED,以避免再次运行。
statedb
来自《statedb》模块的《StateDB》类用于与Cirrus状态数据库(DynamoDB)交互:在数据库中创建新项目、查询和更新状态。状态数据库中的每个项目代表Cirrus的一个输入有效负载。`StateDB`类抽象了实际存储在DynamoDB中的内容,针对查询进行了优化。可以通过`StateDB.get_dbitem()`和`StateDB.get_dbitems()`函数检索数据库中的实际条目,这些函数是内部使用的,但客户端通常应选择使用`StateDB.get_items()`,它将dbitem转换为
字段名称 | 类型 | 描述 |
---|---|---|
payload_id | 字符串 | Cirrus输入有效负载的ID |
collections | 字符串 | 所有输入项目的所有集合的列表 |
workflow | 字符串 | 用于处理输入数据的流程名称 |
items | 字符串 | 所有输入项目ID的列表 |
payload | 字符串 | 原始输入有效负载JSON的s3 URL |
state | 字符串 | 之一:'PROCESSING'、'COMPLETED'、'FAILED'、'INVALID' |
created | 字符串 | 此项目在数据库中创建的日期时间 |
updated | 字符串 | 此项目状态最后更新的日期时间戳 |
executions | [字符串] | 按时间顺序排列的http URL列表,指向状态机执行 |
outputs | [字符串] | 如果`state`是COMPLETED,则是一个列表,包含由此过程生成的所有STAC项目的s3(如果私有有效负载)或http(如果公共)URL。 |
last_error | 字符串 | 这是最后一次失败或INVALID执行的错误消息,如果有。如果状态是PROCESSING或COMPLETED,则不会清除 |
payload_id:有效负载ID是由所有输入集合、输出集合和流程名称的组合形成的。
transfer
《transfer》模块包含用于传输数据的便利函数。
函数 | 描述 |
---|---|
get_s3_session | 获取boto3-utils s3对象进行传输(由其他函数使用)从/到s3 |
download_from_http | 从HTTP URL下载文件 |
download_item_assets | 对于给定的STAC项目,将1个或多个资产下载到本地路径 |
upload_item_assets | 对于给定的STAC项目,将1个或多个资产上传到s3 |
utils
此模块包含一些实用函数。
函数 | 描述 |
---|---|
submit_batch_job | 使用给定的有效负载启动Cirrus批处理作业 |
关于
Cirrus是一个开源的AWS地理空间数据处理流水线。Cirrus最初在[NASA Access项目]下由Element 84开发。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源代码分发
cirrus-lib-0.8.1.tar.gz (23.4 kB 查看哈希值)
构建分发
cirrus_lib-0.8.1-py3-none-any.whl (23.4 kB 查看哈希值)