IBM频谱发现应用程序SDK
ibm-spectrum-discover-application-sdk的Python项目详细描述
应用程序SDK
applicationsdk是一组库,用于帮助开发利用 IBM频谱发现平台功能。在此上下文中,应用程序被描述为 可以对源数据执行操作以提取相关元数据,也可以按照指示修改源数据。示例 其中包括内容检查、匿名化或数据移动。对应用程序运行策略时 应用程序从频谱发现策略引擎(称为“action params”)和 要对其执行这些操作的文档列表。在
应用程序库提供以下功能:
- 初始化应用程序并将其注册到频谱发现主机
- 从PolicyEngine读取和解析工作消息
- 通过Spectrum Discover/COS/NFS/SMB连接检索文档的内容
- 构造结果并使用关联的标记将结果发送回PolicyEngine
applicationsdk提供了抽象的方法来发送和接收工作消息的相关信息 并将结果发送回PolicyEngine。在
在Spectrum_Discover_example_application repository中也提供了使用这些库的示例应用程序。在
建造python轮子
如果您希望通过拉取请求(Pull Request,PR)发送对SDK的本地修改,则可以测试您的构建 在本地创建python轮子。如果不更改SDK,则无需运行 下面的命令,您可以使用当前发布的pypi上的SDK。 可以使用以下命令创建本地python控制盘:
Edit the setup.py to increment the version number
$ python3.6 -m pip install wheel
$ python3.6 setup.py sdist bdist_wheel --universal --dist=dist
Edit the Dockerfile to increment the patch arg version
构建docker映像
此dockerfile已切换为使用buildah
。在
buildah的优点是在构建时创建一个挂载,因此您不再需要将临时文件复制到构建中,这会增加层大小。 这也假设你有一个ubi8_packages.tar.gz包包含ubi repos中不可用的RPM的文件。在我们的例子中,我们使用centos 8的RPM,因为您不能分发非ubi redhat RPM。 有关详细信息,请阅读Red Hat UBI FAQ。在
ubi8_packages.tar.gz包文件需要包含rpm和nfs-utils和cifs-utils等相关的依赖项。在打包RPM之前,您可以在文件夹中发出createrepo .
来生成repodata。
这个焦油gz还需要包含一个文件来设置回购。
在我们的例子中,我们称之为ubi8_local.repo
,其内容是:
假设已经创建了控制盘,然后可以创建SDK映像:
mkdir -p install_media
cp ubi8_packages.tar.gz install_media
cp dist/ibm_spectrum_discover_application_sdk-*-py2.py3-none-any.whl install_media
sudo buildah bud -f Dockerfile -t docker-daemon:ibmcom/spectrum-discover-application-sdk:latest -v $(pwd)/install_media:/install_media/ .
您现在可以将此docker映像用作容器化Example Application的模板。在
- 项目
标签: