Пространство имен: microsoft.graph
Важно!
API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Получите отчеты о рекомендациях устройств для облачных компьютеров, например отчет о категории использования. В отчете о категории использования облачный компьютер классифицируется как Undersized, Oversized, Rightsizedили Underutilized, а также предоставляется рекомендуемый номер SKU, если облачный компьютер не Rightsizedявляется .
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
| ✅ |
✅ |
❌ |
❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
| Делегированные (рабочая или учебная учетная запись) |
CloudPC.Read.All |
CloudPC.ReadWrite.All |
| Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
| Приложение |
CloudPC.Read.All |
CloudPC.ReadWrite.All |
HTTP-запрос
POST /deviceManagement/virtualEndpoint/reports/getCloudPcRecommendationReports
Текст запроса
В тексте запроса укажите представление параметров в формате JSON.
В следующей таблице указаны параметры, которые можно использовать с этим действием.
| Параметр |
Тип |
Описание |
| filter |
String |
Синтаксис OData $filter . Поддерживаемые фильтры: and, or, lt, le, gt, ge, и eq. |
| Groupby |
Коллекция строк |
Указывает, как группировать отчеты. Если используется, содержимое должно совпадать с параметром select . |
| Orderby |
Коллекция строк |
Указывает способ сортировки отчетов. |
| reportName |
cloudPcReportName |
Указывает имя отчета. Поддерживает только cloudPcUsageCategoryReportscloudPcReportName. |
| search |
String |
Указывает строку для поиска. |
| select |
Коллекция строк |
Синтаксис OData $select . Выбранные столбцы отчетов. |
| skip |
Int32 |
Количество записей, которые нужно пропустить. |
| top |
Int32 |
Количество возвращаемых верхних записей. |
Отклик
В случае успешного 200 OK выполнения это действие возвращает код ответа и Stream в тексте ответа.
Примеры
Пример 1. Вывод списка отчетов рекомендаций по устройствам
В следующем примере показано, как получить список отчетов о 50 основных устройствах.
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/deviceManagement/virtualEndpoint/reports/getCloudPcRecommendationReports
Content-Type: application/json
Content-length: 262
{
"reportName": "cloudPcUsageCategoryReports",
"top": 50,
"skip": 0,
"search": "",
"filter": "",
"select": [
"CloudPcId",
"ManagedDeviceName",
"UserPrincipalName",
"UsageInsight",
"CurrentSize",
"RecommendedSize",
"UsageInHour",
"DevicePerfSummary"
],
"orderBy": [
"ManagedDeviceName"
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.DeviceManagement.VirtualEndpoint.Reports.GetCloudPcRecommendationReports;
using Microsoft.Graph.Beta.Models;
var requestBody = new GetCloudPcRecommendationReportsPostRequestBody
{
ReportName = CloudPcReportName.CloudPcUsageCategoryReports,
Top = 50,
Skip = 0,
Search = "",
Filter = "",
Select = new List<string>
{
"CloudPcId",
"ManagedDeviceName",
"UserPrincipalName",
"UsageInsight",
"CurrentSize",
"RecommendedSize",
"UsageInHour",
"DevicePerfSummary",
},
OrderBy = new List<string>
{
"ManagedDeviceName",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.DeviceManagement.VirtualEndpoint.Reports.GetCloudPcRecommendationReports.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphdevicemanagement "github.com/microsoftgraph/msgraph-beta-sdk-go/devicemanagement"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphdevicemanagement.NewGetCloudPcRecommendationReportsPostRequestBody()
reportName := graphmodels.CLOUDPCUSAGECATEGORYREPORTS_CLOUDPCREPORTNAME
requestBody.SetReportName(&reportName)
top := int32(50)
requestBody.SetTop(&top)
skip := int32(0)
requestBody.SetSkip(&skip)
search := ""
requestBody.SetSearch(&search)
filter := ""
requestBody.SetFilter(&filter)
select := []string {
"CloudPcId",
"ManagedDeviceName",
"UserPrincipalName",
"UsageInsight",
"CurrentSize",
"RecommendedSize",
"UsageInHour",
"DevicePerfSummary",
}
requestBody.SetSelect(select)
orderBy := []string {
"ManagedDeviceName",
}
requestBody.SetOrderBy(orderBy)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.DeviceManagement().VirtualEndpoint().Reports().GetCloudPcRecommendationReports().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.devicemanagement.virtualendpoint.reports.getcloudpcrecommendationreports.GetCloudPcRecommendationReportsPostRequestBody getCloudPcRecommendationReportsPostRequestBody = new com.microsoft.graph.beta.devicemanagement.virtualendpoint.reports.getcloudpcrecommendationreports.GetCloudPcRecommendationReportsPostRequestBody();
getCloudPcRecommendationReportsPostRequestBody.setReportName(CloudPcReportName.CloudPcUsageCategoryReports);
getCloudPcRecommendationReportsPostRequestBody.setTop(50);
getCloudPcRecommendationReportsPostRequestBody.setSkip(0);
getCloudPcRecommendationReportsPostRequestBody.setSearch("");
getCloudPcRecommendationReportsPostRequestBody.setFilter("");
LinkedList<String> select = new LinkedList<String>();
select.add("CloudPcId");
select.add("ManagedDeviceName");
select.add("UserPrincipalName");
select.add("UsageInsight");
select.add("CurrentSize");
select.add("RecommendedSize");
select.add("UsageInHour");
select.add("DevicePerfSummary");
getCloudPcRecommendationReportsPostRequestBody.setSelect(select);
LinkedList<String> orderBy = new LinkedList<String>();
orderBy.add("ManagedDeviceName");
getCloudPcRecommendationReportsPostRequestBody.setOrderBy(orderBy);
graphClient.deviceManagement().virtualEndpoint().reports().getCloudPcRecommendationReports().post(getCloudPcRecommendationReportsPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const stream = {
reportName: 'cloudPcUsageCategoryReports',
top: 50,
skip: 0,
search: '',
filter: '',
select: [
'CloudPcId',
'ManagedDeviceName',
'UserPrincipalName',
'UsageInsight',
'CurrentSize',
'RecommendedSize',
'UsageInHour',
'DevicePerfSummary'
],
orderBy: [
'ManagedDeviceName'
]
};
await client.api('/deviceManagement/virtualEndpoint/reports/getCloudPcRecommendationReports')
.version('beta')
.post(stream);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\DeviceManagement\VirtualEndpoint\Reports\GetCloudPcRecommendationReports\GetCloudPcRecommendationReportsPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\CloudPcReportName;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new GetCloudPcRecommendationReportsPostRequestBody();
$requestBody->setReportName(new CloudPcReportName('cloudPcUsageCategoryReports'));
$requestBody->setTop(50);
$requestBody->setSkip(0);
$requestBody->setSearch('');
$requestBody->setFilter('');
$requestBody->setSelect(['CloudPcId', 'ManagedDeviceName', 'UserPrincipalName', 'UsageInsight', 'CurrentSize', 'RecommendedSize', 'UsageInHour', 'DevicePerfSummary', ]);
$requestBody->setOrderBy(['ManagedDeviceName', ]);
$graphServiceClient->deviceManagement()->virtualEndpoint()->reports()->getCloudPcRecommendationReports()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.devicemanagement.virtualendpoint.reports.get_cloud_pc_recommendation_reports.get_cloud_pc_recommendation_reports_post_request_body import GetCloudPcRecommendationReportsPostRequestBody
from msgraph_beta.generated.models.cloud_pc_report_name import CloudPcReportName
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = GetCloudPcRecommendationReportsPostRequestBody(
report_name = CloudPcReportName.CloudPcUsageCategoryReports,
top = 50,
skip = 0,
search = "",
filter = "",
select = [
"CloudPcId",
"ManagedDeviceName",
"UserPrincipalName",
"UsageInsight",
"CurrentSize",
"RecommendedSize",
"UsageInHour",
"DevicePerfSummary",
],
order_by = [
"ManagedDeviceName",
],
)
await graph_client.device_management.virtual_endpoint.reports.get_cloud_pc_recommendation_reports.post(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/octet-stream
{
"TotalRowCount": 489,
"Schema": [
{
"Column": "CloudPcId",
"PropertyType": "String"
},
{
"Column": "ManagedDeviceName",
"PropertyType": "String"
},
{
"Column": "UserPrincipalName",
"PropertyType": "String"
},
{
"Column": "UsageInsight",
"PropertyType": "String"
},
{
"Column": "CurrentSize",
"PropertyType": "Json"
},
{
"Column": "RecommendedSize",
"PropertyType": "Json"
},
{
"Column": "UsageInHour",
"PropertyType": "Double"
},
{
"Column": "DevicePerfSummary",
"PropertyType": "Json"
}
],
"Values": [
[
"4db3619f-be92-42a7-8c74-43fab185da6f",
"1MoveHost",
"connie_1@contoso.com",
"Rightsized",
{
"NumvCPUs": 2,
"RamInGB": 8,
"OsDiskSizeInGB": 128
},
null,
0,
{
"CPUUsagePercentageP90": 0.3,
"RAMUsagePercentageP90": 0.4
}
],
[
"f2ee066c-f63e-4acd-a41e-e348db71cb4d",
"AXFBF",
"connie_2@contoso.com",
"Rightsized",
{
"NumvCPUs": 2,
"RamInGB": 8,
"OsDiskSizeInGB": 128
},
null,
0,
{
"CPUUsagePercentageP90": 0.2,
"RAMUsagePercentageP90": 0.3
}
]
]
}
Пример 2. Получение сводных отчетов по использованию
В следующем примере показано, как суммировать отчет по аналитическим сведениям об использовании.
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/deviceManagement/virtualEndpoint/reports/getCloudPcRecommendationReports
Content-Type: application/json
Content-length: 262
{
"reportName": "cloudPcUsageCategoryReports",
"select": [
"UsageInsight"
],
"groupBy": [
"UsageInsight"
],
"filter": ""
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.DeviceManagement.VirtualEndpoint.Reports.GetCloudPcRecommendationReports;
using Microsoft.Graph.Beta.Models;
var requestBody = new GetCloudPcRecommendationReportsPostRequestBody
{
ReportName = CloudPcReportName.CloudPcUsageCategoryReports,
Select = new List<string>
{
"UsageInsight",
},
GroupBy = new List<string>
{
"UsageInsight",
},
Filter = "",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.DeviceManagement.VirtualEndpoint.Reports.GetCloudPcRecommendationReports.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphdevicemanagement "github.com/microsoftgraph/msgraph-beta-sdk-go/devicemanagement"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphdevicemanagement.NewGetCloudPcRecommendationReportsPostRequestBody()
reportName := graphmodels.CLOUDPCUSAGECATEGORYREPORTS_CLOUDPCREPORTNAME
requestBody.SetReportName(&reportName)
select := []string {
"UsageInsight",
}
requestBody.SetSelect(select)
groupBy := []string {
"UsageInsight",
}
requestBody.SetGroupBy(groupBy)
filter := ""
requestBody.SetFilter(&filter)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.DeviceManagement().VirtualEndpoint().Reports().GetCloudPcRecommendationReports().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.devicemanagement.virtualendpoint.reports.getcloudpcrecommendationreports.GetCloudPcRecommendationReportsPostRequestBody getCloudPcRecommendationReportsPostRequestBody = new com.microsoft.graph.beta.devicemanagement.virtualendpoint.reports.getcloudpcrecommendationreports.GetCloudPcRecommendationReportsPostRequestBody();
getCloudPcRecommendationReportsPostRequestBody.setReportName(CloudPcReportName.CloudPcUsageCategoryReports);
LinkedList<String> select = new LinkedList<String>();
select.add("UsageInsight");
getCloudPcRecommendationReportsPostRequestBody.setSelect(select);
LinkedList<String> groupBy = new LinkedList<String>();
groupBy.add("UsageInsight");
getCloudPcRecommendationReportsPostRequestBody.setGroupBy(groupBy);
getCloudPcRecommendationReportsPostRequestBody.setFilter("");
graphClient.deviceManagement().virtualEndpoint().reports().getCloudPcRecommendationReports().post(getCloudPcRecommendationReportsPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const stream = {
reportName: 'cloudPcUsageCategoryReports',
select: [
'UsageInsight'
],
groupBy: [
'UsageInsight'
],
filter: ''
};
await client.api('/deviceManagement/virtualEndpoint/reports/getCloudPcRecommendationReports')
.version('beta')
.post(stream);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\DeviceManagement\VirtualEndpoint\Reports\GetCloudPcRecommendationReports\GetCloudPcRecommendationReportsPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\CloudPcReportName;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new GetCloudPcRecommendationReportsPostRequestBody();
$requestBody->setReportName(new CloudPcReportName('cloudPcUsageCategoryReports'));
$requestBody->setSelect(['UsageInsight', ]);
$requestBody->setGroupBy(['UsageInsight', ]);
$requestBody->setFilter('');
$graphServiceClient->deviceManagement()->virtualEndpoint()->reports()->getCloudPcRecommendationReports()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.devicemanagement.virtualendpoint.reports.get_cloud_pc_recommendation_reports.get_cloud_pc_recommendation_reports_post_request_body import GetCloudPcRecommendationReportsPostRequestBody
from msgraph_beta.generated.models.cloud_pc_report_name import CloudPcReportName
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = GetCloudPcRecommendationReportsPostRequestBody(
report_name = CloudPcReportName.CloudPcUsageCategoryReports,
select = [
"UsageInsight",
],
group_by = [
"UsageInsight",
],
filter = "",
)
await graph_client.device_management.virtual_endpoint.reports.get_cloud_pc_recommendation_reports.post(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/octet-stream
{
"TotalRowCount": 4,
"Schema": [
{
"Column": "__Count",
"PropertyType": "Int32"
},
{
"Column": "UsageInsight",
"PropertyType": "String"
}
],
"Values": [
[
200,
"Rightsized"
],
[
50,
"Undersized"
],
[
30,
"Oversized"
],
[
40,
"Underutilized"
]
]
}