Próbuję wykonać żądanie PUT, aby utworzyć nowy obiekt BLOB. Po początkowych kłopotach z nagłówkiem Authorization otrzymuję komunikat błędu 404 Resource Not Found, gdy próbuję umieścić PUT w kontenerze.Dlaczego usługa Azure nie zwraca 404 zasobów w odpowiedzi na żądanie typu blob PUT?
czuję raczej pewne, że mam prawo URL:
https://accountNameHere.blob.core.windows.net/containerNameHere
Sprawdziłem i ponownie sprawdzane, aby upewnić się, że jestem w tym nazwę kontenera oraz nazwę konta, a oni Oba poprawne.
Co jeszcze może być przyczyną tego (pomijając wyraźną możliwość, że robię to wszystko źle)?
Edycja do dodania:
Oto surowe nagłówki żądania:
PUT /testss HTTP/1.1
Host: accountName.blob.core.windows.net
Accept: */*
Connection: Keep-Alive
0: content-encoding
1: content-language
2: content-length
3: content-md5
4: content-type
5: date
6: if-modified-since
7: if-match
8: if-none-match
9: if-unmodified-since
10: range
x-ms-blob-type: BlockBlob
x-ms-version: 2011-08-18
x-ms-date: Fri, 09 Aug 2013 04:17:59 GMT
Content-Length: 126377
Authorization: SharedKey accountName:MBVLmoxzxZr+tf8EZw2GkbFLEHuNn8FNAaEHrcty/cM=
Expect: 100-continue
Oto ciąg do podpisania, że wysłałem:
PUT x-ms-blob-type:BlockBlob x-ms-date:Fri, 09 Aug 2013 04:03:20 GMT x-ms-version:2011-08-18 /accountName/test
I tu jest to, czego oczekuje:
PUT 126377 x-ms-blob-type:BlockBlob x-ms-date:Fri, 09 Aug 2013 04:02:17 GMT x-ms-version:2011-08-18 /accountName/test
T jedyną różnicą między tymi dwoma jest 126377
po PUT
. To jest długość zawartości pliku, po prostu nie jestem pewien, jak go usunąć.
Po zainstalowaniu Fiddlera, zaraz po uruchomieniu dam ci znać, co znajdę. Tak, kontener już istnieje, stworzyłem go ręcznie. – user1091949
właśnie edytował pytanie z informacją od Fiddlera. Dziękuję za pomoc w tej sprawie. – user1091949
Wyliczyłem to. Zestaw SDK PHP firmy Microsoft jest absolutnie przerażający. To naprawdę okropne. Oni są winni. Pracuję nad naprawieniem tego, a następnie prześlę wnioski o odesłanie. Dzięki za pomoc. – user1091949