点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在一个项目中,我想要一个单独的HDI DB模块,其中包含常见的类似主数据的维计算视图。 我的想法是通过跨容器访问更特定于业务的数据库模块(这些数据库具有自己的报告计算视图,但可以与主数据维视图结合使用)来使这些常用视图可重复使用。 通过遵循本教程,我可以使此工作有所工作:
https://developers.sap.com/tutorials/xsa-cross-container-access .html
我不清楚要如何为可能具有不同名称的 consumed-db
定义 service-name
? 例如,本教程中的示例使用了构建时服务名称,它看起来像 RHOWLES-9skqv35et1oio3vg-SflightExample-hdi_db_sflight
,但是在部署时将是 hdi_db_sflight
。 我们在 DEVELOPMENT
空间中进行开发,并在 DEPLOY
空间中进行部署,因此我认为在开发过程中我将不具有可见性来引用 hdi_db_sflight
示例YAML:
ID:SflightCrossContainerExample _schema-version:" 2.0" 版本:0.0.1 模块: -名称:db_sflight_cc_example 类型:hdb 路径:db_sflight_cc_example 要求: -名称:hdi_db_sflight_cc_example 特性: TARGET_CONTAINER:'〜{hdi-container-name}' -名称:consumed-md-container 组:SERVICE_REPLACEMENTS 特性: 密钥:consumpted-db 服务:"〜{consumed-service-name}" 资源: -名称:hdi_db_sflight_cc_example 参数: 配置: 架构:SFLIGHT_CC_EXAMPLE 特性: hdi-container-name:$ {服务名称} 类型:com.sap.xs.hdi-container -名称:consumed-md-container 类型:org.cloudfoundry.existing-service 参数: 服务名称:RHOWLES-9skqv35et1oio3vg-SflightExample-hdi_db_sflight 特性: 消费服务名称:" $ {service-name}"
这是我可以使用xs部署标志实现的功能,还是必须在mtad.yaml部署描述符中执行的操作?
感谢您的帮助。
>如前所述,我们的开发构建时间在开发空间中,而部署的对象在DEPLOY空间中。
但这只是您想出的一条规则。 我想说的是错误的。 您还应该将MTA部署到开发空间中,以提供稳定版本的容器供其他开发人员使用。
>但这只是您想出的一条规则。 我想说的是错误的。
已注意到。 结果,我们将改变我们的方法。 (不要再听Max Attention培训师的调教了。)
谢谢您的时间。
您真的不应该在交叉容器引用中使用构建时间服务名称 。 我想该教程只是为了使场景保持简单。 即使在开发中,也应该在对容器进行全面测试之后再部署它,以便"真实"版本可以用于跨容器用途。
但是,如果您确实需要在部署时更改此值,则可以通过使用mtaext文件覆盖该值来实现。
嘿,托马斯,
"您真的不应该在交叉容器引用中使用构建时服务名称。"
< p>这正是我要避免的事情。 昨天我确实浏览了.mtaext文档( https://help.sap.com /viewer/4505d0bdaf4948449b7f7379d24d0f0d/2.0.03/en-US/51ac525c78244282919029d8f5e2e35d.html ),但是由于考虑到以下警告,我无法成功使用它:您可以 使用MTA部署扩展描述符将以下信息(在部署时)添加到MTA部署描述符中:
,我希望它能够成功构建,我可以指向设计时或已部署的等效项(假设它也已部署),但这听起来像.mtaext要求我从中删除现有的service-name参数。 为了它mta.yaml 要使用的? 也许如果我们有Jenkins或其他CI/CD框架,它可能会为我删除.mtar,但是我们处于XSA的早期采用阶段,因此我们的部署目前是简单的xs cli语句。
我是否缺少一种方法让mtaext覆盖mta.yaml中的就地属性? 我的新手尝试使用.mtaext:
另一个失败的尝试:
即使使用xs deploy file.mtar -e extension.mtaext,它仍然会代替使用mta.yaml中引用的服务
为什么不只是接受第一个建议-根本不要指向临时服务名称。 始终在Dev系统中真正部署外部容器,并且仅引用该名称。 这样,您的mta.yaml始终是一致的。 那是"正确"的方式。
感谢您的提示! 但是,唯一需要注意的是,其中的模块类型,"部署"操作大约要花费5分钟以上(有时甚至更多)。 这不是在"构建"之后测试更改的快速方法,但是正如您所说的那样,可以确保一致性。 谢谢!
您好,我尚未将容器成功部署到DEV空间。 我能够构建和运行它,但不能将其部署到DEV空间。 我发布了一个问题此处。 感谢您的帮助!
致谢
渡轮
一周热门 更多>