Gerenciar envios de pré-produção
Use os seguintes métodos nas APIs de Hardware da Microsoft para gerenciar envios de pré-produção e para obter seus pacotes de driver assinados pela Microsoft para uso de teste de pré-produção. Para obter uma introdução às APIs de Hardware da Microsoft, incluindo pré-requisitos para usar a API, consulte API de painel de hardware.
https://manage.devcenter.microsoft.com/v2.0/my/hardware/products/
Métodos para gerenciar envios de produto
Método | URI | Descrição |
---|---|---|
PUT | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/ |
Enviar um pacote para assinatura pré-produção |
GET | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId} |
Obter metadados do pacote para um envio de pré-produção |
GET | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets |
Obter ativos disponíveis para um envio de pré-produção |
GET | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets/{assetId} |
Obter metadados de ativos para um único ativo |
GET | https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets/{assetId}/download |
Baixar um ativo para um determinado envio de pré-produção |
Recurso de metadados do pacote
ID | Identificador exclusivo do pacote |
---|---|
signingStatus |
|
Erro | Erros encontrados durante o processamento do pacote |
Recurso de metadados de ativos
ID | Identificador exclusivo do ativo |
---|---|
packageID | Identificador do pacote ao qual esse ativo pertence |
assetType | O tipo de ativo disponível para download. Os valores possíveis são os seguintes:
|
contentHash | Hash SHA-256 do conteúdo |
Criar e enviar um produto para assinatura
Se você ainda não fez isso, conclua todos os pré-requisitos das APIs de Hardware da Microsoft.
Obtenha um token de acesso do Microsoft Entra ID. Você deve passar esse token de acesso para os métodos na API de envio da Microsoft Store. Após obter um token de acesso, você tem 60 minutos para usá-lo antes dele expirar. Depois que o token expirar, você poderá obter um novo.
Crie um novo envio executando o seguinte método na API de Hardware da Microsoft. O corpo da solicitação deve conter o fluxo do pacote como "application/octet-stream". Isso criará um novo envio de pré-produção em andamento com o HDC. Certifique-se de que o pacote esteja assinado da mesma forma que você faria para envios de atestado antes de carregar.
PUT https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/
O corpo da resposta contém o id do pacote que será o packageId das etapas subsequentes.
{ "id": "string", "etag": "string", "lastModified": "2022-03-28T23:31:17.014Z", "signingStatus": "NotStarted", "error": { "message": "string" } }
Verifique o status executando o seguinte método para obter os metadados do pacote.
GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}
Para confirmar o status do pacote, revise o valor de signingStatus no corpo da resposta. Esse valor deve ser alterado de Processando para Bem-sucedido se o envio for bem-sucedido ou para Falha se houver erros na solicitação. Se houver erros, o campo error conterá mais detalhes sobre o erro.
Se o signingStatus for Bem-sucedido, um pacote assinado deverá estar disponível no campo de ativos.
{ "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" }
Baixe seu pacote assinado de pré-produção usando o seguinte método para baixar um ativo depois que signingStatus for Bem-sucedido. Use o id do ativo assinado dos metadados recuperados na etapa 4 como seu assetId na solicitação. O pacote baixado incluirá os arquivos de driver assinados como um zip.
GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets/{assetId}/download
Exemplo de pacote de envio para código de assinatura pré-produção
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();