Управление предварительно подготовленными отправками
Используйте следующие методы в API оборудования Майкрософт для управления предварительно подготовленными отправками и получения пакетов драйверов, подписанных корпорацией Майкрософт для предварительного тестирования. Общие сведения об API оборудования Майкрософт, включая предварительные требования для использования API, см. в разделе API панели мониторинга оборудования.
https://manage.devcenter.microsoft.com/v2.0/my/hardware/products/
Методы управления отправкой продуктов
Method | URI | Description |
---|---|---|
PUT | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/ |
Отправка пакета для предварительной подписи |
GET | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId} |
Получение метаданных пакета для предварительной отправки |
GET | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets |
Получение доступных ресурсов для предварительной отправки |
GET | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets/{assetId} |
Получение метаданных ресурса для одного ресурса |
GET | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets/{assetId}/download |
Скачивание ресурса для заданной предварительной отправки |
Ресурс метаданных пакета
Идентификатор | Уникальный идентификатор пакета |
---|---|
подписьStatus |
|
Ошибка | Ошибки, возникающие во время обработки пакета |
Ресурс метаданных ресурса
Идентификатор | Уникальный идентификатор ресурса |
---|---|
packageID | Идентификатор пакета, к которому принадлежит этот ресурс |
assetType | Тип ресурса, доступного для скачивания. Возможные значения:
|
contentHash | Хэш SHA-256 содержимого |
Создание и отправка продукта для подписывания
Если вы этого еще не сделали, выполните все предварительные требования для API оборудования Майкрософт.
Получите маркер доступа к идентификатору Microsoft Entra. Этот маркер доступа необходимо передать методам в API отправки Microsoft Store. После получения маркера доступа у вас будет 60 минут, чтобы использовать его до истечения срока действия. После истечения срока действия маркера можно получить новый.
Создайте новую отправку, выполнив следующий метод в API оборудования Майкрософт. Текст запроса должен содержать поток пакета как application/octet-stream. При этом будет создана предварительная отправка с hdC. Убедитесь, что пакет подписан таким же образом, как и для отправки отправки аттестации.
PUT https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/
Текст ответа содержит идентификатор пакета, который будет идентификатором пакета для последующих шагов.
{ "id": "string", "etag": "string", "lastModified": "2022-03-28T23:31:17.014Z", "signingStatus": "NotStarted", "error": { "message": "string" } }
Проверьте состояние, выполнив следующий метод, чтобы получить метаданные пакета.
GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}
Чтобы подтвердить состояние пакета, просмотрите значение signingStatus в тексте ответа. Это значение должно измениться с "Обработка " на "Успешно" в случае успешной отправки или на "Сбой ", если в запросе возникают ошибки. Если возникают ошибки, поле ошибки содержит дополнительные сведения об ошибке.
Если подписьStatus выполнена успешно, подписанный пакет должен быть доступен в поле ресурсов.
{ "id": "string", "etag": "string", "lastModified": "2022-03-28T23:45:25.501Z", "signingStatus": "NotStarted", "error": { "message": "string" }, "assets": [ { "id": "string", "packageId": "string", "assetType": "string", "createdDate": "2022-03-28T23:45:25.501Z", "contentHash": "string" } ], "assetsContinuationToken": "string" }
Скачайте готовый подписанный пакет с помощью следующего метода, чтобы скачать ресурс после подписыванияStatus успешно. Используйте идентификатор подписанного ресурса из метаданных, полученных на шаге 4 в качестве идентификатора ресурса в запросе. Скачанный пакет будет включать подписанные файлы драйверов в виде ZIP-файла.
GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets/{assetId}/download
Пример отправки пакета для предварительно созданного кода подписи
var httpClient = new HttpClient();
httpClient.BaseAddress = new Uri(https://manage.devcenter.microsoft.com/v2.0/my/hardware/);
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("*/*"));
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token);
var driverPackage = File.ReadAllBytes(@"C:\cabfile.cab");
Task<HttpResponseMessage> response = httpClient.PutAsync("preprod/packages", new ByteArrayContent(driverPackage));
var jsonResponse = response.Result.Content.ReadFromJsonAsync<object>().Result as JsonElement?;
var packageId = jsonResponse?.GetProperty("id").ToString();
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по