2020-08-17 00:13发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,我在Cloud Platform中创建了一个企业消息传递实例,如何在使用Cloud Application Programming Model(CAP)构建的应用程序中使用它。 接下来需要做什么? 欢迎任何潜在客户。
谢谢。
嗨,
您需要执行以下步骤(假设您在Cloud Foundry中拥有生产性帐户):
*将CAP应用程序绑定到msg实例(->清单) .yml) *在package.json中,将条目添加到cds-requires部分:
" cds": { "要求": { " anyMessagingName": { "类": "企业消息传递","凭证":{ "命名空间": " my/own/ns"
选择的名称(anyMessagingName)将在代码中引用 CAP将使用"命名空间"(my/own/ns)来生成队列
确保命名空间符合创建消息实例时定义的主题规则
const msg = cds.connect.to('anyMessagingName')
const有效负载= { "名字": "我的名字", " theChangeId": " 123" }
msg.emit('myEventName',有效负载)
*以消耗事件/resp消息,您以相同的方式配置消耗CAP应用程序 *在自定义代码中,您可以连接 对声明的anyMessagingName进行处理的方式与对事件做出反应的方式相同,您编写的自定义处理程序代码与以前使用的处理程序代码相同。对于企业消息传递,有一个区别:您指定了一个主题。 在生产性帐户中,这与命名空间串联在一起:
msg.on('my/own/ns/BO/BusinessPartner/Changed',async(msg)=> {
一旦您了解并配置了它,就很容易使用;-)
亲切的问候
Carlos
BTW,这是 到文档的链接: https://cap.cloud.sap/docs/guides/consumption- 服务#发射事件
感谢卡洛斯,
如何配置我们的CAP应用程序以使用我们的服务发出的事件,您能否解释一下连接是如何发生的,以便我们对流程有清晰的了解。
与此同时,我已经开始发布有关CAP和消息传递的一系列教程:
https://blogs.sap.com/2020/03/03/sap-cloud-application-programming-model-and-enterprise- essaging-1-intro/ https://blogs.sap.com/2020/03/03/sap-cloud-application-programming-model-and-enterprise-messaging-2-send-message/ https: //blogs.sap.com/2020/03/03/sap-cloud-application-programming-model-and-enterpri se-messaging-3-receive-message/
请注意,当前,企业消息传递的CAP集成仍处于beta模式,因此可能存在不兼容的更改。
嗨,卡洛斯,
如果因为您位于不同的空间而无法绑定到消息传递服务,该怎么办。 您需要使用de clientid和secret。 您如何在package.json
感谢进阶
Erik
又一个附录:
自CAP版本3.30起,API稍有变化:
我们不需要连接 到新的消息传递配置
,相反,我们将自己的服务配置如下
package.json:
" cds":{ "要求":{ "邮件":{ " kind":"企业消息传递" } } },
service.js
无需连接。
只需使用srv实例
module.exports = cds.service.impl( (srv)=> { srv.on('company/customer/care/demo/customer/created',async(msg)=> { const messagePayload = JSON.stringify(msg.data) console.log('===>收到的消息:'+ messagePayload) })
并发送:
const message = { 'myProp':'正在发送消息。 } const topic ='公司/客户/护理/演示/客户/创建的' srv.emit(主题,消息)
您好E。 Palmen ,我认为目前无法解决,因为FWK从绑定中读取内容,因此需要绑定,如果未绑定则需要在部署期间失败您可以做的是手动使用amqp lib
亲切的问候,卡洛斯
嗨,正如我提到的,配置是相同的:
" cds":{ " requires":{" anyMessagingName":{" kind":"企业邮件","凭证":{" namespace":" my/own/ns"
,在JavaScript中, 连接:
,然后添加事件监听器
msg.on('my/own/ns/BO/BusinessPartner/Changed',异步(msg)=> {
msg包含消息,使用
msg.data
我想发布博客,但抱歉,这需要时间
干杯,
卡洛斯
最多设置5个标签!
嗨,
您需要执行以下步骤(假设您在Cloud Foundry中拥有生产性帐户):
*将CAP应用程序绑定到msg实例(->清单) .yml)
*在package.json中,将条目添加到cds-requires部分:
选择的名称(anyMessagingName)将在代码中引用
CAP将使用"命名空间"(my/own/ns)来生成队列
确保命名空间符合创建消息实例时定义的主题规则
< p> *在您的自定义代码处理程序中,您连接到例如 " anyMessagingName"*发射示例:
*以消耗事件/resp消息,您以相同的方式配置消耗CAP应用程序
*在自定义代码中,您可以连接 对声明的anyMessagingName进行处理的方式与对事件做出反应的方式相同,您编写的自定义处理程序代码与以前使用的处理程序代码相同。对于企业消息传递,有一个区别:您指定了一个主题。 在生产性帐户中,这与命名空间串联在一起:
一旦您了解并配置了它,就很容易使用;-)
亲切的问候
Carlos
BTW,这是 到文档的链接: https://cap.cloud.sap/docs/guides/consumption- 服务#发射事件
感谢卡洛斯,
如何配置我们的CAP应用程序以使用我们的服务发出的事件,您能否解释一下连接是如何发生的,以便我们对流程有清晰的了解。
与此同时,我已经开始发布有关CAP和消息传递的一系列教程:
https://blogs.sap.com/2020/03/03/sap-cloud-application-programming-model-and-enterprise- essaging-1-intro/
https://blogs.sap.com/2020/03/03/sap-cloud-application-programming-model-and-enterprise-messaging-2-send-message/
https: //blogs.sap.com/2020/03/03/sap-cloud-application-programming-model-and-enterpri se-messaging-3-receive-message/
请注意,当前,企业消息传递的CAP集成仍处于beta模式,因此可能存在不兼容的更改。
嗨,卡洛斯,
如果因为您位于不同的空间而无法绑定到消息传递服务,该怎么办。 您需要使用de clientid和secret。 您如何在package.json
中进行设置感谢进阶
Erik
又一个附录:
自CAP版本3.30起,API稍有变化:
我们不需要连接 到新的消息传递配置
,相反,我们将自己的服务配置如下
package.json:
service.js
无需连接。
只需使用srv实例
并发送:
您好E。 Palmen ,我认为目前无法解决,因为FWK从绑定中读取内容,因此需要绑定,如果未绑定则需要在部署期间失败
您可以做的是手动使用amqp lib
亲切的问候,卡洛斯
嗨,正如我提到的,配置是相同的:
,在JavaScript中, 连接:
,然后添加事件监听器
我想发布博客,但抱歉,这需要时间
干杯,
卡洛斯
一周热门 更多>