为老板接收客户
boss-ingest的Python项目详细描述
#boss摄取客户端
一个python命令行应用程序,用于执行对boss中数据的分布式摄取
[![boss.io](https://img.shields.io/badge/visit the boss.io blue.svg)(https://docs.theboss.io/)
[![十六进制.pm](https://img.shields.io/hexpm/l/plug.svg)](http://www.apache.org/licenses/license-2.0.html)
[![代码气候](https://codecoltime.com/github/jhuapl boss/inset client/badges/gpa.svg)(https://codecoltime.com/github/jhuapl boss/inset client)
[![覆盖状态](https://coveralls.io/repos/github/jhuapl-boss/insert-client/badge.svg?branch=master)(https://coveralls.io/github/jhuapl-boss/inset-client?分支=主)
[![Circleci](https://circleci.com/gh/jhuapl-boss/inset-client/tree/master.svg?style=svg)](https://circleci.com/gh/jhuapl boss/insert client/tree/master)
\overview
insert client应用程序允许用户快速、可靠地将数据从本地存储移动到boss中。它同时支持python 2和3。它使用json配置文件定义摄取作业,并使用插件系统支持任何本地文件组织。
它支持多种不同的格式,但不如体积摄取有效。
3d长方体(分别为512、512、16,x、y、z)由摄取客户端上载。
r/>virtualenv摄取env
。摄取env/bin/activate
``
-使用[virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/):
`````
````>mkvirtualenv摄取env
````
-安装摄取客户端枕头,这很可能是因为你没有安装枕头的所有依赖项。请查看下面的"安装枕头依赖项"部分以获取帮助。
还请记住,必须对要写入数据的资源("collection"、"experiment"和"channel")具有写入权限,如摄取作业配置文件中指定的那样。如果您创建了资源,您将自动拥有访问权限。
有三种方法可以将您的api令牌提供给摄取客户端。摄取客户端将尝试按以下顺序使用它找到的第一个令牌:
1。**通过命令行参数**
-从命令行启动令牌时,可以直接将令牌传递给摄取客户端。请参阅下面的*用法*部分。
2。**通过intern环境变量**
-摄取客户端还可以重用用于配置intern的环境变量,以设置您的api令牌
```
export intern令牌=<;you`u token`here>;
``
>3。**通过实习生配置文件**
-如果您已经安装了[intern](https://github.com/jhuapl-boss/intern)并将您的API令牌添加到其配置文件中,摄取客户端将自动加载令牌
em脚本,可以从命令行直接调用为"boss insert"。
insert作业是将数据集或数据集的子区域上载到boss的行为。如果需要,您不需要一次上载整个数据集,并且可以在空间和时间中指定要写入的数据。
el an insert job
-**创建新的摄取作业**
-填充摄取作业配置文件以指定数据的正确插件、要使用的boss资源、要摄取的数据集范围和磁贴大小。
-请参阅[创建配置文件](https:)//github.com/jhuapl boss/inserte client/wiki/creating inserte job configuration files)wiki页面了解有关如何执行此操作的更多详细信息。此外,还可以在[此处](https://github.com/jhuapl boss/instect client/tree/master/insteclient/bin/prep-instept.py)找到创建摄取所需boss资源的帮助脚本。
-假设您已经创建了配置文件,只需调用instect clientngest<;绝对路径到配置文件>;
```
-创建新的摄取作业后,客户端将打印摄取作业ID,并将其记录下来。
如果您希望重新启动客户端或在其他节点上运行客户端以提高吞吐量,请记住此ID。
-在上载工作队列自动被清除之前,您有**14天**完成上载此摄取工作的数据。摄取作业**
-您可以加入现有的摄取作业,并在创建后随时开始上载数据。如果客户端崩溃,或者如果您希望在其他节点上并行运行客户端,这将非常有用。
````
boss insert<;absolute_path_to_config_file>;--job id<;insert_job_id>;
````
or
````
boss insert<;absolute_path_to_config_file>;-j<;摄取作业id>;
```
-**取消摄取作业**
-有时您可能希望停止摄取作业。你可以"取消"它。目前,这将删除所有已上传但尚未进入boss的磁贴。任何通过接收管道的数据都将保留。同时,临时队列也将被清除和删除。
```
boss摄取--取消--作业id<;摄取作业id>;
````
或
`````
```
boss摄取-c-j<;摄取作业id>;
```
.io),然后您可以提供一个配置文件,指定所需的主机,因为上面显示的命令将默认为生产boss环境。
```
boss摄取<;绝对路径到配置文件>;-c-j<;摄取作业id>;
```
-**完成摄取作业**
-当上载队列已完全处理时,摄取客户端现在自动"完成"摄取作业。此操作将确保所有数据都已进入boss,清除boss提供的临时资源,并更新摄取作业的状态。注意,完成一项工作可能需要5-60秒。
如果您不**希望客户端自动为您竞争作业,您可以添加一个标志来禁用此功能,如下所示
````
boss摄取<;绝对路径到配置文件>;--手动完成
````
绝对路径到配置文件-m
```
-**多处理**
-您可以通过设置`-p`参数来选择让多个上载引擎在并行进程中启动,如下例所示。(默认上载进程数=1)
```
boss摄取<;绝对路径到配置文件>;--进程数<;绝对进程数>;
````
或
````
boss摄取<;绝对路径到配置文件>;-p<;进程数>;
````
>
-**logging**
-您可以通过指定和使用-l参数的绝对文件路径来选择写入日志文件的位置。如果省略,数据将记录在` ~/.boss摄取`
``
boss摄取<;绝对路径到配置文件>;--日志文件<;绝对文件名>;
```
或
```
boss摄取<;绝对路径到配置文件>;-l<;绝对文件名>;
```
-您还可以控制日志记录级别。默认情况下,它被设置为"warning",尽管某些重要信息被强制始终记录。"info"级别和更低级别会产生非常大的日志文件,除了开发和调试之外,不推荐用于任何其他用途。
````
boss摄取<;绝对路径到配置文件>;--日志级别<;严重错误警告信息调试>;
```
t<;绝对路径到配置文件>;-v<;严重错误警告信息调试>;
````
第一个(路径处理器)负责获取从上载任务队列提供的用户指定参数和平铺索引,以生成与图像平铺关联的正确数据文件的绝对文件路径。第二个(平铺处理器)负责获取用户指定的参数、平铺索引和生成的文件路径,以生成包含图像数据的文件句柄。然后使用此句柄上载图像平铺。
github上的[摄取客户端wiki](https://github.com/jhuapl-boss/insert-client/wiki)提供了有关如何[创建插件](https://github.com/jhuapl-boss/insert-client/wiki/creating-custom-plugins)和哪个plu的详细信息。gins come[预安装](https://github.com/jhuapl boss/inserte client/wiki/plugins)。
如果您开发自己的插件,只需在调用"boss inserte"之前确保它们位于"pythonpath"上
````
export pythonpath=$pythonpath:/<;path_to_modules>;
```
在运行"pip install hellow"之前,可能需要安装几个依赖项。当您运行"pip install boss insert"时,枕头会自动安装,因此必须已安装这些外部依赖项,才能成功完成该命令。
-osx
暂停将libjpeg dev libtiff5 dev zlib1g dev libfreetype6 dev liblcms2 dev libopenjpeg dev安装到一个控制器您可以选择使用[virtualenv](https://virtualenv.pypa.io/en/stable)克隆摄取客户端/):
````
virtualenv摄取env
。摄取env/bin/activate
``
-使用[virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/):
`````
```` ````
-安装python依赖项```
-如果在本地克隆了摄取客户端存储库,则可以通过token.json文件使用其他令牌配置方法
-在repo的根目录中创建token.json文件
``````
vi./token.json
`````
-获取API令牌。这可以通过访问[boss管理控制台](https://api.theboss.io)来完成。登录后,单击右上角的用户名,然后单击"API令牌"。
-将API令牌复制到TOKen.json文件,如下所示:
```
{
"token":"<;insert_token_here>;",
"host":"api.theboss.io"
}
````
只需从"摄取客户端"目录调用nos2即可。
````
nos2
`````
>我们还使用连续集成来自动运行测试。今后的工作将扩大测试范围,增加更复杂的集成测试。
源代码或二进制格式的重新分发必须遵守任何适用软件许可证的条款和条件。
2.最终用户文件或通知,无论是作为再分配的一部分,还是作为法律或科学披露(如出版物)或广告的一部分分发,都必须包括以下确认:BOSS软件系统是由约翰霍普金斯大学设计和开发的大学应用物理实验室(JHU/APL)。
3。未经事先书面许可,不得使用"BOSS"、"JHU/APL"、"约翰霍普金斯大学"、"应用物理实验室"、"Microns"或"IARPA"等名称为本软件的产品背书或促销。如需书面许可,请联系bossadmin@jhuapl.edu.
4。此源代码和库的分发是希望它会有用,但不提供任何形式的保证。
\license
如果未另外标记,则此存储库中的所有代码都属于license.md中授予的许可。
一个python命令行应用程序,用于执行对boss中数据的分布式摄取
[![boss.io](https://img.shields.io/badge/visit the boss.io blue.svg)(https://docs.theboss.io/)
[![十六进制.pm](https://img.shields.io/hexpm/l/plug.svg)](http://www.apache.org/licenses/license-2.0.html)
[![代码气候](https://codecoltime.com/github/jhuapl boss/inset client/badges/gpa.svg)(https://codecoltime.com/github/jhuapl boss/inset client)
[![覆盖状态](https://coveralls.io/repos/github/jhuapl-boss/insert-client/badge.svg?branch=master)(https://coveralls.io/github/jhuapl-boss/inset-client?分支=主)
[![Circleci](https://circleci.com/gh/jhuapl-boss/inset-client/tree/master.svg?style=svg)](https://circleci.com/gh/jhuapl boss/insert client/tree/master)
\overview
insert client应用程序允许用户快速、可靠地将数据从本地存储移动到boss中。它同时支持python 2和3。它使用json配置文件定义摄取作业,并使用插件系统支持任何本地文件组织。
它支持多种不同的格式,但不如体积摄取有效。
3d长方体(分别为512、512、16,x、y、z)由摄取客户端上载。
r/>virtualenv摄取env
。摄取env/bin/activate
``
-使用[virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/):
`````
````>mkvirtualenv摄取env
````
-安装摄取客户端枕头,这很可能是因为你没有安装枕头的所有依赖项。请查看下面的"安装枕头依赖项"部分以获取帮助。
还请记住,必须对要写入数据的资源("collection"、"experiment"和"channel")具有写入权限,如摄取作业配置文件中指定的那样。如果您创建了资源,您将自动拥有访问权限。
有三种方法可以将您的api令牌提供给摄取客户端。摄取客户端将尝试按以下顺序使用它找到的第一个令牌:
1。**通过命令行参数**
-从命令行启动令牌时,可以直接将令牌传递给摄取客户端。请参阅下面的*用法*部分。
2。**通过intern环境变量**
-摄取客户端还可以重用用于配置intern的环境变量,以设置您的api令牌
```
export intern令牌=<;you`u token`here>;
``
>3。**通过实习生配置文件**
-如果您已经安装了[intern](https://github.com/jhuapl-boss/intern)并将您的API令牌添加到其配置文件中,摄取客户端将自动加载令牌
em脚本,可以从命令行直接调用为"boss insert"。
insert作业是将数据集或数据集的子区域上载到boss的行为。如果需要,您不需要一次上载整个数据集,并且可以在空间和时间中指定要写入的数据。
el an insert job
-**创建新的摄取作业**
-填充摄取作业配置文件以指定数据的正确插件、要使用的boss资源、要摄取的数据集范围和磁贴大小。
-请参阅[创建配置文件](https:)//github.com/jhuapl boss/inserte client/wiki/creating inserte job configuration files)wiki页面了解有关如何执行此操作的更多详细信息。此外,还可以在[此处](https://github.com/jhuapl boss/instect client/tree/master/insteclient/bin/prep-instept.py)找到创建摄取所需boss资源的帮助脚本。
-假设您已经创建了配置文件,只需调用instect clientngest<;绝对路径到配置文件>;
```
-创建新的摄取作业后,客户端将打印摄取作业ID,并将其记录下来。
如果您希望重新启动客户端或在其他节点上运行客户端以提高吞吐量,请记住此ID。
-在上载工作队列自动被清除之前,您有**14天**完成上载此摄取工作的数据。摄取作业**
-您可以加入现有的摄取作业,并在创建后随时开始上载数据。如果客户端崩溃,或者如果您希望在其他节点上并行运行客户端,这将非常有用。
````
boss insert<;absolute_path_to_config_file>;--job id<;insert_job_id>;
````
or
````
boss insert<;absolute_path_to_config_file>;-j<;摄取作业id>;
```
-**取消摄取作业**
-有时您可能希望停止摄取作业。你可以"取消"它。目前,这将删除所有已上传但尚未进入boss的磁贴。任何通过接收管道的数据都将保留。同时,临时队列也将被清除和删除。
```
boss摄取--取消--作业id<;摄取作业id>;
````
或
`````
```
boss摄取-c-j<;摄取作业id>;
```
.io),然后您可以提供一个配置文件,指定所需的主机,因为上面显示的命令将默认为生产boss环境。
```
boss摄取<;绝对路径到配置文件>;-c-j<;摄取作业id>;
```
-**完成摄取作业**
-当上载队列已完全处理时,摄取客户端现在自动"完成"摄取作业。此操作将确保所有数据都已进入boss,清除boss提供的临时资源,并更新摄取作业的状态。注意,完成一项工作可能需要5-60秒。
如果您不**希望客户端自动为您竞争作业,您可以添加一个标志来禁用此功能,如下所示
````
boss摄取<;绝对路径到配置文件>;--手动完成
````
绝对路径到配置文件-m
```
-**多处理**
-您可以通过设置`-p`参数来选择让多个上载引擎在并行进程中启动,如下例所示。(默认上载进程数=1)
```
boss摄取<;绝对路径到配置文件>;--进程数<;绝对进程数>;
````
或
````
boss摄取<;绝对路径到配置文件>;-p<;进程数>;
````
>
-**logging**
-您可以通过指定和使用-l参数的绝对文件路径来选择写入日志文件的位置。如果省略,数据将记录在` ~/.boss摄取`
``
boss摄取<;绝对路径到配置文件>;--日志文件<;绝对文件名>;
```
或
```
boss摄取<;绝对路径到配置文件>;-l<;绝对文件名>;
```
-您还可以控制日志记录级别。默认情况下,它被设置为"warning",尽管某些重要信息被强制始终记录。"info"级别和更低级别会产生非常大的日志文件,除了开发和调试之外,不推荐用于任何其他用途。
````
boss摄取<;绝对路径到配置文件>;--日志级别<;严重错误警告信息调试>;
```
t<;绝对路径到配置文件>;-v<;严重错误警告信息调试>;
````
第一个(路径处理器)负责获取从上载任务队列提供的用户指定参数和平铺索引,以生成与图像平铺关联的正确数据文件的绝对文件路径。第二个(平铺处理器)负责获取用户指定的参数、平铺索引和生成的文件路径,以生成包含图像数据的文件句柄。然后使用此句柄上载图像平铺。
github上的[摄取客户端wiki](https://github.com/jhuapl-boss/insert-client/wiki)提供了有关如何[创建插件](https://github.com/jhuapl-boss/insert-client/wiki/creating-custom-plugins)和哪个plu的详细信息。gins come[预安装](https://github.com/jhuapl boss/inserte client/wiki/plugins)。
如果您开发自己的插件,只需在调用"boss inserte"之前确保它们位于"pythonpath"上
````
export pythonpath=$pythonpath:/<;path_to_modules>;
```
在运行"pip install hellow"之前,可能需要安装几个依赖项。当您运行"pip install boss insert"时,枕头会自动安装,因此必须已安装这些外部依赖项,才能成功完成该命令。
-osx
暂停将libjpeg dev libtiff5 dev zlib1g dev libfreetype6 dev liblcms2 dev libopenjpeg dev安装到一个控制器您可以选择使用[virtualenv](https://virtualenv.pypa.io/en/stable)克隆摄取客户端/):
````
virtualenv摄取env
。摄取env/bin/activate
``
-使用[virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/):
`````
````
-安装python依赖项```
-如果在本地克隆了摄取客户端存储库,则可以通过token.json文件使用其他令牌配置方法
-在repo的根目录中创建token.json文件
``````
vi./token.json
`````
-获取API令牌。这可以通过访问[boss管理控制台](https://api.theboss.io)来完成。登录后,单击右上角的用户名,然后单击"API令牌"。
-将API令牌复制到TOKen.json文件,如下所示:
```
{
"token":"<;insert_token_here>;",
"host":"api.theboss.io"
}
````
只需从"摄取客户端"目录调用nos2即可。
````
nos2
`````
>我们还使用连续集成来自动运行测试。今后的工作将扩大测试范围,增加更复杂的集成测试。
源代码或二进制格式的重新分发必须遵守任何适用软件许可证的条款和条件。
2.最终用户文件或通知,无论是作为再分配的一部分,还是作为法律或科学披露(如出版物)或广告的一部分分发,都必须包括以下确认:BOSS软件系统是由约翰霍普金斯大学设计和开发的大学应用物理实验室(JHU/APL)。
3。未经事先书面许可,不得使用"BOSS"、"JHU/APL"、"约翰霍普金斯大学"、"应用物理实验室"、"Microns"或"IARPA"等名称为本软件的产品背书或促销。如需书面许可,请联系bossadmin@jhuapl.edu.
4。此源代码和库的分发是希望它会有用,但不提供任何形式的保证。
\license
如果未另外标记,则此存储库中的所有代码都属于license.md中授予的许可。