Der anonyme Blob-Download gibt 403 „Verboten“ zurückC#

Ein Treffpunkt für C#-Programmierer
Guest
 Der anonyme Blob-Download gibt 403 „Verboten“ zurück

Post by Guest »

Mein C#-Programm lädt mithilfe von Azure.StorageServices.BlobService eine Liste von Dateien aus einem Azure Storage-Blob herunter. Aber sobald es eine bestimmte mono-2.0-bdwgc.dll-Datei erreicht, erhalte ich eine Antwort fehlgeschlagen mit dem Status: 403 Forbidden-Antwort.
Diese Datei ist die zuerst innerhalb eines Unterordners (oder was auch immer das Äquivalent für einen Blob wäre). Wenn ich eine weitere Datei mit einem niedrigeren alphanumerischen Namen hinzufüge (

Code: Select all

alpha.txt
), jetzt wird alpha.txt diejenige, die 403 Forbidden zurückgibt. Vielleicht etwas mit Unterordnern zu tun? Einige der zuvor heruntergeladenen Dateien befinden sich jedoch in anderen Ordnern.
Auf alle Dateien kann anonym zugegriffen werden. Tatsächlich kann ich sogar die URIs [...]/mono-2.0-bdwgc.dll oder [...]/alpha.txt in einem Browser öffnen und sie werden ohne Probleme heruntergeladen . Meine Ressourcenpfade verwenden immer Schrägstriche / als Trennzeichen.
Wenn Sie explizit versuchen, die Datei beim Start des Programms herunterzuladen (bevor ich mit dem Herunterladen der Liste der Blobs beginne), Es lädt es auch problemlos herunter. Es scheint sich nur zu beschweren, wenn ich es versuche, während ich die gesamte Liste der Blobs herunterlade.
Ein einfacher Auszug meines Codes:

Code: Select all

StorageServiceClient client = StorageServiceClient.Create(STORAGE_ACCOUNT, blobKey);
blobService = client.GetBlobService();

...

for (int i = 0; i < blobsToDownload.Count; i++)
{
await blobService.GetBlob(OnBlobReceived, blobsToDownload[i]);
}

Code: Select all

private async void OnBlobReceived(IRestResponse response)
{
if (response.IsError)
{
// This fails with 403 Forbidden
throw new Exception($"{(int)response.StatusCode} {response.ErrorMessage} {response.Url}");
}
...
}
Mir ist aufgefallen, dass Microsoft kürzlich den empfohlenen x-ms-version-Header auf MSDN in 2025-01-05 geändert hat, also bin ich diesem Beispiel gefolgt , aber nichts hat sich geändert.
Weiß jemand, warum es bei dieser bestimmten Datei in diesem speziellen Fall fehlschlagen würde?

Update
Am Ende habe ich das entfernt Azure.StorageServices.BlobService 12.23.0-Paket, das ich verwendet habe, und bin stattdessen auf das offizielle Azure.Storage.Blobs (über NuGet für Unity) umgestiegen. Nach einer schnellen Implementierung scheint das Problem behoben zu sein. Ich bin mir nicht sicher, was die Ursache war, da derselbe Code vor weniger als einer Woche funktionierte, aber zumindest ist er jetzt behoben.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post