使用 JavaScript 或 TypeScript 创建 Blob 容器
Azure 存储中的 Blob 已组织成容器。 必须先创建容器,才能上传 Blob。 本文介绍了如何使用适用于 JavaScript 的 Azure 存储客户端库来创建容器。
先决条件
- 本文中的示例假设你已经设置了一个项目来使用适用于 JavaScript 的 Azure Blob 存储客户端库。 要了解如何设置项目(包括包安装、导入模块,以及创建授权客户端对象来使用数据资源),请参阅开始使用 Azure Blob 存储和 JavaScript。
- 授权机制必须具有创建 blob 容器的权限。 若要了解详细信息,请参阅以下 REST API 操作的授权指南:
关于容器命名
容器名称必须是有效的 DNS 名称,因为它是用于对容器或其 Blob 寻址的唯一 URI 的一部分。 为容器命名时,请遵循以下规则:
- 容器名称的长度可以是 3 到 63 个字符。
- 容器名称必须以字母或数字开头,并且只能包含小写字母、数字和短划线 (-) 字符。
- 容器名称中不允许出现连续的短划线字符。
容器资源的 URI 的格式如下:
https://my-account-name.blob.core.chinacloudapi.cn/my-container-name
创建容器
若要创建容器,请调用 BlobServiceClient 类中的以下方法:
还可以使用 ContainerClient 类中的以下任一方法创建容器:
将立即在存储帐户下创建容器。 无法将一个容器嵌套在另一个容器下。 如果已存在同名的容器,将引发异常。
以下示例以异步方式在 BlobServiceClient
对象中创建一个容器:
async function createContainer(blobServiceClient, containerName){
const containerClient = await blobServiceClient.createContainer(containerName);
return containerClient;
}
async function createContainer(
blobServiceClient: BlobServiceClient,
containerName: string
): Promise<ContainerClient> {
const {
containerClient,
containerCreateResponse
}: {
containerClient: ContainerClient;
containerCreateResponse: ContainerCreateResponse;
} = await blobServiceClient.createContainer(containerName);
if (containerCreateResponse.errorCode)
throw Error(containerCreateResponse.errorCode);
return containerClient;
}
创建根容器
根容器充当存储帐户的默认容器。 每个存储帐户只能包含一个根容器,该容器必须命名为 $root。 必须显式创建或删除根容器。
可以引用存储在根容器中的 Blob,而无需包含根容器名称。 根容器允许引用位于存储帐户层次结构顶层的 Blob。 例如,可通过以下方式引用根容器中的 blob:
https://accountname.blob.core.chinacloudapi.cn/default.html
若要创建根容器,请调用任意创建方法并将容器名称指定为 $root。
资源
若要详细了解如何使用适用于 JavaScript 的 Azure Blob 存储客户端库创建容器,请参阅以下资源。
代码示例
- 查看本文中的 JavaScript 和 TypeScript 代码示例 (GitHub)
REST API 操作
Azure SDK for JavaScript 包含基于 Azure REST API 而生成的库,允许你通过熟悉的 JavaScript 范例与 REST API 操作进行交互。 用于创建容器的客户端库方法使用以下 REST API 操作:
- 创建容器 (REST API)
客户端库资源
相关内容
- 本文是适用于 JavaScript/Typescript 的 Blob 存储开发人员指南的一部分。 要了解详细信息,请参阅构建 JavaScript/Typescript 应用中的完整开发人员指南文章列表。