创建和管理容器

适用于: 开发人员版

在创建、注册和授权容器类型后创建和管理容器。 容器是 SharePoint Embedded 中的基本存储单元。

完成 在调用容器 API 之前 配置身份验证和授权

了解容器

所有 SharePoint Embedded 文件和文档都存储在容器中。

容器:

  • 属于正在消费的 Microsoft 365 租户。
  • 具有不可变容器类型 ID。
  • 存储应用程序的内容。
  • 定义成员资格和权限的边界。
  • 可通过 Microsoft Graph 访问。

有关体系结构概述,请参阅 SharePoint Embedded 应用体系结构

了解生命周期

典型的容器生命周期包括:

  1. 创建容器。
  2. 添加或确认成员。
  3. 上传和管理文件。
  4. 读取或更新容器元数据。
  5. 在容器不再处于活动状态时回收它。
  6. 在需要时还原回收的容器。
  7. 在清理过程中永久删除容器。

继续上传 、下载和管理文件 以进行内容操作。

先决条件

在创建容器之前,请确保:

  • 容器类型存在。
  • 容器类型在使用租户中注册。
  • 该应用已获得 Microsoft Graph FileStorageContainer.Selected 许可。
  • 应用具有该操作的容器类型权限。
  • 应用以机密客户端的形式获取其令牌,因为容器创建需要它。
  • 对于委派调用,登录用户可以接收所需的容器角色。
  • 对于试用容器类型,处于试用限制内。

重要

试用容器类型最多可创建 5 个容器,包括活动容器和回收站中的容器。

使用机密客户端创建容器

创建容器需要 机密 客户端应用程序。 机密客户端持有凭据(如客户端密码或证书),并从使该凭据保密的组件(如 Web 应用后端或服务)获取令牌。

创建使用 公共客户端 应用程序中的令牌的容器调用失败,因为最终用户可以访问公共客户端令牌,并且可以在应用程序不知情的情况下重复使用。 公共客户端包括单页应用、移动应用和桌面应用。

此要求适用于委派创建和仅应用创建:

  • 对于委派创建,请使用授权代码流和客户端凭据获取令牌,然后从后端调用 Microsoft Graph。
  • 对于仅创建应用,请使用客户端凭据流获取令牌,这始终是机密的。

如果应用具有公共客户端前端,请通过机密后端服务路由容器创建,而不是从客户端调用 Microsoft Graph。

有关详细信息,请参阅 公共客户端和机密客户端应用程序

选择委派或仅应用创建

当用户启动创建时使用委派访问权限,用户应承担责任,或者创建用户应成为容器所有者。

当服务预配容器、没有用户存在且应用有权创建容器时,请使用仅应用访问。

注意

通过委派调用创建新容器的用户会自动分配所有者角色。

创建容器

使用 Microsoft Graph 为已注册的容器类型创建文件存储容器。

有关规范 API 形状,请参阅 创建 fileStorageContainer

实现步骤:

  1. 从机密客户端获取有效的 Microsoft Graph 令牌。
  2. 包括 API 所需的目标容器类型信息。
  3. 发送创建请求。
  4. 存储返回的容器 ID。
  5. 存储应用所需的显示元数据。
  6. 分配或确认委派方案的成员身份。

提示

将容器 ID 存储在应用程序数据库中,作为业务对象与 SharePoint Embedded 容器之间的持久链接。

在 Visual Studio Code 中创建容器

对于试用开发,Visual Studio Code 扩展可以创建容器。

  1. 打开 SharePoint 内嵌视图。
  2. 展开注册的试用容器类型。
  3. 右键单击 “容器”
  4. 选择“ 创建容器”。
  5. 输入名称。
  6. 确认容器显示在容器类型下。

有关扩展流,请参阅 快速入门:使用 VS Code 生成第一个应用

列出容器

列出容器以显示可用容器、验证预配或运行维护。

有关规范 API 形状,请参阅 列表容器

列出容器时:

  • 对服务清单方案使用仅应用访问。
  • 仅当用户上下文合适时才使用委派访问权限。
  • 处理分页。
  • 将结果映射到应用程序数据。

注意

如果用户没有 OneDrive,则委派列表容器当前会返回 403 Forbidden 。 此依赖项不适用于仅限应用的列表调用。

获取容器

在采取行动前需要最新的元数据时获取容器。

使用此操作确认容器是否存在、读取显示属性、验证容器类型、在文件操作前检查状态,以及确认还原。

将实现链接到 fileStorageContainer 资源类型

更新容器元数据

支持属性更改时更新元数据。

更新前:

  1. 确认应用具有容器类型 Write 权限。
  2. 确认委派用户具有适当的角色。
  3. 读取当前容器状态。
  4. 仅应用预期的更改。
  5. 验证响应。

删除或回收容器

回收或删除容器(当容器不再处于活动状态时)。

删除前:

  • 确认调用方具有权限。
  • 确认应用已存档业务引用。
  • 决定是否应首先回收容器。
  • 告诉用户如何恢复回收的容器。

Visual Studio Code 扩展包括用于试用开发的回收和恢复功能。

还原回收的容器

还原流应该:

  1. 识别回收的容器。
  2. 确认调用方具有权限。
  3. 还原容器。
  4. 刷新应用程序状态。
  5. 确认文件和元数据可用。
  6. 通知用户。

重要

对于试用容器类型,回收站中的容器仍计入 5 个容器的限制。

永久删除容器

仅当确定不再需要容器时才永久删除。

在删除容器类型本身之前,必须删除容器类型的所有容器,包括已删除的容器。

使用永久删除进行试用清理、测试数据删除、停用容器类型或满足生命周期要求。

验证生命周期操作

创建冒烟测试:

  1. 创建测试容器。
  2. 按 ID 检索。
  3. 列出容器并确认其显示。
  4. 更新支持的元数据值。
  5. 上传一个小文件。
  6. 回收或删除容器。
  7. 如果支持,请还原它。
  8. 在清理过程中将其永久删除。

生命周期问题疑难解答

症状 支票
创建失败 注册和 Create 权限。
通过浏览器、移动设备或桌面应用创建失败 令牌来自公共客户端。 请改为从机密客户端获取它。
委派创建失败 用户同意、机密客户端令牌获取和角色分配行为。
委派用户列表失败 身份验证文章中注明的 OneDrive 依赖项。
删除失败 Delete 权限和用户所有者角色。
试用创建失败 活性加回收容器可能已达到限制。
容器类型删除失败 必须首先删除所有处于活动状态的和已删除的容器。

后续步骤

上传、下载和管理文件中添加文件操作。