所以现在我需要将文件从文件服务器直接上传到 Azure Blob,而不是在后台作业中使用流。无论如何,是否可以从给定 url 的远程位置直接上传到 azure?我在 SDK 中看到的所有内容都需要使用某种形式的流。我想删除作为中间人的服务应用程序,让azure自动上传文件。无论如何我都找不到这样做的方法,也找不到堆栈溢出的答案。
替代解决方案 使用 powershell 直接上传到 azure blob。有一个特定的目录就像一个队列,任何放置在那里的文件都会从文件服务器上传到 azure blob。然后后台作业将从那里做它需要做的事情......
答案 0 :(得分:1)
正如评论中提到的Andy
,您可以使用azcopy
来完成它。
可以参考这个官方文档:
https://docs.microsoft.com/en-us/azure/storage/common/storage-ref-azcopy-copy
语法形式是这样的:
azcopy cp [source] [destination] [flags]
更新:
我使用的是 Azure.Storage.Blobs SDK。
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(containerName);
BlobClient blobClient = containerClient.GetBlobClient(fileName);
var sourceUri = new Uri("<your-uri>");
blobClient.StartCopyFromUri(sourceUri);