gpt4 book ai didi

c# - 复制 Azure Append Blob 并收到 404

转载 作者:行者123 更新时间:2023-12-03 04:19:08 25 4
gpt4 key购买 nike

处理后尝试将附加 blob 移动到另一个容器。我首先只是尝试复制它,然后我将删除它(除非有实际的移动功能?)

使用 C#

我不断收到 404 错误:远程服务器返回错误:(404) 未找到。 ---> System.Net.WebException :远程服务器返回错误:(404) 未找到。 在 System.Net.HttpWebRequest.GetResponse()

我尝试在容器和 blob 级别创建 SasToken。

private static void  copyBlob(messageClass msgPassed, CloudStorageAccount storageAccount)
{
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer sourceContainer = blobClient.GetContainerReference(receiveScanContainer);

//create a SAS on source blob container with "read" permission. We will append this SAS later
var sasToken = sourceContainer.GetSharedAccessSignature(new SharedAccessBlobPolicy()
{
Permissions = SharedAccessBlobPermissions.Read,
SharedAccessExpiryTime = DateTime.UtcNow.AddDays(1),
});

CloudBlobContainer targetContainer = blobClient.GetContainerReference(archiveContainer);

CloudAppendBlob sourceBlob = sourceContainer.GetAppendBlobReference(msgPassed.currentName);
var sasToken2 = sourceBlob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
{
Permissions = SharedAccessBlobPermissions.Read,
SharedAccessExpiryTime = DateTime.UtcNow.AddDays(1),

});

CloudAppendBlob targetBlob = targetContainer.GetAppendBlobReference(msgPassed.currentName);
string name = sourceBlob.Uri.Segments.Last();
CloudAppendBlob destBlob = targetContainer.GetAppendBlobReference(name+sasToken2);

targetBlob.StartCopy(destBlob);
}

最佳答案

好的...深入研究一下。下面的作品。我传递的目标容器名称也与实际容器名称略有错误(少了一个字母)。

    private static void  copyBlob(messageClass msgPassed, CloudStorageAccount storageAccount)
{


CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer sourceContainer = blobClient.GetContainerReference(receiveScanContainer);

CloudBlobContainer targetContainer = blobClient.GetContainerReference(archiveContainer);

CloudAppendBlob sourceBlob = sourceContainer.GetAppendBlobReference(msgPassed.currentName);
CloudAppendBlob targetBlob = targetContainer.GetAppendBlobReference(msgPassed.currentName);


targetBlob.StartCopy(sourceBlob);
}

关于c# - 复制 Azure Append Blob 并收到 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50625186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com