如何使用 node sdk 将 Azure 中的 blob 复制到另一个容器
How to Copy a blob in azure to another container with node sdk
我正在尝试将一个容器中的 blob 复制到 azure 中的另一个存储帐户。
我正在使用@azure/storage-blob 12.0.0,但我不知道如何在不下载的情况下将 blob 复制到另一个容器。
也许有人可以提供帮助,post 举个简单的例子。
斯蒂芬
如果想用nodejs sdk@azure/storage-blob
复制blob,可以使用方法BlobClient.beginCopyFromURL
来实现。详情请参考document.
例如(将 blob 从一个容器复制到同一存储帐户中的另一个容器)
const { BlobServiceClient, StorageSharedKeyCredential } = require("@azure/storage-blob");
async function copy(){
const account = "blobstorage0516";
const accountKey=""
const cert = new StorageSharedKeyCredential(account,accountKey)
const blobServiceClient = new BlobServiceClient(
`https://${account}.blob.core.windows.net`,
cert
);
const sourceContainer=blobServiceClient.getContainerClient("test")
const desContainer=blobServiceClient.getContainerClient("copy")
//if the desContainer does not exist, please run the following code
await desContainer.create()
//copy blob
const sourceBlob=sourceContainer.getBlobClient("emp.txt");
const desBlob=desContainer.getBlobClient(sourceBlob.name)
const response =await desBlob.beginCopyFromURL(sourceBlob.url);
const result = (await response.pollUntilDone())
console.log(result._response.status)
console.log(result.copyStatus)
}
copy()
我正在尝试将一个容器中的 blob 复制到 azure 中的另一个存储帐户。
我正在使用@azure/storage-blob 12.0.0,但我不知道如何在不下载的情况下将 blob 复制到另一个容器。
也许有人可以提供帮助,post 举个简单的例子。
斯蒂芬
如果想用nodejs sdk@azure/storage-blob
复制blob,可以使用方法BlobClient.beginCopyFromURL
来实现。详情请参考document.
例如(将 blob 从一个容器复制到同一存储帐户中的另一个容器)
const { BlobServiceClient, StorageSharedKeyCredential } = require("@azure/storage-blob");
async function copy(){
const account = "blobstorage0516";
const accountKey=""
const cert = new StorageSharedKeyCredential(account,accountKey)
const blobServiceClient = new BlobServiceClient(
`https://${account}.blob.core.windows.net`,
cert
);
const sourceContainer=blobServiceClient.getContainerClient("test")
const desContainer=blobServiceClient.getContainerClient("copy")
//if the desContainer does not exist, please run the following code
await desContainer.create()
//copy blob
const sourceBlob=sourceContainer.getBlobClient("emp.txt");
const desBlob=desContainer.getBlobClient(sourceBlob.name)
const response =await desBlob.beginCopyFromURL(sourceBlob.url);
const result = (await response.pollUntilDone())
console.log(result._response.status)
console.log(result.copyStatus)
}
copy()