繁体   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