中的 AWS IoT SiteWise 警示遷移程序 AWS IoT Events - AWS IoT Events

終止支援通知:2026 年 5 月 20 日, AWS 將終止對 的支援 AWS IoT Events。2026 年 5 月 20 日之後,您將無法再存取 AWS IoT Events 主控台或 AWS IoT Events 資源。如需詳細資訊,請參閱AWS IoT Events 終止支援

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

中的 AWS IoT SiteWise 警示遷移程序 AWS IoT Events

本節說明替代解決方案,可在您遷移時提供類似的警示功能 AWS IoT Events。

對於使用 AWS IoT Events 警示的 AWS IoT SiteWise 屬性,您可以使用 CloudWatch 警示遷移至解決方案。此方法透過已建立的 SLAs 和其他功能提供強大的監控功能,例如異常偵測和分組警示。

比較架構

屬性目前的 AWS IoT Events 警示組態 AWS IoT SiteWise 需要在資產模型AssetModelCompositeModels中建立 ,如AWS IoT SiteWise 《 使用者指南》中的在 中定義外部警示 AWS IoT SiteWise中所述。對新解決方案的修改通常透過 主控台進行 AWS IoT Events 管理。

新解決方案利用 CloudWatch 警示提供警示管理。此方法使用 AWS IoT SiteWise 通知將屬性資料點發佈至 AWS IoT Core MQTT 主題,然後由 Lambda 函數處理。函數會將這些通知轉換為 CloudWatch 指標,透過 CloudWatch 的警示架構啟用警示監控。

用途 解決方案 差異

資料來源 – 來自 的屬性資料 AWS IoT SiteWise

AWS IoT SiteWise MQTT 通知

使用 AWS IoT SiteWise 屬性的 MQTT 通知取代直接 IoT Events 整合

資料處理 – 轉換屬性資料

Lambda 函數

處理 AWS IoT SiteWise 屬性通知並將其轉換為 CloudWatch 指標

警示評估 – 監控指標並觸發警示

Amazon CloudWatch 警示

以 CloudWatch AWS IoT Events 警示取代警示,提供異常偵測等其他功能

整合 – 與 的連線 AWS IoT SiteWise

AWS IoT SiteWise 外部警示

將 CloudWatch 警示匯入回 AWS IoT SiteWise 做為外部警示的選用功能

步驟 1:在資產屬性上啟用 MQTT 通知

如果您使用 AWS IoT SiteWise 警示的 AWS IoT Events 整合,您可以為要監控的每個屬性開啟 MQTT 通知。

  1. 遵循程序中的資產設定警示 AWS IoT SiteWise,直到您完成編輯資產模型屬性的每個步驟。

  2. 對於每個要遷移的屬性,請將 MQTT 通知狀態變更為 ACTIVE

    螢幕擷取畫面,顯示 AWS IoT SiteWise 主控台中 MQTT 通知狀態下拉式清單的位置。
  3. 請注意警示針對每個修改的警示屬性發佈的主題路徑。

如需詳細資訊,請參閱下列文件資源:

步驟 2:建立 AWS Lambda 函數

