你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快照共享 (Snapshot Share)

从版本 2017-04-17 开始,该 Snapshot Share 操作将创建共享的只读快照。

协议可用性

已启用文件共享协议 可用 状态
SMB 是 GA
NFS 是 GA

请求

可以按如下所示构造 Snapshot Share 请求。 建议使用 HTTPS。

方法 请求 URI HTTP 版本
PUT https://myaccount.file.core.windows.net/myshare?restype=share&comp=snapshot HTTP/1.1

将请求 URI 中所示的路径组件替换为你自己的组件,如下所示:

路径组件 说明
myaccount 存储帐户的名称。
myshare 文件共享的名称。

有关路径命名限制的详细信息,请参阅 命名和引用共享、目录、文件和元数据

URI 参数

可以在请求 URI 上指定以下附加参数。

参数 说明
timeout 可选。 timeout 参数以秒表示。 有关详细信息,请参阅 设置 Azure 文件存储操作的超时

请求标头

下表介绍必需的和可选的请求标头。

请求标头 说明
Authorization 必需。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅授权对 Azure 存储的请求
Datex-ms-date 必需。 为请求指定协调世界时 (UTC) 时间。 有关详细信息,请参阅授权对 Azure 存储的请求
x-ms-version 对于所有已授权的请求是必需的。 指定用于此请求的操作的版本。 有关详细信息,请参阅 Azure 存储服务的版本控制
x-ms-meta-name:value 可选。 指定与共享快照关联的用户定义的名称/值对。 如果未指定任何名称/值对,操作会将基本共享元数据复制到快照。
如果指定一个或多个名称/值对,则使用指定的元数据创建共享快照。 在这种情况下,不会从基本共享复制元数据。
元数据名称必须遵循 C# 标识符的命名规则。
x-ms-client-request-id 可选。 提供客户端生成的不透明值, (KiB) 配置日志记录时记录在日志中的字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 Azure Blob 存储

请求正文

无。

示例请求

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare?restype=share&comp=snapshot HTTP/1.1

Request Headers:
x-ms-version: 2017-04-17
x-ms-date: Mon, 10 May 2017 22:50:32 GMT
x-ms-meta-Name: StorageSample
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=

响应

响应包括 HTTP 状态代码和一组响应标头。

状态代码

此操作成功后返回状态代码 201(已创建)。 有关状态代码的信息,请参阅 状态和错误代码

响应头

此操作的响应包括以下标头。 响应还可以包含其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范

响应标头 说明
ETag 包含一个值,该值表示共享快照的版本(以引号表示)。

无法修改共享快照,因此 ETag 特定共享快照的 永远不会更改。 但是,如果随 Snapshot Share 请求提供了新的元数据,则 ETag 共享快照的 与基本共享的 快照不同。 如果未使用请求指定任何元数据, ETag 则创建共享快照时共享快照的 与基本共享的相同。
Last-Modified 返回上次修改共享的日期和时间。 有关详细信息,请参阅 标头中日期时间值的表示形式

无法修改共享快照,因此特定共享快照的上次修改时间永远不会更改。 但是,如果随 Snapshot Share 请求提供了新的元数据,则共享快照的上次修改时间与基本共享的修改时间不同。 如果未使用请求指定任何元数据,则共享快照的上次修改时间与创建共享快照时的基本共享的修改时间相同。
x-ms-request-id 唯一标识发出的请求,可用于对请求进行故障排除。 有关详细信息,请参阅 API 操作疑难解答
x-ms-version 指示用于运行请求的 Azure 文件版本。
Datex-ms-date 一个 UTC 日期/时间值,该值指示启动响应的时间。 服务生成此值。
x-ms-snapshot 一个 DateTime 唯一标识共享快照的值。 可以在后续请求中使用此标头的值来访问共享快照。 此值不透明。
x-ms-client-request-id 可用于对请求和相应响应进行故障排除。 如果请求中存在此标头的值,则此标头的值等于该标头的值 x-ms-client-request-id 。 该值最多为 1,024 个可见 ASCII 字符。 x-ms-client-request-id如果请求中不存在标头,则它不会出现在响应中。

响应正文

无。

示例响应

Response Status:
HTTP/1.1 201 Created

Response Headers:
Content-Length: 0
Date: Mon, 10 May 2017 23:00:12 GMT
ETag: "0x8CB14C3E29B7E82"
Last-Modified: Mon, 10 May 2017 23:00:06 GMT
x-ms-version: 2017-04-17
x-ms-snapshot: 2017-05-10T17:52:33.9551861Z
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0

授权

只有帐户所有者才能调用此操作。

注解

共享快照提供共享的只读版本。 创建共享快照后,无法对其进行修改。 共享快照为共享上的所有文件创建一致备份提供了一种便捷的方法。

每次调用 Snapshot Share 操作时,都会创建一个新的共享快照,其中包含一个唯 DateTime 一值,该值标识相对于其基本共享的共享快照。 可以使用此值 DateTime 对共享快照及其内容执行进一步操作。 应将此值 DateTime 视为不透明值。

DateTime 标识请求 URI 上的共享快照。 例如,基本共享上的文件及其快照的 URI 类似于以下示例:

  • 共享上的文件: http://myaccount.file.core.windows.net/myshare/myfile
  • 共享快照上的文件: http://myaccount.file.core.windows.net/myshare/myfile?sharesnapshot=<DateTime>

共享可以支持创建 200 个共享快照。 如果尝试创建超过 200 个共享快照,该服务将返回错误代码 409 (冲突) 。 如果在上 Snapshot Share 一个操作正在进行时尝试创建共享快照,该服务还会返回错误代码 409 (冲突) 。

永远不会覆盖现有共享快照。 必须显式删除它们。 若要显式删除共享快照,请调用 Delete Share 并将 x-ms-include-snapshots 标头以及 sharesnapshot 查询参数设置为适当的值。

可以使用快照虚拟目录 (.snapshot) (通常位于共享装入点的根目录)在 NFS 客户端上查看 NFS 共享快照。 可以通过在设置共享属性 API 中将x-ms-enable-snapshot-virtual-directory-access标头设置为 false 来禁用对此目录的访问。 还可以在创建共享时将此标头设置为 创建共享 操作的一部分。