Azure functions 使用Azure函数将文件从一个存储复制到另一个存储会引发错误

Azure functions 使用Azure函数将文件从一个存储复制到另一个存储会引发错误,azure-functions,azure-storage,azure-storage-blobs,Azure Functions,Azure Storage,Azure Storage Blobs,我正在尝试将一个文件从一个存储复制到另一个存储。基本上,有人将文件上载到存储a,my Azure功能会自动将其复制到存储B 在VisualStudio中,触发器指向本地开发存储 [FunctionName("CopyUserFileToTestStorage")] public static async Task Run( [BlobTrigger("user-content", Connection = "")]CloudBl

我正在尝试将一个文件从一个存储复制到另一个存储。基本上,有人将文件上载到存储a,my Azure功能会自动将其复制到存储B

在VisualStudio中,触发器指向本地开发存储

[FunctionName("CopyUserFileToTestStorage")]
public static async Task Run(
    [BlobTrigger("user-content", Connection = "")]CloudBlockBlob incomingBlob,
    [Blob("user-content2", FileAccess.Write, Connection = "SecondStorageConnectionString")] CloudBlobContainer outgoingBlobContainer, 
    TraceWriter log)
{
    log.Info($"Incoming blob to storage\n Name:{incomingBlob.Name} \n Path: {incomingBlob.Uri}");

    await outgoingBlobContainer.CreateIfNotExistsAsync();
    var outgoingBlob = outgoingBlobContainer.GetBlockBlobReference(incomingBlob.Name);
    await outgoingBlob.StartCopyAsync(incomingBlob);
}
以下代码抛出此错误(在放弃之前抛出5次):

我知道第二个存储的连接字符串可以工作,因为路径“user-content2”是在触发时创建的。本地开发存储器具有读取权限,我可以在浏览器中调用该图像,它显示得很好


是否该映像尚未完全上载到存储(我正在使用存储资源管理器进行测试),因此不存在?

问题是,您无法使用blob复制功能在存储帐户和模拟器之间复制blob

Blob复制功能是一种服务器端功能,Azure存储服务将Blob从源帐户异步复制到目标帐户。要使复制操作正常工作,Azure存储服务应该能够访问源帐户和目标帐户。考虑到您的目标帐户是无法从Azure存储服务访问的emulator帐户,您将遇到此错误


请尝试在两个实际的存储帐户之间进行复制,您的代码应该可以正常工作。

问题是您无法使用blob复制功能在存储帐户和模拟器之间复制blob

Blob复制功能是一种服务器端功能,Azure存储服务将Blob从源帐户异步复制到目标帐户。要使复制操作正常工作,Azure存储服务应该能够访问源帐户和目标帐户。考虑到您的目标帐户是无法从Azure存储服务访问的emulator帐户,您将遇到此错误


请尝试在两个实际存储帐户之间进行复制,您的代码应该可以正常工作。

非常好,感谢您的快速响应和解释。非常好,感谢您的快速响应和解释。
[2021-05-13 14:39:48] Executing 'CopyUserFileToTestStorage' (Reason='New blob detected: user-content/test-image.jpg', Id=3f3c2341-6c1a-4fb6-b4af-5c71bfed47b2)
[2021-05-13 14:39:48] Incoming blob to storage
 Name:test-image.jpg
 Path: http://127.0.0.1:10000/devstoreaccount1/user-content/test-image.jpg
[2021-05-13 14:39:49] Executed 'CopyUserFileToTestStorage' (Failed, Id=3f3c2341-6c1a-4fb6-b4af-5c71bfed47b2)
[2021-05-13 14:39:49] System.Private.CoreLib: Exception while executing function: CopyUserFileToTestStorage. Microsoft.WindowsAzure.Storage: The specified resource does not exist.