Czy nagłówki HTTP RANGE działają z podpisami współdzielonego dostępu do pamięci masowej Azure Blob?
Używam usługi Azure Blob Storage do przechowywania plików multimedialnych i zapewniania dostępu do tych plików za pomocą udostępnionych podpisów dostępu; pod tym względem wszystko działa dobrze.
Mam jednak aplikację kliencką, która musi „wznowić” dostęp do tych plików i korzysta z nagłówka HTTP RANGE. Gdy wysyła taki wniosek, nie jest zadowolony z wyniku, który otrzymuje z platformy Azure.
Nie wiem, jak wyświetlić szczegóły po stronie Azure, aby sprawdzić, czy żądanie nie powiodło się, lub czy po prostu zwróciło coś, czego klient nie oczekiwał, i nie mam widoczności debugowania w kliencie.
Oto jak wygląda nagłówek nadchodzącego zakresu:
RANGE: bytes=4258672-
Z przeczytanej dokumentacji Azure wynika, że obsługuje ona nagłówki RANGE, jednak zastanawiam się, czy istnieje konflikt za pomocą RANGE i wspólnych sygnatur dostępu?
Aktualizacja: Wydaje się, że Azure może zwracać niepoprawny kod statusu dla żądań RANGE, co powoduje, że aplikacje klienckie odrzucają odpowiedź. Dokumentacja stwierdza, że platforma Azure odpowie kodem stanu HTTP 206 podczas odpowiadania na żądanie RANGE, jednak w przypadku wydania żądania RANGE w ten sposób:
curl -I -H "User-Agent: Bonos" -r 500- "https://murfie.blob.core.windows.net/168464/1.mp3?st=2013-07-03T16%3A34%3A32.4832235Z&se=2013-07-03T17%3A34%3A32.4613735Z&sr=b&sp=r&sig=mJgQGW%2Fr3v8HN2%2BVV3Uady7J68nFqeHyzQb37HAhfuE%3D"
Azure zwraca następujące elementy:
HTTP/1.1 200 OK
Content-Length: 19988911
Content-Type: application/octet-stream Charset=UTF-8
Last-Modified: Fri, 07 Jun 2013 16:44:50 GMT
ETag: 0x8D031B57670B986
Server: Blob Service Version 1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 77312761-65a9-42ef-90cd-ff718a80b231
Date: Wed, 03 Jul 2013 16:41:01 GMT