Partilhar via


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
  • NotStarted
  • Processing
  • Com sucesso
  • Com falha
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:
  • "SignedFilesZip": pacote assinado pela Microsoft.
contentHash Hash SHA-256 do conteúdo

Criar e enviar um produto para assinatura

  1. Se você ainda não fez isso, conclua todos os pré-requisitos das APIs de Hardware da Microsoft.

  2. 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.

  3. 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"
        }
    }
    
  4. 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"
    }
    
  5. 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();