房间预订与占用传感器数据相结合,为房地产和设施经理提供了关键见解,以更好地了解、分析和优化房间利用率。 通过分析反映预期房间使用情况的预留数据以及显示实际入住情况的传感器数据,管理人员可以了解入住率和预订行为,并确定高未出现率。 此数据可帮助经理对会议室可用性做出更好的决策。
基于使用意向的房间利用率
房间分析使用房间预订数据来跟踪房间的预期用途,提供对计划内房间占用情况的见解。
预留数据是通过每天运行的服务从 Exchange 上与租户关联的所有会议室邮箱收集的。
基于实际占用率的房间利用率
房间分析使用占用信号来检测人员的实际存在,允许测量实际房间使用情况。
目前,Microsoft支持以下占用信号:
- 来自 Teams 会议的 CRS (通话记录摘要)
- 其他占用或人员计数传感器
载入 CRS 数据
通话记录汇总信号包含 Teams 会议开始和结束时间,可用于推断会议室占用率。 CRS 数据由 Substrate Intelligence Platform (SIP) 团队发布到 SIGS 数据集。
CallRecordSummarized 信号在事件时间后 4 天在 SIGS 数据集中可用。 它仍然可用 28 天。
启用 CRS 的过程
以下主要区域目前支持 CRS:NAM、EUR、JPN 和 APAC。 如果你的组织位于其中一个受支持的区域,则 CRS 数据载入过程是完全自动化的。
无需手动作即可进行数据集成。 系统检测到你位于受支持的区域中后,数据流会自动启动。
数据集架构
Column | 类型 | 说明 |
---|---|---|
AadTenantId | String | 记录的租户 ID。 它用于将数据分区到租户容器,并在分区后 删除 数据。 |
ActorId | String | 执行组件的Microsoft Entra ID,可以是用户或聊天室。 稍后,它用于与会议室清单中的会议室 ID 联接,以获取来自会议室的信号。 |
StartTime | String | 会议开始时间,表示会议室已占用。 |
EndTime | String | 会议结束时间,表示会议室不再占用。 |
PrimarySmtp | String | 人员或聊天室的 SMTP。 |
ActorIdType | String | 执行组件 ID 类型,应Microsoft Entra ID。 此字符串用于调试。 |
ActorType | String | 执行组件类型,无论人员或房间如何,它始终是“用户”。 |
CreationTime | String | 此记录的创建时间。 |
DatasetCategory | String | 数据集类别,可以是商业或 MSIT。 |
SignalType | String | CallRecordSummarized,它是 SIGS 数据集中的信号类型。 |
连接占用传感器数据
连接占用量和人员计数传感器分四个步骤完成。
- 设备载入。
- 上传遥测数据。
- 实时遥测引入。
- 验证数据在Places中是否可用。
设备载入
第一步涉及上传包含设备元数据的 CSV 文件,包括如何将设备映射到 Microsoft Places 中的 PlaceId。 此步骤有助于在遥测达到Places时将其上下文化。
下图显示了如何将设备和传感器载入Places。
首先,需要准备设备数据。
从Microsoft Places下载地点信息。 首先,通过运行以下 PowerShell cmdlet 安装 PowerShell 7。 若要详细了解 Windows 上的 PowerShell,请参阅 在 Windows 上安装 PowerShell。
Install-Module -Name ExchangeOnlineManagement Import-Module -Name ExchangeOnlineManagement Connect-ExchangeOnline
以管理员身份打开 PowerShell 并运行以下 ExchangeOnline PowerShell 命令,以检查帐户是否具有所需的 TenantPlacesManagement 角色,并确保列出用户名。
Get-ManagementRoleAssignment -Role TenantPlacesManagement -GetEffectiveUsers
如果拥有适当的权限,应会看到以下名称和分配的角色。
- 名称:PlacesAdmin
- 分配的角色:TenantPlacesManagement
若要获取建筑物的 PlaceId,请打开新的 PowerShell 窗口并运行以下 Windows PowerShell cmdlet。
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force Connect-MicrosoftPlaces
执行以下命令下载楼层和会议室列表。
$buildingName = “” $allPlaces = Get-PlaceV3 | Select-Object PlaceId, DisplayName, Type, ParentId $building = $allPlaces | Where-Object { $_.DisplayName -eq $buildingName -and $_.Type -eq "Building" } $floors = $allPlaces | Where-Object { $_.ParentId -eq $building.PlaceId } $spacesAndRooms = $floors | ForEach-Object { $floor = $_; $allPlaces | Where-Object { $_.ParentId -eq $floor.PlaceId } } $places = @() $floors | ForEach-Object { $places += $_ } $spacesAndRooms | ForEach-Object { $places += $_ } $outputPath = 'C:\places.csv' $places | Select-Object PlaceId, DisplayName, Type | Export-Csv -Path $outputPath -NoTypeInformation
CSV 文件路径中的输出文件应包含以下信息:
PlaceId DisplayName 类型 5d275bba-5d7d-487f-855e-75cd2943204f 楼层 1 Floor 0fa1b1eb-6066-45ea-8f7c-09b4e8cc4e74 会议会议室 1202/3455 (9) Room 从合作伙伴解决方案或系统(包括所有设备)下载设备元数据。
使用以下 PlacesDevice 的数据格式,使用脚本或手动将设备映射到 PlaceId。
列 | 说明 | 注释 | 示例 |
---|---|---|---|
需要 deviceId () | 建议 (设备的唯一标识符:Manufacturer_DeviceUniqueId) 。 | 必须与发送的遥测数据的 ID 匹配。 | Manuf1_3455 |
DisplayName | 设备的显示名称。 | 可以使用友好名称(如果适用)。 | Manuf1_3455 |
说明 | 设备的说明。 | ||
MacAddress | 设备的 Mac 地址。 | 供应商提供了 ((如果可用) )。 | |
需要制造商 () | 设备制造商。 | 由 IT 管理员提供。 | Manuf1 |
IPV4Address | 设备的 IPV4Address。 | 供应商提供了 ((如果可用) )。 | |
IPV6Address | 设备的 IPV6Address。 | 提供的供应商(如果可用)。 | |
PlaceId (必需) | 设备在 Places 中映射到的 PlaceId。 | IT 管理员将 DeviceID 映射到会议室列表中的 DisplayName 字段。 | 76fe540f-01a9-425e-acd5-5d7d1da44fbf |
标记 | 与设备关联的自定义标记列表,以帮助进行搜索。 | [ “IsVirtual_False”, “Building_121”] | |
Sensor.SensorId (必需) | 设备中传感器的唯一标识符。 | 必须采用标准遥测有效负载。 | PeopleCount,占用 |
Sensor.DisplayName | 传感器的显示名称。 | 可以使用友好名称 ((如果适用) )。 | 占用、PeopleCount |
需要 sensor.SensorType () | 传感器的类型。 | 验证列表 (查看示例) 。 | 回形针 |
Sensor.PlaceId | 传感器提供的位置的唯一标识符 (仅当传感器位于与设备位置) 不同的位置时,才需要提供此信息。 | 76fe540f-01a9-425e-acd5-5d7d1da44fbf |
设备和传感器的一般准则
建议提供 DeviceId 作为Manufacturer_DeviceUniqueId。 但是,如果合作伙伴无法 (设备级别发送遥测数据,则会将来自多个设备的遥测数据合并) ,虚拟 DeviceId 可以创建为Manufacturer_Building_VirtualDeviceId。 在这种情况下,VirtualDeviceId 可以是空间的一些自然键。 如果客户提供 VirtualDeviceId,则应包含有关从中计算遥测数据的物理设备的信息。 物理设备信息可以位于标记中。
如果 Sensor.SensorType 对于设备是唯一的,则只需提供 SensorType。 如果设备的特定传感器类型有多个数据流,则需要唯一的 SensorId。 大多数情况下,SensorType 和 SensorId 是 PeopleCount、占用等,除非 SensorType 对于设备不是唯一的。 在这种情况下,SensorId SensorType_SomeUnique标识符。
准备好设备元数据后,可以通过以下方式将设备信息上传到Microsoft Places。
- 使用 PowerShell cmdlet
- 使用 Microsoft Graph API
使用 PowerShell cmdlet
若要单独管理设备,可以直接使用 powerShell cmdlet Microsoft Places。 有关Places cmdlet 的详细信息,请参阅适用于 PowerShell 的 Microsoft Places cmdlet 模块。
注意
若要运行 cmdlet,必须分配 TenantPlacesManagement 角色。
Cmdlet 名称 | 说明 | 参数 |
---|---|---|
New-PlaceDevice | 创建新设备 | DeviceId (必需) 、DisplayName、Description、MACAddress、制造商 (必需) 、IPV4Address、IPV6Address、PlaceId (必需) 、标记、传感器 (必需) |
Remove-PlaceDevice | 删除设备 | ID(必需) |
Set-PlaceDevice | 汇报设备 | ID (必需) 、DeviceId (所需的) 、DisplayName、Description、MACAddress、制造商 (必需) 、IPV4Address、IPV6Address、PlaceId、Tags、Sensors (必需) |
Get-PlaceDevice | 获取设备 | ID、筛选器、顶部 |
(不是管理员) 打开 PowerShell 7 。
通过运行以下 Windows PowerShell cmdlet 安装Microsoft Places。 有关Microsoft Places安装的详细信息,请参阅Microsoft Places PowerShell 库。
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force
通过运行以下 Windows PowerShell cmdlet 导入 Microsoft Places 模块。
Import-Module -Name MicrosoftPlaces
安装并导入模块后,通过运行以下 Places PowerShell cmdlet 连接到 Microsoft Places 模块。
Connect-MicrosoftPlaces
使用下面所示的 New-PlaceDevice cmdlet 示例添加设备。 Sensors 参数是类型为 MicrosoftPlaces.PlacesDevices.Sensor 的对象,具有上述字段。
New-PlaceDevice -DeviceId "contoso_9D6816" -DisplayName "Contoso 9D6816 Device" -Description "Contoso 9D6816 Device" -MACAddress "00:0A:95:9D:68:16" -Manufacturer "Contoso" -IPV4Address "192.168.1.100" -IPV6Address "2001:db8::ff00:42:8329" -PlaceId "acfa3bc0- 2b83-425b-8910-84a0250e9671" -Tags "BuildingA" -Sensors (New-Object MicrosoftPlaces.PlacesDevices.Sensor -Property @{SensorType="occupancy"})
使用 Get-PlaceDevice 查看设备列表。 默认情况下,它返回 10 个设备。 若要返回更多设备,请添加 -top 参数,如下所示。
Get-PlaceDevice -top 100
使用 Set-PlaceDevice 使用现有 ID 更新设备。
Set-PlaceDevice -Id "e5a216ff-1d32-4647-8dab-a2523ee5796e" -DeviceId "contoso_7D6816" -DisplayName "Contoso 7D6816 Device" -Description "Contoso 9D6816 Device" -MACAddress "00:0A:95:9D:68:16" -Manufacturer "Contoso" -IPV4Address "192.168.1.100" -IPV6Address "2001:db8::ff00:42:8329" -PlaceId "acfa3bc0- 2b83-425b-8910-84a0250e9671" -Tags "BuildingA" -Sensors (New-Object MicrosoftPlaces.PlacesDevices.Sensor -Property @{SensorType="peopleCount"})
使用 Remove-PlaceDevice 删除设备。
Remove-PlaceDevice -Id "e5a216ff-1d32-4647-8dab-a2523ee5796e"
使用 Microsoft Graph API
若要修改流程或自动与现有系统集成,可以使用 Microsoft Graph API。
若要使用 API,请执行以下步骤。
在 Microsoft Entra.im 中创建应用注册。 若要详细了解 PlaceDeviceRead.All 和 PlaceDevice.ReadWrite.All 权限,请参阅 Microsoft Graph 权限参考。
生成并部署应用程序,以跨Microsoft Places和合作伙伴同步设备信息。
若要了解有关传感器设备的详细信息,请参阅以下Microsoft Graph API 和设备文档:
- 列出 sensorDevices
- 创建 workplaceSensorDevice
- 获取 workplaceSensorDevice
- 更新 workplaceSensorDevice
- 删除 workplaceSensorDevice
- 若要了解有关查看设备的详细信息,请参阅 列出 sensorDevices。
- 若要详细了解如何创建新设备,请参阅 Create workplaceSensorDevice。
示例设备:
POST https://graph.microsoft.com/beta/workplace/sensorDevices
{
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
- 若要了解如何查看特定设备,请参阅 获取 workplaceSensorDevice。
示例:
GET
https://graph.microsoft.com/beta/workplace/sensorDevices/<workplacesensordevice-id>
GET
https://graph.microsoft.com/beta/workplace/sensorDevices/8e404458-e9b1-4153-b6b5-4858ccee1486
示例响应:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#workplace/sensorDevices/$entity",
"@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET workplace/sensorDevices('<guid>')?$select=description,deviceId",
"id": "8e404458-e9b1-4153-b6b5-4858ccee1486",
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
- 若要详细了解如何更新现有设备,请参阅 更新 workplaceSensorDevice。
示例:
PATCH https://graph.microsoft.com/beta/workplace/sensorDevices/8e404458-e9b1-4153-b6b5-4858ccee1486
{
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device New",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
示例响应:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#workplace/sensorDevices/$entity",
"id": "8e404458-e9b1-4153-b6b5-4858ccee1486",
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device New",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
- 若要了解有关删除设备的详细信息,请参阅 删除 workplaceSensorDevice。
示例:
DELETE https://graph.microsoft.com/beta/workplace/sensorDevices/<workplaceSensorDevice-Id>
DELETE https://graph.microsoft.com/beta/workplace/sensorDevices/052062b9-38f6-48d4-a638-05a72c79419b
上传遥测数据
将设备载入Microsoft Places后,可以执行历史数据的一次性回填,以使用历史遥测数据填充Places。 然后,可以将Places配置为从设备接收连续遥测数据,以保持最新状态。 下图概述了上半) (回填文件上传流,下半) (连续设备遥测流。
选项 1:使用 Push-Dataset cmdlet
Microsoft Places接受特定 CSV 文件格式和架构的历史数据。 必须从现有系统导出此数据,然后使用以下 PowerShell cmdlet 上传数据。
Cmdlet 名称 | 说明 | 参数 | 示例 |
---|---|---|---|
Push-Dataset | 将数据集上传到 ADLS。 | 类型、路径 | Push-Dataset -Type RoomOccupancy -Path C:\sensordata\ |
注意
类型可以是 RoomOccupancy 和 PeopleCount。 角色应分配给 TenantPlacesManagement。 若要了解有关 PowerShell cmdlet 的详细信息,请参阅Microsoft Places PowerShell 库。
(不是管理员) 打开 PowerShell 7 。
通过运行以下 Windows PowerShell cmdlet 安装Microsoft Places。 有关Microsoft Places安装的详细信息,请参阅Microsoft Places PowerShell 库。
Install-Module –Name MicrosoftPlaces –AllowPrerelease –Force
通过运行以下 Windows PowerShell cmdlet 导入 Microsoft Places 模块。
Import-Module -Name MicrosoftPlaces
通过运行以下 Places PowerShell cmdlet 连接到 Microsoft Places 模块。
Connect-MicrosoftPlaces
通过运行以下 Places PowerShell cmdlet, (使用文件夹和路径) 上传数据集。
Push-Dataset -Type RoomOccupancy -Path <folder path>
PeopleCount 的 CSV 文件格式
列名称 | 列顺序 | 评论 | 示例 |
---|---|---|---|
DeviceId | 1 | 设备 ID。 | Manuf1_1202_3455 |
SensorId | 2 | 传感器 ID。 | PeopleCount |
值 | 3 | 无符号整数。 | PeopleCount (任何无符号整数;例如,5) 。 |
IngestionTime | 4 | 遥测中的时间戳,采用 UTC 格式。 | 2023-06-27T18:24:20.808Z |
locationHint | String | 用于指示设备位置的其他信息。 | Building-1 |
示例 CSV:
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,5, 2023-06-27T18:24:20.808Z,building1
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,5, 2023-06-27T18:24:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,5, 2023-06-27T18:24:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,5, 2023-06-27T18:24:20.808Z,building1
占用的 CSV 文件格式
列名称 | 列顺序 | 评论 | 示例 |
---|---|---|---|
DeviceId | 1 | 设备 ID。 | Manuf1_1202_3455 |
SensorId | 2 | 传感器 ID。 | RoomOccupancy |
值 | 3 | 无符号整数。 | 占用:True 或 False。 |
IngestionTime | 4 | 遥测中的时间戳,采用 UTC 格式。 | 2023-06-27T18:24:20.808Z |
locationHint | String | 用于指示设备位置的其他信息。 | Building-1 |
示例 CSV:
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,true, 2023-06-27T18:24:20.808Z,building1
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,true, 2023-06-27T18:30:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,false, 2023-06-27T18:40:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,true, 2023-06-27T18:45:20.808Z,building1
选项 2:使用Microsoft图形 API自动执行
若要生成应用程序以自动上传遥测数据,并生成应用程序以自动注册和载入设备,可以通过 Microsoft Graph 获取 API。 若要使用 API,请执行以下步骤。
在 Microsoft Entra 中创建应用注册。 若要详细了解 PlaceDeviceRead.All 和 PlaceDevice.ReadWrite.All 权限,请参阅 Microsoft Graph 权限参考。
生成并部署应用程序,以跨Microsoft Places和合作伙伴同步遥测数据。
使用 IngestTelemetry API 将占用率和人员计数数据推送到Microsoft Places。
有关为工作区传感器引入传感器遥测的详细信息,以及有关 IngestTelemetry API 的详细信息,请参阅 workplaceSensorDevice: ingestTelemetry。
使用Microsoft图形 API将占用率和人员计数数据推送到Microsoft Places
- 如前所述,从现有系统下载数据。
- 根据以下占用数据信号数据格式准备遥测数据。
占用数据 signal-data 格式
参数 | 类型 | 说明 |
---|---|---|
需要遥测 () | workplaceSensorDeviceTelemetry | 由会议室设备上的传感器收集和报告的遥测数据的集合。 |
deviceId (必需) | String | 创建时提供的设备的用户定义唯一标识符。 不要使用设备系统生成的标识符。 仅使用使用 new-device cmdlet 载入的设备 ID。 |
sensorId | String | 设备上传感器的用户定义唯一标识符。 如果设备具有同一类型的多个传感器,则必须提供 属性来标识每个传感器。 如果设备只有一个类型的传感器,则可以省略 属性。 默认值为传感器类型。 可选。 |
需要 boolValue () | 布尔值 | True 或 false 基于房间是否被占用。 |
timestamp (必需) | DateTimeOffset | 传感器测量并报告其值的日期和时间。 时间戳类型使用 ISO 8601 格式表示日期和时间信息,并且始终采用 UTC 格式。 例如,2024 年 1 月 1 日午夜 UTC 为 2024-01-01T00:00:00Z。 |
sensorType (必需) | workplaceSensorType | 占有 |
LocationHint (必需) | String | 用于指示设备位置的其他信息。 |
人员计数数据信号数据格式
参数 | 类型 | 说明 |
---|---|---|
需要遥测 () | workplaceSensorDeviceTelemetry | 由会议室设备上的传感器收集和报告的遥测数据的集合。 |
deviceId (必需) | String | 创建时提供的设备的用户定义唯一标识符。 不要使用设备系统生成的标识符。 仅使用使用 new-device cmdlet 载入的设备 ID。 |
sensorId | String | 设备上传感器的用户定义唯一标识符。 如果设备具有同一类型的多个传感器,则必须提供 属性来标识每个传感器。 如果设备只有一个类型的传感器,则可以省略 属性。 默认值为传感器类型。 可选。 |
intValue (必需) | Int32 | 占用房间的人数。 |
timestamp (必需) | DateTimeOffset | 传感器测量并报告其值的日期和时间。 时间戳类型使用 ISO 8601 格式表示日期和时间信息,并且始终采用 UTC 格式。 例如,2024 年 1 月 1 日午夜 UTC 为 2024-01-01T00:00:00Z。 |
sensorType (必需) | workplaceSensorType | peopleCount |
LocationHint (必需) | String | 用于指示设备位置的其他信息。 |
- 运行 API 以将数据推送到Microsoft Places。
以下命令是占用的示例 API 请求。
{
"telemetry": [
{
"deviceId": "19966d8e-4434-477a-a38a-2df5651cd90f",
"sensorid":"6afe1ea7-82aa-451c-b2e1-48e48ca39ec0",
"sensorType": "occupancy",
"boolValue": false,
"timestamp": "2021-03-31T09:36:05.144Z",
"locationHint":"building1"
}
]
}
以下命令是人员计数的示例 API 请求:
{
"telemetry": [
{
"deviceId": "457702f3-c58d-44fa-9d26-f153fcd27452",
"sensorid":"a7387ed0-b540-47b0-8170-bc9c80f6c5b9",
"sensorType": "peopleCount",
"intValue": 5,
"timestamp": "2023-06-27T18:24:20.808Z",
"locationHint":"building1"
}
]
}
实时遥测引入
范围中所述的连接器需要以下权限才能请求实时遥测引入服务。
- PlaceDeviceTelemetry.ReadWrite.All
必须完成管理员同意,或者基于所选体系结构创建具有 权限的 Microsoft Entra 应用程序。 若要详细了解 PlaceDeviceTelemetry.ReadWrite.All 权限,请参阅 Microsoft Graph 权限参考。
下图概述了遥测引入的体系结构。
管理员同意:键入体系结构、硬件合作伙伴拥有的连接器 (SaaS)
对于选择这些集成类型的客户,你必须完成租户范围的管理员同意,才能向合作伙伴服务授予代表他们引入遥测数据的权限。
当硬件提供商 (单租户应用与多租户应用) 创建了多租户 SaaS 连接器时,此功能适用。 若要了解有关多租户连接器的详细信息,请参阅 Microsoft Entra ID 中的租户。
从代表服务引入遥测数据的合作伙伴处获取应用 ID (GUID) 。
使用应用 ID 创建服务主体。 有几个选项可供选择。 有关详细信息,请参阅 Microsoft Entra ID 中的多租户应用程序创建企业应用程序。
如果使用 Microsoft Graph PowerShell、Graph 或 Azure CLI,请替换页面中) 提及的命令的 ID 或应用 ID (以创建服务主体,然后在 Azure 上的服务主体中授予管理员同意。
如果使用管理员同意 URL,请将页面中的应用 ID 替换为合作伙伴应用 ID,然后在浏览器中将其打开。 它会创建一个服务主体,并要求你授予管理员同意。 若要授予管理员同意,请选择“接受”。
管理员同意:类型 B 和 C 体系结构,在客户现场环境中运行的连接器
Microsoft Places提供了一个 API,该 API 接受通过 Microsoft Graph 公开的标准格式的遥测数据。 API 接受一批遥测消息。
对于 B 类型体系结构,客户依赖于其硬件合作伙伴在客户环境中现场托管的集成。
对于类型 C 体系结构,客户可以使用 Azure 函数创建长时间运行的进程或基于事件的进程,以调用Microsoft Places API 发送生成遥测数据。
B 和 C 类型集成体系结构都要求客户在 Microsoft Entra 中创建应用注册,如下图所示,并通过 PlaceDeviceTelemetry.ReadWrite.All 提供管理员同意。 若要详细了解 Microsoft Graph 公开的权限,请参阅 Microsoft Graph 权限参考。
验证Microsoft Places中的数据是否可用
载入设备并且 API 引入实时传感器数据后,Microsoft Places分析报告将开始填充。 若要解锁有助于优化工作区的见解,请验证数据是否在 72 小时内流入分析仪表板。