本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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
-
訊息的類型。
確認 HTTP 主題規則目的地
若要完成端點確認程序,如果您使用的是 AWS CLI,您必須在確認 URL 收到確認要求後執行下列步驟。
-
確認目的地願意接收訊息
若要確認主題規則目標是否願意接收 IoT 訊息,請
enableUrl
在確認要求中呼叫,或執行ConfirmTopicRuleDestination
API 作業並confirmationToken
從確認要求傳遞。 -
將主題規則狀態設定為已啟用
確認目的地可以接收訊息之後,您必須執行
UpdateTopicRuleDestination
API 作業,將主題規則的狀態設定為ENABLED
。
如果您使用的是 AWS IoT 主機,請複製confirmationToken
並貼到主控 AWS IoT 台的目的地確認對話方塊中。然後,您可以啟用主題規則。
傳送新的確認請求
若要啟動目的地的新確認訊息,請呼叫 UpdateTopicRuleDestination
,並將主題規則目的地的狀態設為 IN_PROGRESS
。
在傳送新的確認請求之後重複確認程序。
停用和刪除主題規則目的地
若要停用目的地,請呼叫 UpdateTopicRuleDestination
,並將主題規則目的地的狀態設為 DISABLED
。處於 DISABLED 狀態的主題規則可以再次啟用,無需傳送新的確認請求。
若要刪除主題規則目的地,請呼叫 DeleteTopicRuleDestination
。