跳转至

通过 S3 访问 Asset

本教程演示如何 S3 访问 Asset。

准备工作

创建 S3 凭证

在 Asset Hub 控制台进入 Asset 详情页面,点击 S3 凭证可以查看目前已有的所有 S3 凭证。然后点击表格右上角的 + 创建一个 S3 凭证:

s3-cred-list

填写名称 s3-rw,选择类型为可读/可写,最后点击创建

s3-cred-create

查看 S3 凭证

创建完成后,点击表格左上角的可读/可写,查看所有类型为可读/可写的 S3 凭证:

s3-cred-list-rw

点击刚刚创建的 S3 凭证 s3-rw,查看其详情:

s3-cred-detail

S3 凭证有三种格式:

  1. .s3cfg:命令行工具 s3cmd 的配置文件。
  2. S3-cfg Secret:在项目中创建此 Secret,用于在创建 Notebook、Job、Workflow 等工作负载时挂载此 Secret。
  3. S3-env Secret:在项目中创建此 Secret,用于在创建 Notebook、Job、Workflow 等工作负载时挂载此 Secret。

通过 s3cmd 访问 Asset

点击右侧的复制,复制 .s3cfg 格式的 S3 凭证,保存在 $HOME/.s3cfg 文件中,即可通过 s3cmd 命令行工具访问此 Asset 中的文件。

如何安装 s3cmd 命令行工具?

根据操作系统的不同,分别通过以下命令安装 s3cmd 命令行工具:

# macOS
brew install s3cmd

# Linux
apt install s3cmd

# Windows
pip install s3cmd

例如,在上述示例中,所创建的 S3 凭证 s3-rw 仅可用于访问名为 stable-diffusion-2-1 的 Asset。根据页面上的提示,此 Asset 对应的 bucket 名称为 baa98ded-2f93-4e9b-835a-6515a63a6eb4,您可以通过以下命令查看此 Asset 的 main 分支的 README.md 文件:

s3cmd ls s3://baa98ded-2f93-4e9b-835a-6515a63a6eb4/main/README.md

通过以下命令下载此 Asset 的某个分支下某个路径的文件:

s3cmd get s3://baa98ded-2f93-4e9b-835a-6515a63a6eb4/branch-name/path/to/object

通过 StorageShim 访问 Asset

除了通过命令行工具访问,您还可以创建一个 StorageShim,将 S3 bucket 的某个子路径形式化为一个持久卷,以便在 Notebook、Job、Workflow 等工作负载中挂载,直接以文件系统的形式查看、编辑 S3 bucket 中的文件。

在创建 StorageShim 之前,您首先需要创建一个 Secret 保存 S3 bucket 的相关信息。在 S3 凭证的详情页面,点击左侧的 S3-cfg Secret 标签,然后点击右上角的复制

s3-cred-detail-s3-cfg-secret

在模型构建控制台的左侧导航栏中点击辅助 > Secret 进入 Secret 管理页面,然后点击右上角的创建进入 Secret 创建页面:

secret-list

在 Secret 创建页面,将所复制的 S3-cfg Secret 粘贴到右侧的 YAML 编辑框中,左侧表格会自动解析出各个字段,最后点击创建 Secret

secret-create

在模型构建控制台的左侧导航栏中点击存储 > 持久卷进入持久卷管理页面,然后点击上方的 S3 进入 S3 类型的持久卷管理页面,最后点击右上角的创建进入 StorageShim 创建页面:

storageshim-list

在 StorageShim 创建页面,

  1. 名称填写 stable-diffusion-2-1
  2. S3 URI 填写 s3://baa98ded-2f93-4e9b-835a-6515a63a6eb4/main,以便把上述示例 Asset 的 main 分支挂载为持久卷;
  3. S3 Secret 选择刚刚创建的 s3-rw

最后点击创建 StorageShim

storageshim-create

StorageShim 创建完成后,等待其阶段变为 Bound,您即可通过以下方式使用这个名为 stable-diffusion-2-1 的持久卷:

  1. 点击启动,创建一个 Explorer 来浏览持久卷中的文件。
  2. 在创建 Notebook 时,添加持久卷 stable-diffusion-2-1,以便在 Notebook 中查看和编辑此 Asset 中的文件。
  3. 在创建 Job 时,添加持久卷 stable-diffusion-2-1,以便在 Job 中使用此 Asset 中的文件。
storageshim-list-after-create