2017-04-11 5 views
0

일부 모바일 앱을 통해 나중에 액세스 할 수있는 일부 정적 이미지를 업로드하고 싶습니다. 나는 내가 거의 사용하지 않는 Azure 계정을 가지고 있기 때문에 이것이 최고의 장소라고 생각하여 Azure Storage 내의 "파일 공유"에 업로드했습니다. Azure로 이미지 업로드 및 액세스

나는 naievely 내가 그들을 그냥 간단한 웹 요청 URL

https://myplace.file.core.windows.net/app/images/bnb/shop/bugle_200_2.jpg 

이 모든 나를 BadRequest 오류입니다 도착를 통해 해당 파일에 액세스 할 수 있습니다 생각했다. 나는 모든 파일에 대해 Shared Access Signature (SAS)를 만들 수 있다고 생각하지만 총 과잉으로 보인다.

더 나은 Azure 기능을 사용할 수 있습니까? Azure API를 사용하여 이러한 파일을 가져오고 싶지 않습니다.

답변

2

사용하려는 서비스는 파일 저장이 아닌 BLOB 저장소입니다. the documentation에 따른 파일 저장소는 SMB 공유에 대해 더 많은 의미가 있습니다.

Azure BLOB 저장소를 설정하면 두 가지 옵션이 있습니다. 이러한 정적 이미지에 대해 민감한/안전함이없는 경우 public container을 만들고 그와 같은 파일에 액세스하는 것을 고려할 수 있습니다.

인증이 필요하면 azure storage access keys 또는 azure storage access token 중 하나를 사용해야합니다. 두 가지 중 스토리지 액세스 토큰이 훨씬 안전합니다.

각 파일에 대해 SAS 토큰을 생성 할 필요없이 컨테이너에 읽기 권한을 부여 할 수 있습니다. 다시 한번, 애플리케이션의 보안/민감성 요구에 맞게 조정해야합니다.

3

@ CtrlDot의 우수 답변에 몇 가지 추가 점을 추가하십시오.

정적 콘텐츠 저장에 Blob Storage을 사용해야한다는 것에 전적으로 동의합니다.

컨테이너 사용 권한에서 실제로 사용자가 볼 수있는 BLOB를 볼 수 있도록 컨테이너 (ACL을 Container으로 설정하여 컨테이너에있는 모든 BLOB를 열거하지 않도록 허용) (ACL)를 Blob으로 설정하는 것이 좋습니다. 사용자가 원하는 동작이 아닐 수있는 컨테이너의 얼룩을 나열). 이 외에

, 물방울 스토리지 사용의 두 가지 장점이 있습니다

  1. 사용자 정의 도메인 : 당신은 얼룩 사용자 정의 도메인에 저장 (예 : 정적 content.mywebsite.com) 사용을지도 할 수 Azure Blob 저장소 표준 끝점 (your account.blob.core.windows.net) 대신 콘텐츠를 제공해야합니다.
  2. CDN : Blob 저장소 끝점을 CDN으로 설정할 수도 있습니다. 콘텐츠는 전 세계에 퍼져있는 많은 CDN 노드에서 복제되며 사용자 가까이에있는 노드에서 제공되므로 사용자 환경이 개선됩니다.