Apama Docker容器,将值从容器外部传递到config.evt文件

时间:2019-07-26 09:43:29

标签: docker dockerfile apama

我有一个使用自定义插件连接到Kafka Broker的Apama项目。当我们启动Apama项目时,我使用.evt(事件)传入配置值,例如代理URL。我使用engine_deploy创建项目的可部署结构,并在启动相关器时使用–config标志与已部署的代码版本一起运行。

我想创建Apama项目的Docker映像,以便可以将诸如Kafka Broker URL的值作为参数传递到我的Docker映像中,并希望当Docker映像开始使用时由.evt(事件)文件获取。相同的部署结构。请让我知道实现Apama Docker映像参数化的最佳方法是什么。

亲切的问候,

阿德南

1 个答案:

答案 0 :(得分:1)

我觉得您可能会混淆一些概念,但是有两种方法可以使两者同时起作用。

使用您所描述的现代自定义Apama应用程序,使用OS环境变量(并使用管理插件从EPL读取它们)[1]或使用相关器属性YAML文件和命令行替换可能更正常。 -Dkey = value(并使用管理插件的另一种方法从EPL中读取它们)[2]。 这些是过去几年中新增的内容。当然,您可以选择保留现有的evt配置代码,然后只需添加一个额外的监视器以读取其他机制之一,并在内部发送事件,并将信息发送给现有的侦听器。

我们过去也做过一篇博客文章[3],展示了如何将“秘密”传递给Docker和Kubernetes,同样的技术也适用于配置(秘密是一种特殊的配置)。

链接:

  1. 阅读环境变量: 用于管理插件的ApamaDoc可以读取“ / info”类别: https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/ApamaDoc/com/apama/correlator/Component.html#getInfo()

REST API显示感兴趣的路径是“ envp”: https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/rest/correlator.html#infoEnvpGet

  1. 读取相关器属性(命令行替换,文件和ApamaDoc参考):

https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/apama-webhelp/#page/apama-webhelp%2Fre-DepAndManApaApp_starting_the_correlator.html%23

https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/apama-webhelp/#page/apama-webhelp%2Fco-DepAndManApaApp_using_properties_files.html%23wwconnect_header

https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3-1/apama10-3-1/ApamaDoc/com/apama/correlator/Component.html#getConfigProperties()

  1. Docker / K8S秘密和配置博客文章: http://www.apamacommunity.com/passing-secrets-to-the-correlator-with-docker-and-kubernetes/ 在产品中的samples / docker / applications(秘密示例)中也有一个用于此目的的示例

Kev