建立 Lambda 函數以讀取 MQTT 主題發佈的 TQV 陣列,並將個別值發佈至 CloudWatch。我們將使用此 Lambda 函數作為在 AWS IoT Core 訊息規則中觸發的目的地動作。

  1. 開啟 AWS Lambda console

  2. 選擇 Create function (建立函數)

  3. 輸入函數名稱的名稱

  4. 選取 NodeJS 22.x 作為執行時間

  5. 變更預設執行角色下拉式清單中,選擇使用現有角色,然後選取您在先前步驟中建立的 IAM 角色。

    注意

    此程序假設您已遷移偵測器模型。如果您沒有 IAM 角色,請參閱

  6. 選擇 Create function (建立函數)

  7. 在取代硬式編碼常數之後,貼上下列程式碼片段。

    import json import boto3 from datetime import datetime # Initialize CloudWatch client cloudwatch = boto3.client('cloudwatch') def lambda_handler(message, context): try: # Parse the incoming IoT message # Extract relevant information asset_id = message['payload']['assetId'] property_id = message['payload']['propertyId'] # Process each value in the values array for value in message['payload']['values']: # Extract timestamp and value timestamp = datetime.fromtimestamp(value['timestamp']['timeInSeconds']) metric_value = value['value']['doubleValue'] quality = value.get('quality', 'UNKNOWN') # Publish to CloudWatch response = cloudwatch.put_metric_data( Namespace='IoTSiteWise/AssetMetrics', MetricData=[ { 'MetricName': f'Property_your-property-id', 'Value': metric_value, 'Timestamp': timestamp, 'Dimensions': [ { 'Name': 'AssetId', 'Value': 'your-asset-id' }, { 'Name': 'Quality', 'Value': quality } ] } ] ) return { 'statusCode': 200, 'body': json.dumps('Successfully published metrics to CloudWatch') } except Exception as e: print(f'Error processing message: {str(e)}') return { 'statusCode': 500, 'body': json.dumps(f'Error: {str(e)}') }

步驟 3:建立 AWS IoT Core 訊息路由規則

  • 遵循教學課程:重新發佈 MQTT 訊息程序,在出現提示時輸入下列資訊:

    1. 命名訊息路由規則 SiteWiseToCloudwatchAlarms

    2. 對於查詢,您可以使用下列項目:

      SELECT * FROM '$aws/sitewise/asset-models/your-asset-model-id/assets/your-asset-id/properties/your-property-id'
    3. 規則動作中,選取要從 產生的資料傳送至 AWS IoT SiteWise CloudWatch 的 Lambda 動作。例如:

      螢幕擷取畫面,顯示 Lambda 函數的規則動作。

步驟 4:檢視 CloudWatch 指標

當您擷取資料至 AWS IoT SiteWise中稍早選取的 屬性步驟 1:在資產屬性上啟用 MQTT 通知時, 會將資料路由至我們在 中建立的 Lambda 函數步驟 2:建立 AWS Lambda 函數。在此步驟中,您可以檢查 以查看將指標傳送至 CloudWatch 的 Lambda。

  1. 開啟 CloudWatch AWS Management Console

  2. 在左側導覽中,選擇指標,然後選擇所有指標

  3. 選擇警示的 URL 來開啟它。

  4. 來源索引標籤下,CloudWatch 輸出看起來與此範例類似。此來源資訊會確認指標資料正在饋送至 CloudWatch。

    { "view": "timeSeries", "stacked": false, "metrics": [ [ "IoTSiteWise/AssetMetrics", "Property_your-property-id-hash", "Quality", "GOOD", "AssetId", "your-asset-id-hash", { "id": "m1" } ] ], "region": "your-region" }

步驟 5:建立 CloudWatch 警示

遵循《Amazon CloudWatch 使用者指南》中的根據靜態閾值程序建立 CloudWatch 警示,為每個相關指標建立警示。 Amazon CloudWatch

注意

Amazon CloudWatch 中有許多警示組態選項。如需 CloudWatch 警示的詳細資訊,請參閱Amazon CloudWatch 使用者指南》中的使用 Amazon CloudWatch 警示Amazon CloudWatch

步驟 6:(選用) 將 CloudWatch 警示匯入至 AWS IoT SiteWise

您可以設定 CloudWatch 警示, AWS IoT SiteWise 使用 CloudWatch 警示動作和 Lambda 將資料傳回至 。此整合可讓您在 SiteWise Monitor 入口網站中檢視警示狀態和屬性。

  1. 將外部警示設定為資產模型中的屬性。如需詳細資訊,請參閱AWS IoT SiteWise 《 使用者指南》中的在 中定義外部警示 AWS IoT SiteWise

  2. 建立 Lambda 函數,使用AWS IoT SiteWise 《 使用者指南》中的 BatchPutAssetPropertyValue API 將警示資料傳送至 AWS IoT SiteWise。

  3. 設定 CloudWatch 警示動作,以在警示狀態變更時叫用 Lambda 函數。如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的警示動作一節。