简体   繁体   English

从 v10 升级到 v12 - AzureSDK JS

[英]Upgrade from v10 to v12 - AzureSDK JS

I am trying to upgrade my code from v10 to v12 but have no idea on how to go forward.我正在尝试将我的代码从 v10 升级到 v12,但不知道如何继续。 Can someone help me out with it please?有人可以帮我解决吗?

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

This is what I have done.这就是我所做的。

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

Where does blockBlobURL value gets passed into as opposed to the old code?与旧代码相比,blockBlobURL 值从哪里传入? Thanks.谢谢。

Please advice.请指教。

In v12 of the @azure/storage-blob SDK you can directly instantiate the BlockBlobClient with your URL that contains a SAS token.在 @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);
}

The blob url with SAS token is provided as the first parameter when instantiating the BlockBlobClient .实例化BlockBlobClient时,带有 SAS 令牌的 blob url 作为第一个参数提供。 It is no longer required to pass in the AnonymousCredential since this will be used by default if no credential object is provided.不再需要传入AnonymousCredential因为如果没有提供凭据对象,默认情况下将使用它。

Documentation: https://docs.microsoft.com/en-us/javascript/api/@azure/storage-blob/blockblobclient?view=azure-node-latest#blockblobclient-string--storagesharedkeycredential---anonymouscredential---tokencredential--storagepipelineoptions-文档: 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