使用 HTTP 主題規則目的地 - AWS IoT Core

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

使用 HTTP 主題規則目的地

HTTP 主題規則目的地是規則引擎可以從主題規則路由資料的 Web 服務。資 AWS IoT Core 源描述的 Web 服務 AWS IoT。主題規則目標資源可以由不同的規則共用。

在 AWS IoT Core 可以將數據發送到另一個 Web 服務之前,它必須確認它可以訪問該服務的端點。

HTTP 主題規則目的地概觀

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

HTTP 主題規則目的地可以處於下列其中一種狀態:

ENABLED

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

DISABLED

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

IN_PROGRESS

正在確認目的地。

ERROR

目的地確認逾時。

在確認並啟用 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

要確認的主題規則目的地的 Amazon 資源名稱 (ARN)。

confirmationToken

由傳送的確認權杖 AWS IoT Core。範例中的字符會被截斷。您的字符將更長。您將需要此令牌來確認您的目的地 AWS IoT Core。

enableUrl

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

messageType

訊息的類型。

若要完成端點確認程序,您必須在確認 URL 收到確認請求後執行下列其中一項動作。

  • 在確認請求中呼叫 enableUrl,然後呼叫 UpdateTopicRuleDestination,將主題規則的狀態設為 ENABLED

  • 呼叫 ConfirmTopicRuleDestination 操作並從確認請求傳遞 confirmationToken

  • 複製confirmationToken並將其粘貼到 AWS IoT 控制台中的目標確認對話框中。

傳送新的確認請求

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

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

停用和刪除主題規則目的地

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

若要刪除主題規則目的地,請呼叫 DeleteTopicRuleDestination