

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# HTTP 動作目的地
<a name="http-action-destination"></a>

HTTP 動作目的地是 Web 服務，規則引擎可以將來自主題規則的資料路由到該服務。 AWS IoT Core 資源說明 的 Web 服務 AWS IoT。目的地資源可以由不同的規則共用。

在 AWS IoT Core 可以傳送資料到另一個 Web 服務之前，它必須確認它可以存取服務的端點。

## 概觀
<a name="http-action-destination-overview"></a>

HTTP 動作目的地是指支援確認 URL 和一或多個資料收集 URLs Web 服務。目的地資源包含 Web 服務的確認 URL。當您設定 HTTP 動作時，您可以指定應接收資料之端點的實際 URL，以及 Web 服務的確認 URL。在確認了您的目的地之後，主題規則會將 SQL 陳述式的結果傳送至 HTTPS 端點 (而非確認 URL)。

HTTP 動作目的地可以處於下列其中一種狀態：

ENABLED  
目的地已確認，且可由規則動作使用。目的地必須處於 `ENABLED` 狀態，才能在規則中使用它。您只能啟用處於 DISABLED 狀態的目的地。

DISABLED  
目的地已確認，但無法由規則動作使用。如果您想暫時防止流量傳至端點，而不必再次進行確認程序，這會很有用。您只能停用處於 ENABLED 狀態的目的地。

IN\$1PROGRESS  
正在確認目的地。

ERROR  
目的地確認逾時。

確認並啟用 HTTP 動作目的地之後，即可與帳戶中的任何規則搭配使用。

## 管理 HTTP 動作目的地
<a name="http-action-destination-managing"></a>

您可以使用下列操作來管理您的 HTTP 動作目的地。

### 建立 HTTP 動作目的地
<a name="http-action-destination-creating"></a>

您可以透過呼叫 `CreateTopicRuleDestination`操作或使用 AWS IoT 主控台來建立 HTTP 動作目的地。

建立目的地之後， 會將確認請求 AWS IoT 傳送至確認 URL。確認請求的格式如下：

```
HTTP POST {confirmationUrl}/?confirmationToken={confirmationToken}
Headers:
x-amz-rules-engine-message-type: DestinationConfirmation
x-amz-rules-engine-destination-arn:"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4"
Content-Type: application/json
Body:
{
    "arn":"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4",  
    "confirmationToken": "AYADeMXLrPrNY2wqJAKsFNn-…NBJndA",
    "enableUrl": "https://iot.us-east-1.amazonaws.com/confirmdestination/AYADeMXLrPrNY2wqJAKsFNn-…NBJndA",
    "messageType": "DestinationConfirmation"
}
```

確認請求的內容包含下列資訊：

arn  
要確認之 HTTP 動作目的地的 Amazon Resource Name (ARN)。

confirmationToken  
傳送的確認字符 AWS IoT Core。範例中的字符會被截斷。您的字符將更長。您需要此字符來使用 AWS IoT Core確認目的地。

enableUrl  
您瀏覽以確認主題規則目的地的 URL。

messageType  
訊息的類型。

### 確認 HTTP 動作目的地
<a name="http-action-destination-confirming"></a>

若要完成端點確認程序，如果您使用的是 AWS CLI，您必須在確認 URL 收到確認請求後執行下列步驟。

1. 

**確認目的地已準備好接收訊息**  
若要確認 HTTP 動作目的地已準備好接收 IoT 訊息，請在確認請求`enableUrl`中呼叫 ，或執行 `ConfirmTopicRuleDestination` API 操作並從`confirmationToken`確認請求傳遞 。

1. 

**將主題規則狀態設定為已啟用**  
確認目的地可以接收訊息後，您必須執行 `UpdateTopicRuleDestination` API 操作，將主題規則的狀態設定為 `ENABLED`。

如果您使用的是 AWS IoT 主控台，請複製 `confirmationToken` 並將其貼到 AWS IoT 主控台的目的地確認對話方塊中。然後，您可以啟用 主題規則。

### 傳送新的確認請求
<a name="trigger-confirm"></a>

若要啟動目的地的新確認訊息，請呼叫 `UpdateTopicRuleDestination`，並將主題規則目的地的狀態設為 `IN_PROGRESS`。

在傳送新的確認請求之後重複確認程序。

### 停用和刪除 HTTP 動作目的地
<a name="http-action-destination-deleting"></a>

若要停用目的地，請呼叫 `UpdateTopicRuleDestination`，並將主題規則目的地的狀態設為 `DISABLED`。處於 DISABLED 狀態的主題規則可以再次啟用，無需傳送新的確認請求。

若要刪除 HTTP 動作目的地，請呼叫 `DeleteTopicRuleDestination`。

## 憑證授權機構支援
<a name="http-action-destination-certificates"></a>

**注意**  
不支援自我簽署憑證。

 HTTP 動作目的地中的 HTTPS 端點支援[AWS 私有憑證授權單位和 Lets Encrypt 發行的憑證](https://www.amazontrust.com/repository/)。 [https://letsencrypt.org/certificates/](https://letsencrypt.org/certificates/)