

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

# 使用 Amazon Health API Amazon Health 与其他系统集成
<a name="health-api"></a>

Amazon Health 是一项 RESTful Web 服务，它使用 HTTPS 作为传输，使用 JSON 作为消息序列化格式。您的应用程序代码可以直接向 Amazon Health API 发送请求。在您直接使用 REST API 时，您必须编写必要的代码来对您的请求签名以及验证您的请求。有关 Amazon Health 操作和参数的更多信息，请参阅 [Amazon Health API 参考](https://docs.amazonaws.cn/health/latest/APIReference/)。

**注意**  
要使用 Amazon Health 该 API，您必须有 B Amazon usiness Support\+、En Amazon terprise Suppor [Amazon Web Services 支持](https://www.amazonaws.cn/premiumsupport/)t 或 Amazon 统一运营计划。如果您所在的计划不提供这些 Amazon Web Services 支持 计划，或者您尚未过渡到其中一个计划，则可以将 Amazon Health API 与商业、企业入口或企业支持计划一起使用。 Amazon Web Services 区域 如果您从未注册这些计划之一的用户调用 Amazon Health API，则会收到`SubscriptionRequiredException`错误消息。 Amazon Web Services 账户 

您可以使用 Amazon SDKs 来封装 Amazon Health REST API 调用，这样可以简化应用程序开发。您可以指定您的 Amazon 凭据，这些库会为您处理身份验证和请求签名。

Amazon Health 还在中提供了一个 Amazon Health 控制面板 Amazon Web Services 管理控制台 ，可用于查看和搜索事件和受影响的实体。请参阅[开始使用您的 Amazon Health 控制面板](getting-started-health-dashboard.md)。

**Topics**
+ [对 Amazon Health API 请求进行签名](#signing)
+ [为 Amazon Health API 请求选择终端节点](#endpoints)
+ [演示：以编程方式检索最近七天 Amazon Health 的事件数据](using-global-endpoints-demo.md)
+ [教程：使用 Amazon Health API 和 Java 示例](code-sample-java.md)

## 对 Amazon Health API 请求进行签名
<a name="signing"></a>

当您使用 Amazon SDKs 或 Amazon Command Line Interface (Amazon CLI) 向发出请求时 Amazon，这些工具会自动使用您在配置工具时指定的访问密钥对请求进行签名。例如，如果您在 适用于 Java 的 Amazon SDK 之前的高可用性终端节点演示中使用，则无需自己签署请求。

**Java 代码示例**  
有关如何将 Amazon Health API 与一起使用的更多示例 适用于 Java 的 Amazon SDK，请参阅此[示例代码](code-sample-java.md)。



当您提出请求时，我们强烈建议您不要使用 Amazon 根账户证书进行常规访问 Amazon Health。您可以使用 IAM 用户的凭证。有关更多信息，请参阅 *IAM 用户指南中的锁定 Amazon 账户根用户*[访问密钥](https://docs.amazonaws.cn/IAM/latest/UserGuide/best-practices.html#lock-away-credentials)。

如果您不使用 Amazon SDKs 或 Amazon CLI，则必须自己签署请求。我们建议您使用 Amazon 签名版本 4。有关更多信息，请参阅中的[签署 Amazon API 请求*Amazon Web Services 一般参考*](https://docs.amazonaws.cn/general/latest/gr/signing_aws_api_requests.html)。

## 为 Amazon Health API 请求选择终端节点
<a name="endpoints"></a>

该 Amazon Health API 遵循多区域应用程序架构多区域应用程序架构，并且在主动-被动配置中具有两个区域终端节点。为了支持主动-被动 DNS 故障转移， Amazon Health 提供了一个全局端点。您可以在全局终端节点上执行 DNS 查找，以确定活动终端节点和相应的签名 Amazon 区域。这可以帮助您知道要在代码中使用哪个端点，以便您可以从中获取最新信息 Amazon Health。

当您向全球终端节点发出请求时，必须指定您对目标区域终端节点的 Amazon 访问凭证，并为您的区域配置签名。否则，您的身份验证可能会失败。有关更多信息，请参阅 [对 Amazon Health API 请求进行签名](#signing)。

对于 IPv6仅限请求的请求，我们建议在全局终端节点上执行 DNS 查找以确定处于活动状态的请求， Amazon Web Services 区域 然后调用该区域 IPv6 支持的双栈终端节点。

下表列出了默认配置。


****  

| 说明 | 签名区域 | 端点 | 协议 | 
| --- | --- | --- | --- | 
| 活动 | cn-northwest-1 | health.cn-northwest-1.amazonaws.com.cn | HTTPS | 
| Passive | cn-north-1 | health.cn-north-1.amazonaws.com.cn | HTTPS | 
| Global | cn-northwest-1 这是当前主动端点的签名区域。  | global.health.amaws.com.cn  | HTTPS | 

要确定终端节点是否为*活动终端节点*，请在*全局终端节点* CNAME 上进行 DNS 查找，然后从解析的名称中提取 Amazon 区域。

**Example ：在全局端点上查找 DNS**  
以下命令在 global.health.amazonaws.com.cn 端点上完成 DNS 查找。然后，该命令返回 cn-northwest-1 区域端点。此输出告诉您应该使用哪个端点 Amazon Health。  

```
dig global.health.amazonaws.com.cn  | grep CNAME
global.health.amazonaws.com.cn. 10 IN CNAME health.cn-northwest-1.amazonaws.com.cn
```

**提示**  
主动端点和被动端点都返回 Amazon Health 数据。但是，最新 Amazon Health 数据只能从主动端点获得。来自被动端点的数据最终将与主动端点保持一致。我们建议您在主动端点发生变化时重新启动所有工作流程。