From 537df7cbaccf5be5db7068036abc6ef823834185 Mon Sep 17 00:00:00 2001 From: Cheena Malhotra <13396919+cheenamalhotra@users.noreply.github.com> Date: Thu, 13 Apr 2023 20:51:03 -0700 Subject: [PATCH] Fix file upload (#22725) --- build/azure-pipelines/common/publish.js | 27 +++++++++------------- build/azure-pipelines/common/publish.ts | 30 +++++++++---------------- 2 files changed, 21 insertions(+), 36 deletions(-) diff --git a/build/azure-pipelines/common/publish.js b/build/azure-pipelines/common/publish.js index 4989547c7b..6678b0f4c4 100644 --- a/build/azure-pipelines/common/publish.js +++ b/build/azure-pipelines/common/publish.js @@ -109,25 +109,18 @@ async function assertContainer(containerClient) { return containerResponse && !!containerResponse.errorCode; } async function uploadBlob(blobClient, file) { - var _a; - blobClient.setHTTPHeaders({ - blobContentType: mime.lookup(file), - blobCacheControl: 'max-age=31536000, public' + var _a, _b; + const result = await blobClient.uploadFile(file, { + blobHTTPHeaders: { + blobContentType: mime.lookup(file), + blobCacheControl: 'max-age=31536000, public' + } }); - const copyPoller = await blobClient.beginCopyFromURL(file, { - onProgress(state) { - console.log(`Progress: ${state.copyProgress}`); - }, - }); - while (!copyPoller.isDone()) { - await copyPoller.poll(); - } - const result = copyPoller.getResult(); - if (result && result.copyStatus === 'success') { - console.log(`Blobs uploaded successfully.`); + if (result && !result.errorCode) { + console.log(`Blobs uploaded successfully, response status: ${(_a = result === null || result === void 0 ? void 0 : result._response) === null || _a === void 0 ? void 0 : _a.status}`); } else { - console.error(`Blobs failed to upload, response status: ${(_a = result === null || result === void 0 ? void 0 : result._response) === null || _a === void 0 ? void 0 : _a.status}, copy status: ${result === null || result === void 0 ? void 0 : result.copyStatus}, errorcode: ${result === null || result === void 0 ? void 0 : result.errorCode}`); + console.error(`Blobs failed to upload, response status: ${(_b = result === null || result === void 0 ? void 0 : result._response) === null || _b === void 0 ? void 0 : _b.status}, errorcode: ${result === null || result === void 0 ? void 0 : result.errorCode}`); } } async function publish(commit, quality, platform, type, name, version, _isUpdate, file, opts) { @@ -162,7 +155,7 @@ async function publish(commit, quality, platform, type, name, version, _isUpdate }); let containerClient = blobServiceClient.getContainerClient(quality); if (await assertContainer(containerClient)) { - const blobClient = containerClient.getBlobClient(blobName); + const blobClient = containerClient.getBlockBlobClient(blobName); const blobExists = await blobClient.exists(); if (blobExists) { console.log(`Blob ${quality}, ${blobName} already exists, not publishing again.`); diff --git a/build/azure-pipelines/common/publish.ts b/build/azure-pipelines/common/publish.ts index 5eacff2ffa..b3dbf1cd58 100644 --- a/build/azure-pipelines/common/publish.ts +++ b/build/azure-pipelines/common/publish.ts @@ -11,7 +11,7 @@ import * as crypto from 'crypto'; import * as mime from 'mime'; import * as minimist from 'minimist'; import { DocumentClient, NewDocument } from 'documentdb'; -import { BlobServiceClient, BlobClient, ContainerClient, StorageRetryPolicyType } from '@azure/storage-blob'; +import { BlobServiceClient, BlockBlobClient, ContainerClient, StorageRetryPolicyType } from '@azure/storage-blob'; // {{SQL CARBON EDIT}} if (process.argv.length < 9) { @@ -132,25 +132,17 @@ async function assertContainer(containerClient: ContainerClient): Promise { - blobClient.setHTTPHeaders({ - blobContentType: mime.lookup(file), - blobCacheControl: 'max-age=31536000, public' +async function uploadBlob(blobClient: BlockBlobClient, file: string): Promise { + const result = await blobClient.uploadFile(file, { + blobHTTPHeaders: { + blobContentType: mime.lookup(file), + blobCacheControl: 'max-age=31536000, public' + } }); - const copyPoller = await blobClient.beginCopyFromURL(file, { - onProgress(state) { - console.log(`Progress: ${state.copyProgress}`); - }, - - }); - while (!copyPoller.isDone()) { - await copyPoller.poll(); - } - const result = copyPoller.getResult(); - if (result && result.copyStatus === 'success') { - console.log(`Blobs uploaded successfully.`); + if (result && !result.errorCode) { + console.log(`Blobs uploaded successfully, response status: ${result?._response?.status}`); } else { - console.error(`Blobs failed to upload, response status: ${result?._response?.status}, copy status: ${result?.copyStatus}, errorcode: ${result?.errorCode}`) + console.error(`Blobs failed to upload, response status: ${result?._response?.status}, errorcode: ${result?.errorCode}`) } } @@ -199,7 +191,7 @@ async function publish(commit: string, quality: string, platform: string, type: let containerClient = blobServiceClient.getContainerClient(quality); if (await assertContainer(containerClient)) { - const blobClient = containerClient.getBlobClient(blobName); + const blobClient = containerClient.getBlockBlobClient(blobName); const blobExists = await blobClient.exists(); if (blobExists) {