我曾尝试在 NEO 环境中使用 TenantAccessor。从 TenantAccessor.getCurrentTenant().getTenantId() 生成的 TenantId 作为 GUID 返回。但是,在 NEO 中,我无法将 GUID 映射到子帐户。期望是获得子账户名称。
请让我知道子帐户和租户的含义之间的区别。
我曾尝试在 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();