Freigeben über


Präproduktionsübermittlungen verwalten

Verwenden Sie die folgenden Methoden in Microsoft-Hardware-APIs zum Verwalten von Präproduktionsübermittlungen und zum Abrufen der von Microsoft signierten Treiberpakete für die Verwendung von Präproduktionstests. Eine Einführung in Microsoft-Hardware-APIs, einschließlich der Voraussetzungen für die Verwendung der API, finden Sie unter Hardwaredashboard-API.

https://manage.devcenter.microsoft.com/v2.0/my/hardware/products/

Methoden zum Verwalten von Produktübermittlungen

Method URI Beschreibung
PUT https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/ Übermitteln eines Pakets für die Präproduktionssignierung
GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId} Abrufen von Paketmetadaten für eine Präproduktionsübermittlung
GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets Abrufen verfügbarer Ressourcen für eine Präproduktionsübermittlung
GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets/{assetId} Abrufen von Ressourcenmetadaten für ein einzelnes Objekt
GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets/{assetId}/download Herunterladen eines Objekts für eine bestimmte Präproduktionsübermittlung

Paketmetadatenressource

Kennung Eindeutiger Bezeichner des Pakets
signingStatus
  • NotStarted
  • Processing
  • Erfolgreich
  • Fehler
Fehler Bei der Paketverarbeitung aufgetretene Fehler

Objektmetadatenressource

Kennung Eindeutiger Bezeichner des Objekts
packageID Bezeichner des Pakets, zu dem diese Ressource gehört
assetType Der Typ des zum Download verfügbaren Objekts. Mögliche Werte sind:
  • „SignedFilesZip“: von Microsoft signiertes Paket.
contentHash SHA-256-Hash des Inhalts

Erstellen und Übermitteln eines Produkts zum Signieren

  1. Falls noch nicht geschehen, erfüllen Sie alle Voraussetzungen für die Microsoft-Hardware-APIs.

  2. Rufen Sie einen Microsoft Entra ID-Zugriffstoken ab. Sie müssen dieses Zugriffstoken an die Methoden in der Microsoft Store-Übermittlungs-API übergeben. Nachdem Sie ein Zugriffstoken erhalten haben, haben Sie 60 Minuten Zeit, es zu verwenden, bevor es abläuft. Nachdem das Token abgelaufen ist, können Sie eine neue abrufen.

  3. Erstellen Sie eine neue Übermittlung, indem Sie die folgende Methode in der Microsoft-Hardware-API ausführen. Der Anforderungstext sollte Ihren Paketstrom als „application/octet-stream“ enthalten. Dadurch wird eine neue in Bearbeitung befindliche Präproduktionsübermittlung mit HDC erstellt. Stellen Sie sicher, dass das Paket vor dem Hochladen auf die gleiche Weise signiert ist, wie Sie es bei der Übermittlung von Bescheinigungen vornehmen würden.

    PUT https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/
    

    Der Antworttext enthält die ID des Pakets, bei dem es sich um die packageId für nachfolgende Schritte handelt.

    {
        "id": "string",
        "etag": "string",
        "lastModified": "2022-03-28T23:31:17.014Z",
        "signingStatus": "NotStarted",
        "error": 
        {
            "message": "string"
        }
    }
    
  4. Überprüfen Sie den Status, indem Sie die folgende Methode ausführen, um die Paketmetadaten abzurufen.

    GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}
    

    Um den Paketstatus zu bestätigen, überprüfen Sie den signingStatus-Wert im Antworttext. Dieser Wert sollte sich von Wird bearbeitet in Erfolgreich ändern, falls die Übermittlung erfolgreich war, oder in Fehlgeschlagen, falls es Fehler in der Anforderung gibt. Wenn Fehler vorhanden sind, enthält das Feld error weitere Details zum Fehler.

    Wenn der signingStatus mit Erfolgreich angegeben wird, sollte ein signiertes Paket im Objektfeld vorhanden sein.

    {
    "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. Laden Sie Ihr signiertes Präproduktionspaket herunter, indem Sie die folgende Methode verwenden, um ein Objekt herunterzuladen, wenn signingStatus mit Succeeded angegeben wird. Verwenden Sie die ID für die signierte Ressource aus den Metadaten, die in Schritt 4 abgerufen wurden, als assetId in der Anforderung. Das heruntergeladene Paket enthält die signierten Treiberdateien als ZIP-Datei.

    GET https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/{packageId}/assets/{assetId}/download
    

Beispielpaket zum Übermitteln von Präproduktions-Signierungscode

    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();