使用 Amazon SDK for PHP 版本 3 来签署 Amazon OpenSearch Service 搜索请求 - Amazon SDK for PHP
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon SDK for PHP 版本 3 来签署 Amazon OpenSearch Service 搜索请求

Amazon OpenSearch Service 是一项托管服务,让用户能够轻松地部署、操作和扩展 Amazon OpenSearch Service(一个流行的开源搜索和分析引擎)。OpenSearch Service 支持直接访问 Amazon OpenSearch Service API。这意味着,开发人员可以使用他们熟悉的工具以及强大的安全选项。许多 Amazon OpenSearch Service 客户端都支持请求签名,但如果您使用的客户端不支持,则可以使用 Amazon SDK for PHP 的内置凭证提供程序和签署人对任意 PSR-7 请求签名。

以下示例演示如何:

  • 使用 SignatureV4 通过 Amazon 签名协议签署请求。

Amazon SDK for PHPGitHub 上提供了的所有示例代码。

凭证

运行示例代码之前,请配置您的 Amazon 凭证,如 凭证 中所述。然后导入 Amazon SDK for PHP,如 基本用法 中所述。

签署 OpenSearch Service 请求

OpenSearch Service 使用签名版本 4。这意味着,您需要根据服务的签名名称(在此示例中为 es)和 OpenSearch Service 域的 Amazon 区域来签署请求。在 Amazon Web Services 一般参考 中的 Amazon 区域和终端节点页面上可以找到 OpenSearch Service 支持区域的完整列表。但在此示例中,我们将针对 us-west-2 区域中的 OpenSearch Service 域来签署请求。

您需要提供凭证,可以通过 SDK 的默认凭证提供程序链或通过 Amazon SDK for PHP 版本 3 的凭证中介绍的任何形式的凭证来提供。您还将需要一个 PSR-7 请求(在下面的代码中假定名为 $psr7Request)。

// Pull credentials from the default provider chain $provider = Aws\Credentials\CredentialProvider::defaultProvider(); $credentials = call_user_func($provider)->wait(); // Create a signer with the service's signing name and Region $signer = new Aws\Signature\SignatureV4('es', 'us-west-2'); // Sign your request $signedRequest = $signer->signRequest($psr7Request, $credentials);