问题标签 [sap-cloud-foundry]
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.
sap-cloud-platform - SAP CP TMS 抛出错误 - “无法获取进程的部署日志消息”
我们正在开发一个基于 SAP CP Cloud Foundry 的项目。
最近,我们正在开发一个 POC,以使用免费试用帐户将 CLoud Foundry 与 SAP CP Transport Management 服务集成。我们在传输管理中创建了一个基本景观,其中一个根节点连接到两个目标节点,并尝试使用该景观将 mtar(多目标应用程序存档)文件部署到 Cloud Foundry。虽然 Cloud Foundry 中的 mtar 部署成功,但我们仍然在 TMS 中收到以下错误。
'未能获取进程 28edb1a9-8887-11ea-aecb-eeee0a80a6c5 的部署日志消息'
看起来 TMS 不知何故无法与 Cloud Foundry 通信。由于上述错误,尽管 CloudFoundry 中的相应部署成功,但 TMS 中的部署状态显示为“Fatal”。
我们已经在 TMS 服务上工作了 2-3 周,但直到上周才出现上述错误。之前一切正常。
由于我们使用的是 TMS 服务的试用帐户,因此不确定这是否是导致错误的原因。
感谢有人可以在此处指导我们解决此问题。
请找到在传输管理服务中捕获的日志。
行动编号:21,470
类型:我
节点:devcf
用户:62881a80-ef10-46e2-806c-13fd04c2747a
显示用户:IMPORT_SCHEDULER
开始时间:4/29/20 8:00 AM
结束时间:4/29/20 8:29 AM
整体行动状态:12
留言:
哈希时创建的 ID 消息 ID 消息严重性 - 传输请求“test-release-v4.5.4”;编号:14,097;状态:12 21787 2020-04-29 08:29:14.6 F40D84CE9840F71E015D8D78FD6939F7
IMPORT_END_EXCEPTION 导入失败,传输请求“test-release-v4.5.4”(id:14097)在 2020 年 4 月 29 日 08:29:14 GMT 时出现异常,详细信息:“无法获取进程 aee6edba- 的部署日志消息- 89ef-11ea-92a1-eeee0a8d21fb' F 21786 2020-04-29 08:29:14.597 96EABE5D919D97D4C81E2F6E4AC5FCCB
ENTITY_END_EXCEPTION 实体“14094 - Ledify_Test_MTA_POC.mtar”(ID:14101)在 2020 年 4 月 29 日 08:29:14 GMT 部署失败,异常“无法获取进程 aee6edba-89ef-11ea-92a1- 的部署日志消息” eeee0a8d21fb' F 21767 2020-04-29 08:02:04.109 A07412A5B0EADC4B3E1BDD522AA7762E
DEPLOYMENT_STARTED 部署已开始。进程ID:aee6edba-89ef-11ea-92a1-eeee0a8d21fb I 21705 2020-04-29 08:00:09.702 C08D1FA8220359403649668F5DE12630
ENTITY_TO_DEPLOY 要部署的实体:“14094 - Ledify_Test_MTA_POC.mtar”(id:14101),内容类型为“多目标应用程序”(“MTA”)和存储类型“文件”I 21680 2020-04-29 08:00:08.398 A2A3F429B7DFD06B37DDF876E28DD325
DESTINATION_DETAILS 节点“devcf”(id:1)的目标详细信息,内容类型“多目标应用程序”(“MTA”):(名称:“AutocloudDevTMS”)I 21661 2020-04-29 08:00:07.219 8B8B799DAEDD4E93A76162F7B8256996
TRANSPORTREQUEST_START 传输请求“test-release-v4.5.4”(id:14097)的导入(全部)于 2020 年 4 月 29 日 08:00:07 GMT I 21640 2020-04-29 08:00:07.047 B90C8C43B5945241ACAE45E30003FEDF
CONTENT_REF_FORWARDED 内容 Ledify_Test_MTA_POC.mtar 作为传输请求“test-release-v4.5.4”(id:14097)的一部分转发到节点 testcf I 21639 2020-04-29 08:00:07.034 D64010AE5EE9E4B45299453C1393242C
TRANSPORT_REQUEST_FORWARDED 传输请求“test-release-v4.5.4”(id:14097)转发到节点“testcf”(id:3,队列条目 id:14317)I 21563 2020-04-29 08:00:06.002 9FA68DB7A9E1978D4BFBFA643A71E5F1
CONTENT_REF_FORWARDED 内容 Ledify_Test_MTA_POC.mtar 作为传输请求“test-release-v4.5.4”(id:14097)的一部分并行转发到节点 I 21561 2020-04-29 08:00:05.978 96CED85009C6067532B84AD9355B2E01
TRANSPORT_REQUEST_FORWARDED 传输请求 'test-release-v4.5.4' (id: 14097) 转发到节点 'parallel' (id: 7, queue entry id: 14241) I
sapui5 - 从 Cloud Foundry 的 Fiori Launchpad 中的 ui5 应用程序获取用户信息
正如标题所说,我正在尝试从 Cloud Foundry 的 FLP 中的应用程序中检索用户信息。
我关注了以下博客: https ://blogs.sap.com/2019/05/23/how-to-get-the-email-of-the-logged-in-user-in-cloud-foundry/
但是我的应用程序结构不同,我不知道如何使它工作。
首先,我可以将项目创建总结为这两个环节:
- https://developers.sap.com/tutorials/cp-ui5-webide-new-app.html
- https://developers.sap.com/tutorials/cp-portal-cloud-foundry-create-launchpad.html
这是我的应用程序的结构:
使用关联的 mta.yaml:
xs-security.json 文件:
approuter 文件夹中的 xs-app.json:
与放在 approuter 文件夹中的博客完全一样的 approuter-start.js。
approuter 文件夹中的 package.json 如下:
我的 xs-app.json 文件与博客中的文件不同,我认为错误来自它,但如果我坚持博客,部署将失败。使用我正在使用的那个,部署工作但没有提出请求。
任何想法?谢谢
sap-cloud-platform - mta.yaml 中是否有任何占位符表示法从 CF org 名称参数中删除空格?
我们正在使用 mta 来构建我们的应用程序,并使用 SAP Cloud SDK 管道和传输管理环境进行部署。
在 mta.yaml 中,我们使用占位符符号 ${org} 引用 org(组织)参数值。
问题是组织名称在字符之间包含空格(即示例组织名称),这会在将应用程序部署到 Cloud Foundry 期间导致错误。我们不想重命名组织名称。是否有任何其他占位符符号可以删除字符之间的空格?
我们观察到 ${default-host} 从组织名称中删除了空格,但其范围仅限于模块而不是资源。我们需要资源范围内的替代变量。
感谢有人可以在这里帮助我们解决问题。请找到 mta.yaml 的片段和错误消息。
错误消息: 服务操作失败:控制器操作失败:502 更新服务“uaa_test_app”失败:网关错误:服务代理错误:服务代理 xsuaa 失败:org.springframework.cloud.servicebroker.exception.ServiceBrokerException:更新应用程序时出错 null(错误解析 xs-security.json 数据:不一致 xs-security.json:无效的 xsappname “Test-App-Sample Org Name-test”:可能仅包含字符 'a'-'z'、'A'-'Z'、' 0'-'9'、'_'、'-'、'' 和 '/'。)
sap-cloud-platform - 使用 SAP Cloud SDK Pipeline 部署到 CF 时,Nodejs 应用程序间歇性地泄漏内存
我们正在使用 mta 来构建由多个微服务组成的应用程序。
之前我们使用 CF CLI 将微服务部署到 SAP Cloud Foundry,但最近切换到 SAP Cloud SDK Pipeline 以使用蓝绿模式进行部署。
其中一项微服务基于 Nodejs。如果我们使用 CF CLI 部署 nodejs 微服务,它只需要 2 GB 的内存分配。应用程序被部署没有任何问题。
但是,对于上述相同的应用程序,如果我们切换到 SAP Cloud SDK Pipeline 进行蓝绿部署,2 GB 并不总是足够的。由于内存不足问题,并非每次但间歇性地应用程序部署失败。我们甚至尝试将分配的内存增加到 4 GB,但由于上述问题,它仍然间歇性地失败。
我们不确定,但看起来上述内存泄漏是由于 SAP Cloud SDK Pipeline 的蓝绿部署模式造成的。
感谢有人可以在这里帮助我们解决这个内存泄漏问题。请在日志下方找到。
spring-boot - 将“程序参数”传递给 CloudFoundry 中的 cf run-task
我已经为 PCF 中的任务/作业部署了一个 Spring-boot 应用程序。我还可以使用以下命令触发 springboot 应用程序的“主要”方法。
但是我想在传入 IntelliJ IDE 时传递“程序参数”,以便我可以在 main 方法的 args 中获得该值。
期待像这样的命令,
如果您遇到此用例,请告诉我。在此先感谢!
sap-cloud-platform - 如何使用蓝绿模式在 SAP Cloud Foundry 中进行部分重新部署?
我们正在使用 mta 来构建由多个微服务组成的应用程序。使用 SAP Cloud SDK 管道( Piper Project -> cloudFoundryDeploy步骤)以蓝绿模式将 mtar 文件部署到 SAP Cloud Foundry 。
在尝试使用蓝绿策略进行部分部署时,我们遇到了以下问题。
问题:如果重新部署具有相同 ID 的 MTA,管道会创建新的 MTA 颜色(蓝色到绿色,反之亦然),并且所有具有旧颜色的应用程序都将被删除。这种方法在部分部署期间会产生问题。
例如 - 使用蓝绿部署方法,假设我们已经将 10 个微服务部署到 SAP CF 空间。修复错误后,我们只想对几个微服务进行部分重新部署。
在这种情况下,如果我们使用相同的 MTA ID 并且仅在 mta.yaml 中包含两个微服务,则管道会删除已部署到 SAP CF 的其他 8 个微服务。
我们尝试更新 MTA 版本,但没有任何区别。
由于这个问题,我们不必要地再次重新部署所有 10 个微服务,尽管只对几个微服务进行了修复。
另一方面,如果我们使用不同的 MTA ID 重新部署这两个微服务,管道会将其视为初始部署并触发与标准部署类型相同的操作。这会导致停机并违背蓝绿部署方法的目的。
感谢有人可以在这里帮助我们使用蓝绿策略解决部分部署的问题,并指导我们遵循最佳实践。
sap-cloud-platform - Cloud Foundry 中的多线程 Java 应用程序出现问题
我的 Java 应用程序有一个程序可以同时执行多个线程来完成一项任务。它在我的本地计算机上运行良好,因为它有 4 个内核和 8 个逻辑处理器,但是当我在云代工厂上部署我的应用程序时,它不允许创建超过 1 个线程。我调试后发现 Cloud Foundry JVM 只分配了 1 个 CPU,因此它不能同时运行多个线程。
我该如何解决这个问题?
我需要购买更多 CPU 还是有一种方法可以更改 JVM 配置来为 Java 应用程序设置多个 CPU。
sap-cloud-platform - 在运行时更改基于 SAP Java Buildpack 的 cf 应用程序的日志级别
按照这里的指南: https ://sap.github.io/cloud-sdk/docs/java/guides/logging-overview#logging-overview
我正在尝试使用 CF CLIcf set-env
命令在运行时更改日志级别。此命令成功执行,并且日志级别仅在我执行 acf restage srv
或cf restart srv
. srv
是我的应用程序的名称。
是否有任何替代方法我不必停止 cf 应用程序并且仍然能够在运行时更改日志级别?
node.js - 在 SAP 云平台(Web IDE)中使用 Multer 库 - cloud Foundry
我使用 multer 将用户上传的文件保存在磁盘存储中。
因此,当 SAP 云座舱中的服务实例停止时,保存在磁盘中的文件会在我们重新启动服务实例时自动删除。有没有办法将上传的文件永久存储在磁盘中。
sapui5 - 如何配置多个不同的目的地?
我想要多个目的地是否可以在云代工环境中配置? xs-app.json