终止支持通知:2026 年 10 月 7 日, Amazon 将停止对的支持。 Amazon IoT Greengrass Version 1 2026 年 10 月 7 日之后,您将无法再访问这些 Amazon IoT Greengrass V1 资源。如需了解更多信息,请访问迁移自 Amazon IoT Greengrass Version 1。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ServiceNow MetricBase 集成连接器
警告
此连接器已进入生命周期延长阶段, Amazon IoT Greengrass 不会发布更新来提供功能、现有功能增强、安全补丁或错误修复。有关更多信息,请参阅 Amazon IoT Greengrass Version 1 维护政策。
ServiceNow MetricBase 集成连接器将来自 Greengrass 设备的时间序列指标发布到。 ServiceNow MetricBase这样一来,您可以存储、分析和可视化 Greengrass 核心环境中的时间序列数据,并对本地事件执行操作。
此连接器接收有关 MQTT 主题的时间序列数据,并定期将数据发布到 ServiceNow API。
您可以使用此连接器支持如下情况:
根据从 Greengrass 设备收集的时间序列数据,创建基于阈值的提醒和警报。
将来自 Greengrass 设备的时间服务数据与基于平台构建的自定义应用程序一起使用。 ServiceNow
此连接器具有以下版本。
版本 |
ARN |
|---|---|
4 |
|
3 |
|
2 |
|
1 |
|
有关版本更改的信息,请参阅更改日志。
要求
此连接器具有以下要求:
连接器参数
该连接器提供以下参数:
创建连接器示例 (Amazon CLI)
以下 CLI 命令ConnectorDefinition使用包含 ServiceNow MetricBase 集成连接器的初始版本创建一个。
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyServiceNowMetricBaseIntegrationConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/ServiceNowMetricBaseIntegration/versions/4", "Parameters": { "PublishInterval" : "10", "PublishBatchSize" : "50", "InstanceName" : "myinstance", "DefaultTableName" : "u_greengrass_app", "MaxMetricsToRetain" : "20000", "AuthSecretArn" : "arn:aws:secretsmanager:region:account-id:secret:greengrass-secret-hash", "AuthSecretArn-ResourceId" : "MySecretResource", "IsolationMode" : "GreengrassContainer" } } ] }'
注意
此连接器中的 Lambda 函数的生命周期很长。
在 Amazon IoT Greengrass 控制台中,您可以从群组的 “连接器” 页面添加连接器。有关更多信息,请参阅 Greengrass 连接器入门(控制台)。
输入数据
此连接器接受 MQTT 主题上的时间序列指标并将这些指标发布到。 ServiceNow输入消息必须采用 JSON 格式。
- 订阅中的主题筛选条件
-
servicenow/metricbase/metric - 消息属性
-
request-
有关表、记录和指标的信息。该请求表示时间序列 POST 请求中的
seriesRef对象。有关更多信息,请参阅 Clotho 时间序列 API - POST。 必需:
true类型:包含以下属性的
object:subject-
表中特定记录的
sys_id。必需:
true类型:
string metric_name-
指标字段名称。
必需:
true类型:
string table-
用于存储记录的表的名称。指定该值以覆盖
DefaultTableName参数。必需:
false类型:
string value-
单个数据点的值。
必需:
true类型:
float timestamp-
单个数据点的时间戳。默认值为当前时间。
必需:
false类型:
string
- 示例输入
-
{ "request": { "subject":"ef43c6d40a0a0b5700c77f9bf387afe3", "metric_name":"u_count", "table": "u_greengrass_app" "value": 1.0, "timestamp": "2018-10-14T10:30:00" } }
输出数据
此连接器将状态信息发布为 MQTT 主题的输出数据。
- 订阅中的主题筛选条件
-
servicenow/metricbase/metric/status - 示例输出:成功
-
{ "response": { "metric_name": "Errors", "table_name": "GliderProd", "processed_on": "2018-10-14T10:35:00", "response_id": "khjKSkj132qwr23fcba", "status": "success", "values": [ { "timestamp": "2016-10-14T10:30:00", "value": 1.0 }, { "timestamp": "2016-10-14T10:31:00", "value": 1.1 } ] } } - 示例输出:失败
-
{ "response": { "error": "InvalidInputException", "error_message": "metric value is invalid", "status": "fail" } }注意
如果连接器检测到可重试的错误(如连接错误),它会在下一批次中重试发布。
用法示例
使用以下概括步骤设置可用于尝试连接器的示例 Python 3.7 Lambda 函数。
注意
-
如果要使用其他 Python 运行时,您可以创建从 Python3.x 到 Python 3.7 的符号链接。
-
连接器入门(控制台) 和 连接器入门 (CLI) 主题包含详细步骤,说明如何配置和部署示例 Twilio 通知连接器。
确保满足连接器的要求。
-
创建并发布将输入数据发送到连接器的 Lambda 函数。
将示例代码保存为 PY 文件。下载并解压适用于 Python 的Amazon IoT Greengrass Core 软件开发工具包。然后,创建一个 zip 包,其中在根级别包含 PY 文件和
greengrasssdk文件夹。此 zip 包是您上传到 Amazon Lambda的部署包。创建 Python 3.7 Lambda 函数后,请发布函数版本并创建别名。
-
配置 Greengrass 组。
-
部署组。
-
在 Amazon IoT 控制台的 “测试” 页面上,订阅输出数据主题以查看来自连接器的状态消息。示例 Lambda 函数是长时间生存的,并且在部署组后立即开始发送消息。
完成测试后,您可以将 Lambda 生命周期设置为按需(或在 CLI 中设置为
"Pinned": false)并部署组。这会阻止函数发送消息。
示例
以下示例 Lambda 函数向连接器发送一条输入消息。
import greengrasssdk import json iot_client = greengrasssdk.client('iot-data') SEND_TOPIC = 'servicenow/metricbase/metric' def create_request_with_all_fields(): return { "request": { "subject": '2efdf6badbd523803acfae441b961961', "metric_name": 'u_count', "value": 1234, "timestamp": '2018-10-20T20:22:20', "table": 'u_greengrass_metricbase_test' } } def publish_basic_message(): messageToPublish = create_request_with_all_fields() print("Message To Publish: ", messageToPublish) iot_client.publish(topic=SEND_TOPIC, payload=json.dumps(messageToPublish)) publish_basic_message() def lambda_handler(event, context): return
许可证
ServiceNow MetricBase 集成连接器包括以下第三方软件/许可:
pysnow
/MIT
该连接器在 Greengrass Core 软件许可协议
更改日志
下表介绍每个版本连接器的更改。
版本 |
更改 |
|---|---|
4 |
增加了用于配置连接器容器化模式的 |
3 |
已将 Lambda 运行时升级到 Python 3.7,这会更改运行时要求。 |
2 |
进行了修复,以减少过多的日志记录。 |
1 |
首次发布。 |
Greengrass 组在一个时间上只能包含一个版本的连接器。有关升级连接器版本的信息,请参阅升级连接器版本。