问题标签 [apama]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apama - Apama HTTPClient 适配器中的 JSON 响应解析
我想使用 apama 中的 HTTPClient 适配器解析来自 HTTP REST 调用的 JSON 响应。响应字符串如下,
我写了一个与下面相同的事件定义,
但是在运行时它给出了错误:Expecting map but getting a list。
请帮忙。
apama - 如何从 HTTP JSON 响应负载中解析值
我对 Apama 比较陌生。我正在使用 v10.3.1。我正在按照以下代码段在监视器中执行 REST 请求:
当前处理响应的操作如下所示:
我正在寻找在 JSON 响应负载中提取以下属性值的最佳方法:
我尝试了不同的方法,但总是遇到错误。
print 语句为响应负载提供以下输出:
除了解析单个属性之外,将整个对象映射到 Apama 事件的推荐方法是什么?
如果您能提供代码片段,将不胜感激。
非常感谢马蒂亚斯
apama - 来自 Cumulocity 中内置 Apama 运行时的 HTTP 请求的凭据
我正在使用 Apama v10.3.1。我正在使用 Cumulocity 安装的内置 Apama 容器,我上传的只是一个监视器,而不是整个 Apama 项目。在我的 Apama 监视器中,我正在对 Cumulocity REST API 执行 HTTP GET 请求,以获取监视器处理所需的其他参数。
我的问题是在执行 HTTP 请求时我需要提供用户名和密码,否则会出现 401 错误。由于我不想在我的显示器中对用户和密码进行硬编码,有没有办法使用内置 Apama 容器用于与 Cumulocity 通信的凭据?由于 Apama 在后台与 Cumulocity 进行通信以交换事件、测量值等,因此我假设某处有可用的凭据。是这样吗?如果是这样,我如何告诉我的 Apama 显示器使用这些凭据?
这是代码的摘录:
使用此配置(用户和密码注释)我得到以下打印语句:
请求失败。响应状态为:401 | 未经授权
启用用户和密码后,请求成功执行。但是,我不想在这里硬编码用户和密码。
另外,有没有办法从环境变量或类似的东西中获取当前租户,这样我就不必对基本 URL 进行硬编码?
谢谢马蒂亚斯
apama - 解析具有 xml 属性的 json 响应的问题
我有一个使用 Http Client Adapter 的 json 响应,它具有以下格式
我需要一些关于如何在事件定义中定义以下元素的信息。
1.?xml
2.@版本
3.@xmlns:xsd
根据文档,“@”用于替换, : 用于共同分配。有人可以提供有关如何做到这一点的任何见解。
apama - 来自 Cumulocity 中内置 Apama 运行时的 HTTP 请求
我正在使用 Apama v10.3.1。我正在使用 Cumulocity 安装的内置 Apama 容器(目前在 v9.20 上,即将升级到 v10.4.0),这就是我要上传的只是一个监视器,而不是整个 Apama 项目。在我的 Apama 监视器中,我正在对 Cumulocity REST API 执行 HTTP GET 请求,以获取监视器处理所需的其他参数。
我在这里关注文档:
问题是遵循这种方法需要监视器使用包 com.softwareag.connectivity.httpclient。
但是,具有包定义的监视器无法上传到 Cumulocity 中的内置 Apama 容器。如果您尝试上传带有包定义的监视器,Cumulocity 会引发错误。这也记录在这里:
https://cumulocity.com/guides/apama/best-practices/#limitations
现在,有没有办法从监视器调用 HTTP 服务,该监视器将在 Cumulocity 的内置 Apama 容器中执行?
谢谢, 马蒂亚斯
apama - 区分托管对象的创建和更新事件
我在 Cumulocity 使用 Apama。每当在 Cumulocity 中创建托管对象(设备)时,我想为其提供一些初始参数,这里是设备在被认为不可用之前需要向 Cumulocity 报告的所需时间间隔。
我的问题是,在 Apama 中,我似乎没有办法区分创建和更新事件。因此,如果我收到一个托管对象,向它添加一些参数并将其发送回托管对象通道,我最终会陷入循环。
我当然可以在收到事件后进行一些检查,但我更愿意只过滤托管对象的创建事件而不执行任何 IF 检查。
有什么方法可以只过滤创建事件吗?CHANNEL 和 UPDATE_CHANNEL 有什么区别?我使用哪一个似乎没有什么区别。
我当前的代码如下所示。我想要实现的是避免使用 IF 语句并直接在侦听器中的创建事件上进行过滤。
当我执行这个监视器并创建一个新的托管对象时,这就是打印到日志的内容:
有没有办法直接过滤创建事件?为什么更新后我收到了两份打印报表?
谢谢马蒂亚斯
mongodb - Apama 到 Mongo DB 连接
我想从 Apama 连接到 Mongo DB 并将事件以 JSON 文档格式存储在那里。有什么方法可以使用 JDBC 或 Java API 调用来建立连接?
docker - Apama Docker 容器,将容器外部的值传递给 config.evt 文件
我有一个使用自定义插件连接到 Kafka Broker 的 Apama 项目。当我们启动 Apama 项目时,我使用 .evt(事件)传入配置值,例如代理 url。我使用 engine_deploy 创建项目的可部署结构,当启动相关器时,我使用 –config 标志来运行已部署的代码版本。
我想创建 Apama 项目的 Docker 映像,以便我可以将 Kafka Broker URL 之类的值作为参数传递到我的 Docker 映像中,并希望在 Docker 映像开始使用相同的部署时被 .evt(事件)文件拾取结构体。请让我知道实现 Apama Docker 映像参数化的最佳方法是什么。
亲切的问候,
阿德南
apama - 在 apama_project 中指定用户自定义监控文件的注入顺序
apama_project可以指定用户定义类型的注入顺序吗?似乎engine_deploy不会自动解析用户定义的依赖关系图。
使用apama_project工具,我设置了一个包含两个 *.mon 文件的项目。1.mon 依赖于 2.mon 中的事件定义。
目的是查看engine_deploy工具是否可以识别用户定义类型的依赖树。不幸的是,它似乎没有:
完整来源:
假设用户在 linux 上开发,所以不使用“SoftwareAG Designer”——这怎么能实现?
单独说明 - apama_project和engine_deploy是对工具库的重要补充。
apama - 将资本市场框架捆绑包添加到 apama_project
官方文档指出“不支持从 Capital Markets Foundation、Capital Markets Adapters 或用户定义的捆绑目录添加捆绑包。”。
然而,在检查了官方支持的捆绑包是如何添加到.dependencies
文件中的之后,我通过提供产品目录的相对路径成功地添加了资本市场捆绑包,如下所示:
我能够engine_deploy
毫无问题地完成这个项目,并确认在运行时注入了依赖项correlator --config /path/to/deploy/
。
虽然没有官方支持 - 这种方法有什么后果吗?并且看起来能够使用 ant 替换大量捆绑代码engine_deploy
,这将是有利的。apama_project
aunit test framework