s4sdk - NEO 中的租户访问器
问题描述
我曾尝试在 NEO 环境中使用 TenantAccessor。从 TenantAccessor.getCurrentTenant().getTenantId() 生成的 TenantId 作为 GUID 返回。但是,在 NEO 中,我无法将 GUID 映射到子帐户。期望是获得子账户名称。
请让我知道子帐户和租户的含义之间的区别。
解决方案
依赖帐户名称的问题在于,截至今天,SAP Cloud Platform Neo 上的帐户名称的唯一性没有明确的合同。虽然租户标识符和帐户名称之间的关系通常是 1:1 的关系,但由于历史原因不能保证强制执行。因此,Neo 提供了除了帐户名称之外的唯一租户标识符。
如果您仍然需要在 SAP Cloud Platform Neo 上获取帐户名称,您可以通过TenantContext
Neo 可用的方法来检索它:
Tenant currentTenant = TenantAccessor.getCurrentTenant();
// assert that we are running on SAP Cloud Platform Neo
if( !(currentTenant instanceof ScpNeoTenant) ) {
throw new RuntimeException("Unexpected SAP Cloud Platform environment.");
}
// get the Neo-specific TenantContext
TenantContext tenantContext = ((ScpNeoTenant)currentTenant).getTenantContext();
String accountName = tenantContext.getTenant().getAccount().getName();
推荐阅读
- java - 检查是否安装了 Android 应用程序在第二次检查时返回错误
- c++ - 使用启动指针 START 计算列表中奇数元素的函数
- javascript - 提交答案后使用按钮 onclick 提供反馈
- amazon-web-services - ELB 后面的 EKS 节点已停止服务
- batch-file - windows上的tasklist有没有办法读取set生成的变量?
- tcp - Is it possible to load balance MQTT traffic with Traefik 2.0 TCP feature?
- php - 如何修复“Laravel 中间件清除请求标头”
- python-3.x - 如何调整 .mhd 文件的查看窗口以更好地查看医学图像?
- typescript - TypeScript Lerna/MonoRepo Webpack 开发速度/优化
- c# - 你能把这 2 个 IfElse 语句转换为 1