事件訊息 - AWS IoT Core

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

事件訊息

本節包含更新或變更物件或工作 AWS IoT 時所發佈之郵件的相關資訊。如需有關可讓您建立偵測器以監視裝置故障或作業變更的 AWS IoT Events 服務,以及在動作發生時觸發動作的相關資訊,請參閱AWS IoT Events

如何產生事件訊息

AWS IoT 發生特定事件時,會發佈事件訊息。例如,在新增、更新或刪除事物時,由登錄檔產生的事件。每個事件都會觸發傳送一則事件訊息。事件訊息會透過具 JSON 承載的 MQTT 發佈。承載內容取決於事件的類型。

注意

事件訊息保證會發佈一次。事件訊息也有可能發佈超過一次。事件訊息的順序無法保證。

接收事件訊息的政策

若要接收事件訊息,您的裝置必須使用適當的政策,以允許裝置連線至 AWS IoT 裝置閘道並訂閱 MQTT 事件主題。您也必須訂閱合適的主題篩選條件。

以下為接收生命週期事件所需的政策範例:

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "iot:Subscribe", "iot:Receive" ], "Resource":[ "arn:aws:iot:region:account:/$aws/events/*" ] }] }

啟用事件 AWS IoT

在保留主題的訂閱者可以接收訊息之前,您必須從或使用 API AWS Management Console 或 CLI 啟用事件訊息。如需不同選項管理之事件訊息的相關資訊,請參閱AWS IoT 事件組態設定表格

  • 若要啟用事件訊息,請移至 AWS IoT 主控台的 [設定] 索引標籤,然後在 [事件型訊息] 區段中選擇 [管理事件]。您可以指定要管理的事件。

  • 若要控制使用 API 或 CLI 發佈哪些事件類型,請呼叫UpdateEvent設定 API 或使用 update-event-configurations CLI 命令。例如:

    aws iot update-event-configurations --event-configurations "{\"THING\":{\"Enabled\": true}}"
注意

所有引號 (") 都會與反斜線 (\) 一起逸出。

您可以呼叫設定 API 或使用 describe-event-configurations CLI 命令來取得目前的事件組態。DescribeEvent例如:

aws iot describe-event-configurations

AWS IoT 事件組態設定資料表

事件類別

(AWS IoT 控制台:設置:基於事件的消息)

eventConfigurations 金鑰值

(AWS CLI/API)

事件訊息主題

(只能使用 AWS CLI/API 進行設定)

CA_CERTIFICATE

$aws/events/certificates/registered/caCertificateId

(只能使用 AWS CLI/API 進行設定)

CERTIFICATE

$aws/events/presence/connected/clientId

(只能使用 AWS CLI/API 進行設定)

CERTIFICATE

$aws/events/presence/disconnected/clientId

(只能使用 AWS CLI/API 進行設定)

CERTIFICATE

$aws/events/subscriptions/subscribed/clientId

(只能使用 AWS CLI/API 進行設定)

CERTIFICATE

$aws/events/subscriptions/unsubscribed/clientId

任務完成,取消

JOB

$aws/events/job/jobID/canceled

任務完成,取消

JOB

$aws/events/job/jobID/cancellation_in_progress

任務完成,取消

JOB

$aws/events/job/jobID/completed

任務完成,取消

JOB

$aws/events/job/jobID/deleted

任務完成,取消

JOB

$aws/events/job/jobID/deletion_in_progress

任務執行:成功、失敗、拒絕、取消、移除

JOB_EXECUTION

$aws/events/jobExecution/jobID/canceled

任務執行:成功、失敗、拒絕、取消、移除

JOB_EXECUTION

$aws/events/jobExecution/jobID/deleted

任務執行:成功、失敗、拒絕、取消、移除

JOB_EXECUTION

$aws/events/jobExecution/jobID/failed

任務執行:成功、失敗、拒絕、取消、移除

JOB_EXECUTION

$aws/events/jobExecution/jobID/rejected

任務執行:成功、失敗、拒絕、取消、移除

JOB_EXECUTION

$aws/events/jobExecution/jobID/removed

任務執行:成功、失敗、拒絕、取消、移除

JOB_EXECUTION

$aws/events/jobExecution/jobID/succeeded

任務執行:成功、失敗、拒絕、取消、移除

JOB_EXECUTION

$aws/events/jobExecution/jobID/timed_out

物件:建立,更新,刪除

THING

$aws/events/thing/thingName/created

物件:建立,更新,刪除

THING

$aws/events/thing/thingName/updated

物件:建立,更新,刪除

THING

$aws/events/thing/thingName/deleted

物件群組:新增、移除

THING_GROUP

$aws/events/thingGroup/thingGroupName/created

物件群組:新增、移除

THING_GROUP

$aws/events/thingGroup/thingGroupName/updated

物件群組:新增、移除

THING_GROUP

$aws/events/thingGroup/thingGroupName/deleted

物件群組階層:新增、移除

THING_GROUP_HIERARCHY

$aws/events/thingGroupHierarchy/thingGroup/parentThingGroupName/childThingGroup/childThingGroupName/added

物件群組階層:新增、移除

THING_GROUP_HIERARCHY

$aws/events/thingGroupHierarchy/thingGroup/parentThingGroupName/childThingGroup/childThingGroupName/removed

物件群組成員資格:新增、移除

THING_GROUP_MEMBERSHIP

$aws/events/thingGroupMembership/thingGroup/thingGroupName/thing/thingName/added

物件群組成員資格:新增、移除

THING_GROUP_MEMBERSHIP

$aws/events/thingGroupMembership/thingGroup/thingGroupName/thing/thingName/removed

物件類型:建立、更新、刪除

THING_TYPE

$aws/events/thingType/thingTypeName/created

物件類型:建立、更新、刪除

THING_TYPE

$aws/events/thingType/thingTypeName/updated

物件類型:建立、更新、刪除

THING_TYPE

$aws/events/thingType/thingTypeName/deleted

物件類型關聯:新增、移除

THING_TYPE_ASSOCIATION

$aws/events/thingTypeAssociation/thing/thingName/thingType/thingTypeName/added

$aws/events/thingTypeAssociation/thing/thingName/thingType/thingTypeName/removed