管理預先布建提交
在 Microsoft 硬體 API 中使用下列方法來管理預先產生的提交,以及取得 Microsoft 簽署的驅動程式套件,以供預先生產測試使用。 如需 Microsoft 硬體 API 的簡介,包括使用 API 的必要條件,請參閱 硬體儀表板 API。
https://manage.devcenter.microsoft.com/v2.0/my/hardware/products/
管理產品提交的方法
方法 | 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 |
下載指定預先布建提交的資產 |
套件中繼資料資源
識別碼 | 封裝的唯一識別碼 |
---|---|
signingStatus |
|
錯誤 | 封裝處理期間發生錯誤 |
資產中繼資料資源
識別碼 | 資產的唯一識別碼 |
---|---|
packageID | 此資產所屬套件的識別碼 |
assetType | 可供下載的資產類型。 可能的值包括:
|
contentHash | 內容的 SHA-256 雜湊 |
建立並提交要簽署的產品
如果您尚未這麼做,請完成 Microsoft 硬體 API 的所有 必要條件 。
取得Microsoft Entra識別碼存取權杖。 您必須將此存取權杖傳遞至 Microsoft Store 提交 API 中的方法。 在您取得存取權杖之後,您有 60 分鐘的使用時間,之後其便會到期。 權杖到期之後,您可以取得新的權杖。
在 Microsoft 硬體 API 中執行下列方法,以建立新的提交。 要求本文應包含您的套件資料流程作為「application/octet-stream」。 這會使用 HDC 建立新的進行中預先布建提交。 在上傳之前,請確定已以您進行 證明 提交的相同方式登入套件。
PUT https://manage.devcenter.microsoft.com/v2.0/my/hardware/preprod/packages/
回應本文包含封裝的 識別碼 ,這會是後續步驟的 packageId。
{ "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 值。 如果提交成功,這個值應該會從 [處理 ] 變更為 [ 成功 ],如果要求中有錯誤,則變更為 [失敗 ]。 如果發生錯誤, 錯誤 欄位會包含有關錯誤的進一步詳細資料。
如果 signedStatus 為 Succeeded ,則資產欄位中應該提供已簽署的套件。
{ "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" }
使用下列方法來下載預先產生的已簽署套件,以在 signedStatus為 Succeeded之後下載資產。 使用步驟 4 所擷取之中繼資料中已簽署資產的識別碼,作為要求中的 assetId。 下載的套件會以 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 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應