回应Amazon Location Service 事件 EventBridge - Amazon Location Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

回应Amazon Location Service 事件 EventBridge

Amazon EventBridge 是一种无服务器事件总线,它使用来自 Amazon Location 等AWS服务的数据高效地将应用程序连接在一起。 EventBridge 从 Amazon Location 接收地理围栏事件并将这些数据路由到诸如此类的目标AWS Lambda。您可以设置路由规则来确定将数据发送到何处,以构建可实时做出反应的应用程序架构。

有关更多信息,请参阅 Amazon EventBridge User Guid e 中的事件和事件和事件和事件和事件和事件模式

为亚马逊地点创建事件规则

您可以为每个事件总线创建多达 300 条规则, EventBridge 以配置为响应 Amazon Location 事件而采取的操作。

例如,您可以为地理围栏事件创建规则,在该规则中,当在地理围栏边界内检测到电话时,将发送推送通知。

为亚马逊位置事件创建规则

使用以下值,根据亚马逊位置事件创建 EventBridge 规则

  • 对于 Rule type(规则类型),选择 Rule with an event pattern(具有事件模式的规则)。

  • Event pattern (事件模式) 框中,添加以下模式:

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"] }

    您可以选择通过添加detail标签来仅指定ENTEREXIT事件:

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"] } }
  • 对于 Sel ec t target(选择目标),选择从 Amazon Location Service 收到地理围栏事件时要执行的目标操作。

    例如,使用 Amazon Simple Notification Service (SNS) 主题在事件发生时发送电子邮件或短信。您首先需要使用 Amazon SNS 控制台创建 Amazon SNS 主题。有关更多信息,请参阅使用 Amazon SNS 发送用户通知

警告

最佳做法是确认事件规则已成功应用,否则您的自动操作可能无法按预期启动。要验证您的事件规则,请为事件规则启动条件。例如,模拟设备进入地理围栏区域。

您也可以从 Amazon Location 捕获所有事件,只需排除该detail-type部分即可。例如:

{ "source": [ "aws.geo" ] }
注意

同一事件可以多次举办。您可以使用事件 ID 对收到的事件进行重复数据消除。

亚马逊Lo EventBridge cation Service 亚马逊事件示例

以下是通过调用启动的进入地理围栏的事件的示例BatchUpdateDevicePosition

{ "version": "0", "id": "aa11aa22-33a-4a4a-aaa5-example", "detail-type": "Location Geofence Event", "source": "aws.geo", "account": "636103698109", "time": "2020-11-10T23:43:37Z", "region": "eu-west-1", "resources": [ "arn:aws:geo:eu-west-1:0123456789101:geofence-collection/GeofenceEvents-GeofenceCollection_EXAMPLE", "arn:aws:geo:eu-west-1:0123456789101:tracker/Tracker_EXAMPLE" ], "detail": { "EventType": "ENTER", "GeofenceId": "polygon_14", "DeviceId": "Device1-EXAMPLE", "SampleTime": "2020-11-10T23:43:37.531Z", "Position": [ -123.12390073297821, 49.23433613216247 ], "Accuracy": { "Horizontal": 15.3 }, "PositionProperties": { "ExampleKey": "ExampleField" } } }

以下是退出调用启动的地理围栏事件的示例BatchUpdateDevicePosition

{ "version": "0", "id": "aa11aa22-33a-4a4a-aaa5-example", "detail-type": "Location Geofence Event", "source": "aws.geo", "account": "123456789012", "time": "2020-11-10T23:41:44Z", "region": "eu-west-1", "resources": [ "arn:aws:geo:eu-west-1:0123456789101:geofence-collection/GeofenceEvents-GeofenceCollection_EXAMPLE", "arn:aws:geo:eu-west-1:0123456789101:tracker/Tracker_EXAMPLE" ], "detail": { "EventType": "EXIT", "GeofenceId": "polygon_10", "DeviceId": "Device1-EXAMPLE", "SampleTime": "2020-11-10T23:41:43.826Z", "Position": [ -123.08569321875426, 49.23766166742559 ], "Accuracy": { "Horizontal": 15.3 }, "PositionProperties": { "ExampleKey": "ExampleField" } } }