# 受管空间中应用程序的数据源

受管空间提供对 Qlik Cloud 分析 内应用程序的受管理访问。发布到 托管空间 的应用程序保留在 应用程序 中加载的数据，但不包括其数据文件或数据连接。这样就可以在应用程序开发中使用模拟数据，当发布应用程序时，这些数据将被替换为真实数据，而不需要更改 加载脚本。

信息注释受管空间在 Qlik Cloud Analytics 入门版 或 Qlik Sense Business 中不可用。

应用程序在发布到托管空间时不包括其数据源。但是，应用程序加载脚本保持不变。通过在加载脚本中使用支持空间的数据源，在将应用程序添加到托管空间时，可以将个人或共享空间中的开发数据源替换为最终数据源。这有助于在托管空间中对应用程序及其用户进行严格的数据管理。

使用空间感知数据源语法，可以在加载脚本中指定数据源存在于当前空间中，而不是存在于特定空间中。应用程序将始终在当前空间中查找数据源。通过使用具有相同名称的模拟数据集和真实数据集，发布的应用程序可以无缝地切换到最终的数据源。

## 空间感知数据源语法示例

本示例从当前空间加载 orders.csv。如果应用程序被移动到另一个空间，例如，它将使用新空间中的文件 orders.csv。

```
LOAD * FROM [lib://:DataFiles/orders.csv];
```

此示例从当前空间中的 DataSource 数据连接加载表格 Sales\_data。

```
LIB CONNECT TO ':DataSource';
LOAD *;
SQL SELECT * FROM `Sales_data`;
```

有关使用空间感知数据源的更多信息，请参阅：

* [连接到加载脚本中的数据源](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/connect-data-sources-data-load-editor.htm)
* [从上传的数据文件添加数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/adding-data-datafiles.htm)
* [从文件中加载数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataSource/load-data-from-files.htm)

## 受治理应用程序和数据的最佳实践工作流

以下是受管空间中受治理应用程序和数据源的最佳实践工作流的示例。

创建的模拟数据源与将在托管空间中使用的真实数据源具有相同的名称。这些模拟数据源被添加到共享空间中，应用程序开发人员在该空间中拥有可管理、可编辑或可在应用程序中编辑数据权限。开发人员在加载脚本中引用这些数据源，以便加载脚本在当前空间中查找数据源。当应用程序准备就绪时，应用程序将发布到受管空间，受管空间管理员将在其中添加真实的数据源。由此将使用敏感数据填充应用程序，同时防止应用程序开发人员看到任何敏感信息。

此工作流涉及三个主要用户：

* 租户管理员：租户管理员创建托管空间，然后为托管空间分配用户和角色。
* 受管制数据管理员：负责敏感数据访问管理并管理托管空间的用户
* 开发人员：正在为托管空间开发应用程序并将其发布到空间的用户。

信息注释分析管理员和具有 Managed Space Creator 角色的用户也可以创建托管空间。

该工作流分四个步骤进行：

1. 创建空间。
2. 添加模拟数据并开发应用程序。
3. 将应用程序发布到包含真实数据的托管空间。
4. 将应用程序使用者添加至托管空间。

### 创建托管和共享空间

首先，创建空间，然后将用户添加至其中。

执行以下操作：

1. 租户管理员创建一个受管空间 Secure Apps，作为已发布受治理应用程序的目的地。

2. 租户管理员向 Secure Apps 添加两个成员：

   * 通过 可以发布 权限添加了主要应用程序开发人员 Developer。
   * 受治理应用程序的所有者 Governed Manager 被设置为空间所有者。

3. Developer 为受治理应用程序的开发创建 Develop Apps 共享空间。可选择性通过可编辑和可以编辑应用程序中的数据角色添加其他开发人员。

### 使用模拟数据开发应用程序

接下来，添加模拟数据并开发应用程序。

执行以下操作：

1. Developer 将模拟测试数据添加至 Develop Apps 空间。此数据可以一次性使用，也可以在连续部署场景中使用。

   通过添加应用程序，然后将数据源添加到应用程序，可以使数据对空间可用。将数据源添加到空间中的应用程序后，空间中所有具有可编辑和可编辑应用程序中的数据角色的用户都可以使用它。

   信息注释具有可使用数据权限的用户也可以查看数据源，并且可以在有权创建应用程序的地方使用数据。他们不能添加、编辑或删除数据源。他们没有查看、添加、编辑或删除应用程序的权限。

2. Developer 在 Develop Apps 空间中开发应用程序。这些应用程序使用空间感知脚本始终在当前空间中查找数据源。

   有关数据加载编辑器中的空间感知连接语法，请参阅[连接到加载脚本中的数据源](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/connect-data-sources-data-load-editor.htm)。

   如果 Developer 使用数据管理器，它们解锁加载脚本以编辑和更新数据源引用，以使用空间感知连接语法。

### 发布应用程序并添加最终数据

将应用程序发布至托管空间。实际的数据源被添加到托管空间。

执行以下操作：

1. 在应用程序准备好发布时，Governed Manager 将生产数据添加至 Secure Apps 空间。
2. Developer 将应用程序从 Develop Apps 发布至 Secure Apps。
3. Governed Manager 安排应用程序的重新加载，并确认应用程序可以无错误地重新加载数据。

### 将应用程序使用者添加至托管空间

最后，将应用程序使用者添加到托管空间。

执行以下操作：

1. Governed Manager 将可以查看成员添加至 Secure Apps 受管空间。这些用户将能够打开和创建私人书签、快照和故事。
2. Governed Manager 将可以贡献成员添加至 Secure Apps 受管空间。这些用户将能够额外创建社区工作表、故事和书签，并在发布的应用程序中发布社区工作表。