我试图在NEO环境中使用TenantAccessor。 TenantAccessor.getCurrentTenant()。getTenantId()生成的TenantId作为GUID返回。但是,在NEO中,我无法将GUID映射到子帐户。期望是获得子帐户名称。
请让我知道子帐户和租户之间的区别。
答案 0 :(得分:8)
依赖帐户名称的问题在于 - 截至今天 - 没有关于SAP Cloud Platform Neo上帐户名称唯一性的明确合同。虽然租户标识符与帐户名称之间的关系通常为1:1关系,但不保证由于历史原因而强制执行此关系。因此,除帐户名称外,Neo还提供唯一的租户标识符。
如果您仍需要在SAP Cloud Platform Neo上获取帐户名称,则可以通过适用于Neo的TenantContext
检索帐户:
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();