Amazon EFS API - Amazon Elastic File System

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EFS API

Amazon EFS API 是基于 HTTP(RFC 2616)的网络协议。对于每个 API 调用,您都要向要管理文件系统的区域特定的 Amazon EFS API 终端节点发出 HTTP 请求。 AWS 区域 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 的身份和访问管理

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

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

API 终端节点

端点是用作 AWS Web 服务入口点的 URL。Amazon EFS 支持以下终端节点类型:

  • IPv4 端点

  • 双栈(两者 IPv4 兼有 IPv6)端点

  • FIPS 端点

当您发出请求时,您可以指定要使用的端点。如果您未指定终端节点,则默认使用该 IPv4 终端节点。要使用不同的端点类型,您必须在请求中指定。有关如何执行此操作的示例,请参阅指定端点。有关可用终端节点的表,请参阅 Amazon EFS 终端节点和配额

IPv4 端点

IPv4 端点仅支持 IPv4 流量。 IPv4 终端节点适用于所有区域。 IPv4 终端节点的格式取决于区域。

  • 对于 AWS 商业区域的 IPv4 终端节点,格式为elasticfilesystem.region.amazonaws.com

    例如,如果您指定elasticfilesystem.us-west-2.amazonaws.com为终端节点,我们会将您的请求定向到美国西部(俄勒冈)区域 (us-west-2) 终端节点。

  • 对于中国区域的 IPv4 终端节点,格式elasticfilesystem.region.amazonaws.com.rproxy.govskope.ca.cn为。

    例如,中国(北京)区域的 Amazon EFS API 终端节点elasticfilesystem---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn是。

双栈(IPv4 和 IPv6)端点

双栈端点同时支持 IPv4 和 IPv6 流量。当您向双栈终端节点发出请求时,终端节点 URL 会解析为 IPv6 或 IPv4 地址,具体取决于您的网络和客户端使用的协议。双栈终端节点的格式取决于区域。

  • 对于 AWS 商业区域中的双栈终端节点,格式为efs.aws-region.api.aws

    例如,美国西部(俄勒冈)区域 (us-west-2) 的双栈终端节点是。efs.eu-west-2.api.aws

  • 对于中国地区的双栈终端节点,格式为。efs.region.api.amazonwebservices.com.rproxy.govskope.ca.cn

    例如,中国(北京)地区的双栈终端节点是。efs---cn-north-1---api.amazonwebservices.com.rproxy.govskope.ca.cn

指定端点

以下示例说明如何使用适用于 Amazon EFS 的为美国西部(加利福尼亚北部)区域 (us-west-1) 指定终端节点。 AWS CLI

IPv4

aws efs get-rest-apis --region us-west-1 --endpoint-url https://elasticfilesystem.us-west-1.amazonaws.com

双堆栈

aws efs get-rest-apis --region us-west-1 --endpoint-url https://efs.us-west-1.api.aws

API 版本

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

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

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

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

Amazon EFS API 请求会按区域进行限制,以提高服务性能。 AWS 账户 所有 Amazon EFS API 调用,无论它们来自应用程序、还是来自亚马逊 EFS 控制台,都不得超过允许的最大 API 请求速率。 AWS CLI最大 API 请求速率可能因人而异 AWS 区域。发出的 API 请求归因于底层 AWS 账户。

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

轮询

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

重试或批处理

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

计算睡眠间隔

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