2013-08-09 1 views
22

새 BLOB을 만들 PUT 요청을 시도하고 있습니다. Authorization 헤더에 몇 가지 초기 문제가 발생한 후 컨테이너에 파일을 PUT하려고하면 404 리소스를 찾을 수 없음 오류가 발생합니다.Azure가 PUT BLOB 요청에 대한 응답으로 404 리소스를 찾을 수없는 이유는 무엇입니까?

나는 내가 URL의 권리가 오히려 특정 느낌 :

https://accountNameHere.blob.core.windows.net/containerNameHere

내가 확인하고 난 컨테이너 이름과 계정 이름을 포함하고있어 있는지 확인 - 확인 재를, 그들은 ' 둘 다 맞습니다.

그 밖의 원인이 무엇이 될 수 있습니까?

편집 추가하기 : 여기

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 

내가 보낸 서명 문자열입니다 :

여기

원시 요청 헤더 여기에

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 

을 그리고 그들이 기대했던 것입니다 :

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 두 사람 사이의 차이점은 PUT 이후에 126377입니다. 그 파일의 내용 길이, 나는 그것을 제거하는 방법을 모르겠습니다.

답변

0

당신이 생각하는 요청을 보내고 있는지 확인하려면 Fiddler을 사용해야합니다. Fiddler 요청을 문서와 비교할 수 있습니다.

컨테이너가 이미 존재합니까? 타사 저장 장치 탐색기를 사용하여 확인하십시오.

+0

방금 ​​피들러가 설치되면 곧 내가 찾은대로 내가 찾은 것을 알려 드리겠습니다. 예, 컨테이너가 이미 존재합니다. 수동으로 생성했습니다. – user1091949

+0

님이 Fiddler의 정보를 사용하여 질문을 편집했습니다. 이것에 대한 귀하의 도움에 감사드립니다. – user1091949

+0

그것을 알아 냈습니다. Microsoft의 PHP SDK는 절대적으로 끔찍합니다. 그것은 정말로 끔찍합니다. 그들은 잘못되었습니다. 나는 그것을 고치기 위해 노력하고있다. 그리고 풀 요청을 제출할 것이다. 당신의 도움을 주셔서 감사합니다. – user1091949

19

Blob 컨테이너의 보안 설정을 확인 했습니까? 충분한 액세스 권한이없는 것일 수 있습니다.

+3

'Blob 서비스> 컨테이너> 액세스 정책 ' – Yar

+0

당신은 다 남자입니다. 감사. –

8

용기를 점검하십시오. 새 포털에서 옆에있는 줄임표 및 편집을 클릭하십시오. 컨테이너의 목록을 허용하려면 액세스 유형을 Blob 또는 Container로 설정하십시오.

Microsoft는 보안을 강화하여 새 컨테이너를 기본적으로 비공개로 설정 한 것으로 보입니다.

+0

이 답변을 주셔서 감사합니다. 내 컨테이너에서 Blob을 볼 수있는 이유에 대해 고심하고 있었지만 URL을 치고 브라우저에서 다운로드 할 수 없었습니다. 액세스 유형 "Blob"대 "컨테이너"의 차이점은 무엇입니까, 알고 계십니까? –

+0

@PhilipTenn Blob은 blob이 공용이지만 컨테이너가 아니라는 것을 의미합니다. Container는 컨테이너와 blob이 모두 public임을 의미합니다. – stuartdotnet

관련 문제