我正在尝试将一个容器中的 blob 复制到 azure 中的另一个存储帐户。
我正在使用@azure/storage-blob 12.0.0,但我无法弄清楚如何在不下载 blob 的情况下将其复制到另一个容器。
也许有人可以提供帮助并发布一个快速示例。
斯特凡
我正在尝试将一个容器中的 blob 复制到 azure 中的另一个存储帐户。
我正在使用@azure/storage-blob 12.0.0,但我无法弄清楚如何在不下载 blob 的情况下将其复制到另一个容器。
也许有人可以提供帮助并发布一个快速示例。
斯特凡
如果你想用 nodejs sdk 复制 blob @azure/storage-blob
,你可以使用方法BlobClient.beginCopyFromURL
来实现它。更多详细信息,请参阅文档。
例如(将 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()