HTTP 動作目的地 - AWS IoT Core

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

HTTP 動作目的地

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

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

概觀

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

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

ENABLED

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

DISABLED

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

IN_PROGRESS

正在確認目的地。

ERROR

目的地確認逾時。

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

管理 HTTP 動作目的地

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

建立 HTTP 動作目的地

您可以透過呼叫 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 動作目的地

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

  1. 確認目的地已準備好接收訊息

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

  2. 將主題規則狀態設定為已啟用

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

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

傳送新的確認請求

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

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

停用和刪除 HTTP 動作目的地

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

若要刪除 HTTP 動作目的地,請呼叫 DeleteTopicRuleDestination

憑證授權機構支援

注意

不支援自我簽署憑證。

HTTP 動作目的地中的 HTTPS 端點支援AWS 私有憑證授權單位和 Lets Encrypt 發行的憑證https://letsencrypt.org/certificates/