Ich weiß, dass ich die Azure CLI verwenden kann, um dies zu erreichen, aber ich möchte die üblichen Linux/Unix-Befehle verwenden.Azure Blob mit Shared Access-Signatur mit wget oder curl herunterladen
Ich habe einen Azure Blob Container, der privat ist. Nennen wir es https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension.
Wenn mein Container auf "Öffentlicher Lesezugriff nur für Blobs" eingestellt ist, funktioniert alles super.
$ wget https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension
--2016-04-28 16:11:15-- https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension
Resolving my-account.blob.core.windows.net (my-account.blob.core.windows.net)... 4.11.2.14
Connecting to my-account.blob.core.windows.net (my-account.blob.core.windows.net)|4.11.2.14|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 21682 (21K) [application/octet-stream]
Saving to: ‘my-file.my-extension’
Wenn mein Behälter wird auf „Kein Zugang der Öffentlichkeit,“ und ich erstelle eine Access-Politik my-policy
genannt, mit Lesen/Schreiben/Löschen/Liste für ein Jahr, erhalte ich den folgenden Link: https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension?sv=2015-02-21&si=my-policy&sr=b&sig=y%2B2pvIuR9rGQdvm%2FQKp0xNCWE%2B1G%2F2IqjHkWMhRcPUA%3D
Wenn ich den Link in einen Browser kopiere, wird die Datei automatisch heruntergeladen. Wenn ich wget
verwenden, erhalte ich den Fehler 404:
$ wget https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension?sv=2015-02-21&si=my-policy&sr=b&sig=y%2B2pvIuR9rGQdvm%2FQKp0xNCWE%2B1G%2F2IqjHkWMhRcPUA%3D
[4] 14106
[5] 14107
[6] 14108
[2] Done si=my-policy
[3] Done sr=b
$ --2016-04-29 01:25:54-- https://my-account.blob.core.windows.net/my-blob-container/my-file.my-extension?sv=2015-02-21
Resolving my-account.blob.core.windows.net (my-account.blob.core.windows.net)... 4.11.2.14
Connecting to my-account.blob.core.windows.net (my-account.blob.core.windows.net)|4.11.2.14|:443... connected.
HTTP request sent, awaiting response... 404 The specified resource does not exist.
2016-04-29 01:25:54 ERROR 404: The specified resource does not exist..
wget
zurück Beenden Statistik 8 ("Server eine Fehlermeldung ausgegeben").
Hallo die wget Anruf tätigen, habe meine Antwort Hilfe? –
Vielen Dank für Ihre Antwort @ step-locke. Ich habe versucht, "st", "se" und "sp" hinzuzufügen, wie Sie vorschlagen, aber die Fehlermeldung ist die gleiche ('HTTP/1.1 404 Die angegebene Ressource existiert nicht.'). Es verwirrt mich immer noch, weil ein Webbrowser keine Probleme hat, die Datei mit genau der gleichen URL herunterzuladen. – numeratus
Ich habe ein Update hinzugefügt. Es sieht so aus, als ob der Schlüsselunterschied zwischen unseren Cmd-Zeilen den Fehler verursacht - Sie geben die URL nicht an. Wenn ich die URL nicht zitiere, erzeugt sie auch einen Fehler 404 –