Amazon EFS API - Amazon Elastic File System
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon EFS API

Amazon EFS API 是基于 HTTP (RFC 2616) 的网络协议。对于每个 API 调用,您针对要在其中管理文件系统的 AWS 区域,向特定于区域的 Amazon EFS API 终端节点发出 HTTP 请求。API 会对 HTTP 请求/响应正文使用 JSON (RFC 4627) 文档。

Amazon EFS API 是一种 RPC 模型。在该模型中具有一套固定的操作,客户端已知每个操作的语法,而无需事先进行任何交互。在以下部分中,您可以找到使用抽象 RPC 表示法描述每个 API 操作的信息。不会在线显示每个操作的名称。对于每个操作,该主题指定了指向 HTTP 请求要素的映射。

给定请求映射到的特定 Amazon EFS 操作由请求的方法 (GET、PUT、POST 或 DELETE) 和其请求 URI 所匹配的模式共同确定。如果操作为 PUT 或 POST,则 Amazon EFS 将从请求正文内的请求 URI 路径段、查询参数和 JSON 对象中提取调用自变量。

注意

虽然不会在线显示操作名称(如 CreateFileSystem),但这些名称在 AWS Identity and Access Management (IAM) 策略中是有意义的。有关更多信息,请参阅适用于 Amazon EFS 的 Identity and Access Management

操作名称还可用于为命令行工具中的命令和 AWS SDK API 的元素命名。例如,名为 create-file-system 的 AWS CLI 命令映射到 CreateFileSystem 操作。

操作名称还会显示在 Amazon EFS API 调用的 AWS CloudTrail 日志中。

API 终端节点

API 终端节点是在 API 调用的 HTTP URI 中用作主机的 DNS 名称。这些 API 终端节点是 AWS 区域特有的,并采用以下形式。

elasticfilesystem.aws-region.amazonaws.com

例如,美国西部(俄勒冈)区域的 Amazon EFS API 终端节点如下所示。

elasticfilesystem.us-west-2.amazonaws.com

有关 Amazon EFS 支持的 AWS 区域(可在其中创建和管理文件系统)的列表,请参阅 AWS General Reference 中的 Amazon Elastic File System

特定于区域的 API 终端节点定义在执行 API 调用时可访问的 Amazon EFS 资源的范围。例如,当使用上述终端节点调用 DescribeFileSystems 操作时,您将获得已在您的账户中创建的位于美国西部(俄勒冈)区域的文件系统列表。

API 版本

用于调用的 API 版本是由请求 URI 的第一个路径分段确定的,并且其格式为 ISO 8601 日期。有关示例请查看 CreateFileSystem

本文档中所描述的版本为 API 版本 2015-02-01。

以下各节描述了 API 操作,以及如何创建签名以便进行请求身份验证和如何使用 IAM 策略为这些 API 操作授权。

使用 Amazon EFS 的查询 API 请求速率

将针对每个区域限制每个 AWS 账户的 Amazon EFS API 请求以帮助提高服务性能。无论是来自于应用程序、AWS CLI 还是 Amazon EFS 控制台,所有 Amazon EFS API 调用都不能超过允许的最大 API 请求速率。对于不同的 AWS 区域,最大 API 请求速率可能会有所不同。AWS Identity and Access Management (IAM) 用户发出的 API 请求受基础 AWS 账户的限制。

如果 API 请求超过其类别的 API 请求速率,请求将返回 ThrottlingException 错误代码。为防止出现该错误,请确保您的应用程序不会在高速率下重试 API 请求。您可以执行该操作,但前提是在轮询时格外小心并使用指数回退重试。

轮询

您的应用程序可能需要反复调用 API 操作以检查状态更新。在开始轮询之前,请为请求留出完成所需的估算时间。在开始轮询时,请在连续的请求之间添加相应的睡眠间隔。为了获得最佳的效果,请使用递增的睡眠间隔。

重试或批处理

您的应用程序可能需要在失败后重试 API 请求或处理多个资源(例如,所有 Amazon EFS 文件系统)。要降低 API 请求的速率,请在连续的请求之间添加相应的睡眠间隔。为了获得最佳的效果,请使用递增或可变的睡眠间隔。

计算睡眠间隔

在需要轮询或重试 API 请求时,我们建议您使用指数回退算法计算 API 调用之间的睡眠间隔。指数退避的原理是对于连续错误响应,重试等待间隔越来越长。有关更多信息和该算法的实施示例,请参阅 Amazon Web Services 一般参考 中的 AWS 中的错误重试和指数回退