簡體   English   中英

從 v10 升級到 v12 - AzureSDK JS

[英]Upgrade from v10 to v12 - AzureSDK JS

我正在嘗試將我的代碼從 v10 升級到 v12,但不知道如何繼續。 有人可以幫我解決嗎?

import {
    Aborter,
    AnonymousCredential,
    BlobUploadCommonResponse,
    BlockBlobURL,
    StorageURL,
    uploadBrowserDataToBlockBlob
} from '@azure/storage-blob';

import { Upload } from '../types/models';

const CREDENTIALS = new AnonymousCredential();
const PIPELINE = StorageURL.newPipeline(CREDENTIALS);

export function uploadToAzure(upload: Upload, blob: Blob, options: {} = {}): Promise<BlobUploadCommonResponse> {
    const blockBlobURL = new BlockBlobURL(upload.BlobURL, PIPELINE);

    return uploadBrowserDataToBlockBlob(Aborter.none, blob, blockBlobURL, options);
}

這就是我所做的。

import {
    Aborter,
    AnonymousCredential,
    BlobUploadCommonResponse,
    BlobServiceClient
    uploadBrowserData,
    newPipeline
} from '@azure/storage-blob';

import { Upload } from '../types/models';

const CREDENTIALS = new AnonymousCredential();
const PIPELINE = newPipeline(CREDENTIALS);

export function uploadToAzure(upload: Upload, blob: Blob, options: {} = {}): Promise<BlobUploadCommonResponse> {
    const blockBlobURL = new BlobServiceClient(upload.BlobURL, PIPELINE);

    return uploadBrowserData(blob, options);
}

與舊代碼相比,blockBlobURL 值從哪里傳入? 謝謝。

請指教。

在 @azure/storage-blob SDK v12 中,您可以使用包含 SAS 令牌的 URL 直接實例化BlockBlobClient

import { BlockBlobClient } from "@azure/storage-blob";

export function uploadToAzure(blobUrl: string , blob: Blob) {
  const client = new BlockBlobClient(blobUrl);
  return client.uploadBrowserData(blob);
}

實例化BlockBlobClient時,帶有 SAS 令牌的 blob url 作為第一個參數提供。 不再需要傳入AnonymousCredential因為如果沒有提供憑據對象,默認情況下將使用它。

文檔: https : //docs.microsoft.com/en-us/javascript/api/@azure/storage-blob/blockblobclient?view=azure-node-latest#blockblobclient-string--storagesharedkeycredential---anonymouscredential--- tokencredential--storagepipelineoptions-

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM