객실 예약은 점유 센서 데이터와 결합되어 부동산 및 시설 관리자가 객실 사용률을 더 잘 이해하고 분석하고 최적화할 수 있는 주요 인사이트를 제공합니다. 관리자는 실제 점유를 보여주는 센서 데이터와 함께 의도한 객실 사용을 반영하는 예약 데이터를 분석하여 점유 및 예약 동작을 이해하고 높은 노쇼 요금을 식별할 수 있습니다. 이 데이터는 관리자가 객실 가용성에 대해 더 나은 결정을 내리는 데 도움이 됩니다.
사용 의도에 따른 공간 사용률
회의실 분석은 객실 예약 데이터를 사용하여 객실의 의도된 사용을 추적하여 계획된 객실 점유율에 대한 인사이트를 제공합니다.
예약 데이터는 매일 실행되는 서비스를 통해 테넌트와 연결된 Exchange의 모든 회의실 사서함에서 수집됩니다.
실제 점유를 기준으로 한 객실 사용률
룸 분석은 점유 신호를 사용하여 실제 사용자의 존재를 감지하여 실제 회의실 사용을 측정할 수 있도록 합니다.
현재 Microsoft는 다음과 같은 점유 신호를 지원합니다.
- CRS(Teams 모임의 통화 레코드 요약)
- 기타 점유 또는 사람 개수 센서
CRS 데이터 온보딩
통화 레코드 요약 신호에는 회의실 점유를 유추하는 데 사용할 수 있는 Teams 모임 시작 및 종료 시간이 포함됩니다. CRS 데이터는 SIP(기판 인텔리전스 플랫폼) 팀이 SIGS 데이터 세트에 게시합니다.
CallRecordSummarized 신호는 이벤트 시간 4일 후 SIGS 데이터 세트에서 사용할 수 있습니다. 그리고 28 일 동안 사용할 수 있습니다.
CRS를 사용하도록 설정하는 프로세스
CRS는 현재 NAM, EUR, JPN 및 APAC의 주요 지역에서 지원됩니다. organization 지원되는 지역 중 하나에 있는 경우 CRS 데이터 온보딩 프로세스가 완전히 자동화됩니다.
데이터 통합을 위해 수동 작업이 필요하지 않습니다. 시스템에서 지원되는 지역 내에 있음을 감지하면 데이터 흐름이 자동으로 시작됩니다.
데이터 세트 스키마
| 열 | 유형 | 설명 |
|---|---|---|
| AadTenantId | String | 레코드의 테넌트 ID입니다. 데이터를 테넌트 컨테이너로 분할하고 파티션 후에 삭제하는 데 사용됩니다. |
| ActorId | String | 사용자 또는 회의실일 수 있는 행위자의 Microsoft Entra ID. 나중에 회의실 인벤토리의 객실 ID와 조인하여 회의실에서 신호를 얻는 데 사용됩니다. |
| StartTime | String | 회의실이 점유되었음을 나타내는 모임 시작 시간입니다. |
| EndTime | String | 모임 종료 시간- 회의실이 더 이상 차지되지 않음을 나타냅니다. |
| PrimarySmtp | String | 개인 또는 회의실의 SMTP입니다. |
| ActorIdType | String | Microsoft Entra ID 행위자 ID 형식입니다. 이 문자열은 디버깅에 사용됩니다. |
| ActorType | String | 행위자 유형- 사람 또는 방에 관계없이 항상 "사용자"입니다. |
| CreationTime | String | 이 레코드의 생성 시간입니다. |
| DatasetCategory | String | 상용 또는 MSIT일 수 있는 데이터 세트 범주입니다. |
| SignalType | String | SIGS 데이터 세트의 신호 형식인 CallRecordSummarized입니다. |
점유 센서 데이터 연결
점유 및 사람 수 센서 연결은 4단계로 수행됩니다.
- 디바이스 온보딩.
- 원격 분석 업로드.
- 실시간 원격 분석 수집.
- Places 데이터를 사용할 수 있는지 확인합니다.
디바이스 온보딩
첫 번째 단계에서는 디바이스가 Microsoft Places PlaceId에 매핑되는 방법을 포함하여 디바이스 메타데이터를 사용하여 CSV 파일을 업로드하는 작업이 포함됩니다. 이 단계는 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 -NoTypeInformationCSV 파일 경로의 출력 파일에는 다음 정보가 포함되어야 합니다.
PlaceId DisplayName 유형 5d275bba-5d7d-487f-855e-75cd2943204f 1층 층 0fa1b1eb-6066-45ea-8f7c-09b4e8cc4e74 Conf Room 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, Occupancy |
| 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는 대부분의 경우 디바이스에 대해 SensorType이 고유하지 않은 한 PeopleCount, Occupancy 등입니다. 이 경우 SensorId는 SensorType_SomeUnique 식별자입니다.
디바이스 메타데이터가 준비되면 다음과 같은 방법으로 디바이스 정보를 Microsoft Places 업로드할 수 있습니다.
- PowerShell cmdlet 사용
- Microsoft Graph API 사용
PowerShell cmdlet 사용
디바이스를 개별적으로 관리하기 위해 Microsoft Places PowerShell cmdlet을 직접 사용할 수 있습니다. 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, 태그, 센서(필수) |
| 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 100Set-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 및 디바이스 설명서를 참조하세요.
- 센서 나열디바이스
- workplaceSensorDevice 만들기
- workplaceSensorDevice 가져오기
- workplaceSensorDevice 업데이트
- workplaceSensorDevice 삭제
- 디바이스 보기에 대한 자세한 내용은 센서디바이스 나열을 참조하세요.
- 새 디바이스를 만드는 방법에 대한 자세한 내용은 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 파일 형식
| 열 이름 | 열 순서 | Comment | 예제 |
|---|---|---|---|
| DeviceId | 1 | 디바이스 ID입니다. | Manuf1_1202_3455 |
| SensorId | 2 | 센서 ID입니다. | PeopleCount |
| 값 | 3 | 부호 없는 정수입니다. | PeopleCount(부호 없는 정수( 예: 5). |
| IngestionTime | 4 | 원격 분석의 타임스탬프(UTC 형식)입니다. | 2023-06-27T18:24:20.808Z |
| locationHint | String | 디바이스의 위치를 나타내는 추가 정보입니다. | 건물 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 파일 형식
| 열 이름 | 열 순서 | Comment | 예제 |
|---|---|---|---|
| DeviceId | 1 | 디바이스 ID입니다. | Manuf1_1202_3455 |
| SensorId | 2 | 센서 ID입니다. | RoomOccupancy |
| 값 | 3 | 부호 없는 정수입니다. | 점유: True 또는 False입니다. |
| IngestionTime | 4 | 원격 분석의 타임스탬프(UTC 형식)입니다. | 2023-06-27T18:24:20.808Z |
| locationHint | String | 디바이스의 위치를 나타내는 추가 정보입니다. | 건물 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 Graph 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 Graph API 사용하여 Microsoft Places 데이터를 계산하려면
- 앞에서 설명한 대로 기존 시스템에서 데이터를 다운로드합니다.
- 다음 점유 데이터 신호 데이터 형식을 기반으로 원격 분석을 준비합니다.
점유 데이터 신호-데이터 형식
| 매개 변수 | 형식 | 설명 |
|---|---|---|
| 원격 분석(필수) | 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"
}
]
}
실시간 원격 분석 수집
Scope에 설명된 커넥터는 실시간 원격 분석 수집 서비스를 요청하려면 다음 권한이 필요합니다.
- PlaceDeviceTelemetry.ReadWrite.All
관리자 동의를 완료하거나 선택한 아키텍처에 따라 권한이 있는 Microsoft Entra 애플리케이션을 만들어야 합니다. PlaceDeviceTelemetry.ReadWrite.All 권한에 대한 자세한 내용은 Microsoft Graph 권한 참조를 참조하세요.
다음 다이어그램에서는 원격 분석 수집을 위한 아키텍처를 간략하게 설명합니다.
관리 동의: A 아키텍처, 하드웨어 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 Microsoft Graph를 통해 노출되는 표준 형식으로 원격 분석을 허용하는 API를 사용할 수 있도록 합니다. API는 원격 분석 메시지의 일괄 처리를 허용합니다.
B형 아키텍처의 경우 고객은 고객의 환경에서 현장에서 호스트되는 하드웨어 파트너가 제공하는 통합을 사용합니다.
C 형식 아키텍처의 경우 고객은 Azure 함수를 사용하여 장기 실행 프로세스 또는 이벤트 기반 프로세스를 만들어 Microsoft Places API를 호출하여 빌드 원격 분석을 보낼 수 있습니다.
B 형식과 C 형식 통합 아키텍처 모두 고객이 다음 그림과 같이 Microsoft Entra 앱 등록을 만들고 PlaceDeviceTelemetry.ReadWrite.All에 대한 관리자 동의를 제공해야 합니다. Microsoft Graph에서 노출하는 권한에 대한 자세한 내용은 Microsoft Graph 권한 참조를 참조하세요.
Microsoft Places 데이터를 사용할 수 있는지 확인
디바이스가 온보딩되고 API가 라이브 센서 데이터를 수집하면 Microsoft Places 분석 보고서가 채워집니다. 작업 영역을 최적화하는 데 도움이 되는 인사이트를 잠금 해제하려면 데이터가 72시간 이내에 dashboard 분석으로 흐르는지 확인합니다.