2011-11-09 6 views
2

내 응용 프로그램에서 웹 서비스는 공유 액세스 서명 (컨테이너에 대한 쓰기 권한)을 클라이언트에 보내 파일을 업로드 할 수 있도록합니다.하늘색 얼룩 컨테이너의 크기를 제한하는 방법은 무엇입니까?

업로드 된 콘텐츠의 크기 (예 : 1Gb)를 제한 할 수있는 방법이 있습니까? 이상적인 솔루션은 컨테이너의 사용자 지정 크기 제한입니다. 그렇지 않으면 공유 액세스 서명에 제한이 될 수 있습니다.

블로 브에서 해당 기능을 사용할 수있는 경우 개별 블로 브에 공유 액세스 서명을 보내도록 응용 프로그램을 변경할 수도 있습니다.

답변

11

Windows Azure는 컨테이너 당 제한을 제공하지 않습니다. Windows Azure에서 제공하는 제한은 저장소 계정 (100 TB/계정)과 개별 BLOB (BLOB 블록의 경우 최대 200 GB, Blob BLOB의 경우 최대 1 TB)입니다. 귀하의 요구 사항에, 나는 당신이 귀하의 응용 프로그램 에서이 한도를 구현해야 할 것 같아요.

+0

공유 액세스를 사용하여 비용이 청구되는 기록에는 한도를 두지 못합니다. 당신이 말했듯이, 나는 내 응용 프로그램에서 그것을해야 할거야 공유 액세스 서명을 피하십시오. – Guillaume

+0

업데이트 만 : 계정 제한이 200TB로 증가했습니다. http://blogs.msdn.com/b/windowsazurestorage/archive/2012/11/04/windows-azure-s-flat-network-storage-and-2012-scalability-targets.aspx – Gildor

+1

한계는 이제 500TB입니다. https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#storage-limits – jebar8

-1

일반적으로 누군가가 업로드를 앱에 먼저 보내고 앱이 파일을 BLOB 자체에 씁니다. 임대 된 서명은 일반적으로 읽기 전용 시나리오에 사용됩니다.

+3

그런 식으로 푸른 색 기억 장치가 확장 가능하다는 사실로부터 이익을 얻는 대신 앱을 확장 가능하게 만들 필요가 있습니다. – Ari

+0

읽기 전용 시나리오의 경우 공유 액세스 서명 토큰을 사용하려는 경우 특정 시간에 하나의 프로세스/실행 파일 만 BLOB를 읽거나 쓸 수 있도록 임대가 임대됩니다. – viggity

3

보내지는 날짜 크기에 대해 클라이언트를 신뢰한다는 개념은 매우 위험합니다. 특히 전송되고 저장되는 데이터의 크기에 따라 요금이 부과되는 서비스의 경우 매우 위험합니다.

클라이언트는 공용 HTML 웹 사이트 일 수 있습니다. 서비스를 호출하여 SAS를 유출 할 수있는 사용자라면 막대한 파일을 보낼 수 있습니다.

SAS는 주어진 컨테이너/BLOB에 대해 쓰여진 데이터의 최대 크기를 지정해야한다고 생각합니다.

-2

이 기능은 반드시! 그렇지 않으면 클라이언트가 SAS 키를 남용하여 필요한 것보다 많은 트래픽을 발생시킬 수 있습니다. 이 기능과 함께 Microsoft는 실제로 악의있는 ​​사용자가 악의적 인 동작을 채택하도록 유도하고 있습니다!

+1

게시 한 답변이 아닙니다. 어쩌면 당신의 생각/아이디어를 UserVoice에 가져갈 수 있을까요? StackOverflow는 이것을위한 장소가 아닙니다. 또한 인포운드 대역폭은 무료이며 BLOB 업로드를 위해 SAS 링크 컨테이너를 사용할 때 트래픽이 Blob Storage로 직접 이동하기 때문에 실행중인 모든 VM/서비스에 영향을 미치지 않습니다. –

+0

또한 개발자가 상상하고있는 악용 유형을 잘 모릅니다. 앱 개발자로서 컨테이너의 콘텐츠는 물론 SAS 지속 시간을 완전히 제어 할 수 있습니다 (너무 큰 업로드를 쉽게 삭제할 수 있음). 또한 GB 당 월 1 페니와 몇 분 후에 삭제할 수있는 능력으로 남용의 기회가있는 곳을 볼 수 없습니다. –

+0

친애하는 @DavidMakogon, 프로덕션 환경의 실제 앱에서 솔루션을 사용해 볼까요? 내가 무슨 일이 일어날 지 경고하지 않았다고 말하지 마라. –