2020-09-03 07:32发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
在WASB连接上对大文件(15 MB)使用读取文件运算符,将消息发送到终端输出。 但是,当使用与在docker中运行的python运算符相同的消息作为输入时(不确定在不使用docker运行时是否会有所不同),该消息永远不会到达python def on_input:函数。
任何帮助表示赞赏。
您可以发布图形json吗?
这是JSON:
它永远不会将"测试"发送到
也不会引发任何错误。
要读取的文件约为11,2 MB
{ "属性":{}, " description":" test2", "流程":{ " python3operator1":{ " component":" com.sap.system.python3Operator", "元数据":{ " label":" Python3运算符", " x":277.99999809265137, " y":40, "身高":82, "宽度":120, "可扩展":是的, " config":{ " script":" \ ndef on_message(data):\ n \ n result = \" test \" \ n \ n api.send(\" res \",result)\ napi.set_port_callback(\" message \", on_message)\ n \ n" }, "其他进口":[ { " name":"消息", " type":"消息" } ], "其他输出":[ { " name":" out", " type":"字符串" }, { " name":" image", " type":" blob" }, { " name":" imageout", " type":" blob" }, { " name":" res", " type":"字符串" } ] } }, " readfile1":{ " component":" com.sap.storage.read", "元数据":{ " label":"读取文件", " x":17 " y":49.49999976158142, "身高":80, "宽度":120, " config":{ " service":" wasb", " wasbConnection":{ " connectionProperties":{ " accountKey":"", " accountName":" myaccount", " endpointSuffix":" core.windows.net", " protocol":" HTTPS", " rootPath":"" }, " configurationType":"配置管理器", " connectionID":" WASB" }, " wasbContainerName":" evonik1", " path":"/cells/video/test_Trim.mp4", "递归":false } } }, " terminal2":{ " component":" com.sap.util.terminal", "元数据":{ " label":" Terminal", " x":587.9999961853027, " y":19.49999976158142, "身高":80, "宽度":120, " ui":" dynpath", " config":{} } } }, "组":[ { " name":" group1", "节点":[ " python3operator1" ], "元数据":{ " description":"组" }, "标签":{ " tesseract":"", " python36":"", "龙卷风":" 5.0.2" } } ], "连接":[ { "元数据":{ "点":" 141,98.49999976158142 168.99999952316284,98.49999976158142 168.99999952316284,97.49999976158142 244.99999856948853,97.49999976158142 244.99999856948853,81 272.99999809265137,81" }, " src":{ " port":" outFile", " process":" readfile1" }, " tgt":{ " port":"消息", " process":" python3operator1" } }, { "元数据":{ "点":" 382.99999809265137,113 490,113 490,59.5 582.9999961853027,59.49999976158142" }, " src":{ " port":" res", " process":" python3operator1" }, " tgt":{ " port":" in1", " process":" terminal2" } } ], "进口":{}, "输出":{} }
嗨,马库斯,
我们需要在这里改进一些错误处理。 抱歉。 在管道的日志中,您会发现一个错误"无法发布消息...已超过最大有效负载"。
目前,跨管道的不同容器进行数据交换的最大大小为10 MB。 那是一个限制。 将来我们可能会增加该限制,但目前是这样。
我将尝试解释一些情况:
上述不同Pod和介于两者之间的消息传递系统的机制也是优化数据处理,以不同方式缩放管道的不同部分等的好方法。
同时,这也意味着:尽量避免在不必要的组/对数据处理没有价值的组,因为(不考虑当前的限制)通过消息传递系统发送数据会对性能产生负面影响,而不是 正在做。 当您通过消息传递时,两个运营商之间的数据交换越大,获取的成本就越高。
这一切都与操作员的端口是"消息"类型还是其他类型无关。 所有端口类型的机制都相同。
我希望能有所帮助。 如果有理由将Python运算符放在一个组中,那么让我们检查一下原因或考虑将读取文件运算符与Python运算符放在同一个组中。
干杯 Thorsten
嗨Thorsten,
感谢您的解释。
python运算符与docker容器一起运行。 消息限制似乎合理,但适用于例如 我猜想,具有大量数据或视频分析的ML场景会留下问题。 (也许DH在这里不是正确的工具)因此有一个限制,一个可能会被强制存储/从本地文件系统中读取,而您在另一个答案中指出的其他限制也将被提供。
另一种可能性是在操作员/容器之间流式传输数据,而不是一次发送整个文件。 另一个容器可以累积数据,直到达到EOF为止,然后继续操作。
最多设置5个标签!
您可以发布图形json吗?
嗨,
这是JSON:
它永远不会将"测试"发送到
也不会引发任何错误。
要读取的文件约为11,2 MB
嗨,马库斯,
我们需要在这里改进一些错误处理。 抱歉。 在管道的日志中,您会发现一个错误"无法发布消息...已超过最大有效负载"。
目前,跨管道的不同容器进行数据交换的最大大小为10 MB。 那是一个限制。 将来我们可能会增加该限制,但目前是这样。
我将尝试解释一些情况:
上述不同Pod和介于两者之间的消息传递系统的机制也是优化数据处理,以不同方式缩放管道的不同部分等的好方法。
同时,这也意味着:尽量避免在不必要的组/对数据处理没有价值的组,因为(不考虑当前的限制)通过消息传递系统发送数据会对性能产生负面影响,而不是 正在做。 当您通过消息传递时,两个运营商之间的数据交换越大,获取的成本就越高。
这一切都与操作员的端口是"消息"类型还是其他类型无关。 所有端口类型的机制都相同。
我希望能有所帮助。 如果有理由将Python运算符放在一个组中,那么让我们检查一下原因或考虑将读取文件运算符与Python运算符放在同一个组中。
干杯
Thorsten
嗨Thorsten,
感谢您的解释。
python运算符与docker容器一起运行。 消息限制似乎合理,但适用于例如 我猜想,具有大量数据或视频分析的ML场景会留下问题。 (也许DH在这里不是正确的工具)因此有一个限制,一个可能会被强制存储/从本地文件系统中读取,而您在另一个答案中指出的其他限制也将被提供。
请尝试以下操作:增加分组,不仅包括python运算符,还包括所有运算符。
一个pod可以运行多个容器,这是一个逻辑工作单元,可以 包括单个任务/活动所需的所有容器。 当您将所有运算符放在同一个组中时,它会尝试在同一吊舱中执行所有运算符。
您能试试吗?
问候,
Henrique。
另一种可能性是在操作员/容器之间流式传输数据,而不是一次发送整个文件。 另一个容器可以累积数据,直到达到EOF为止,然后继续操作。
一周热门 更多>