我想上传一些静态图片,稍后我会通过一些移动应用访问这些图片。我有一个很少使用的Azure帐户,所以我认为这是最好的地方,因此我将它们上传到Azure存储中的“文件共享”。
我天真以为我可以通过简单的网络请求网址
访问这些文件https://myplace.file.core.windows.net/app/images/bnb/shop/bugle_200_2.jpg
所有这些让我感到BadRequest错误。我意识到我可以为每个文件创建一个共享访问签名(SAS),但这似乎完全矫枉过正。
是否有更好的Azure功能可供使用?我不想使用Azure API来获取这些文件
答案 0 :(得分:3)
为@ CtrlDot添加更多积分,这是一个很好的答案。
我完全同意您应该使用Blob Storage
来存储静态内容。
在容器权限上,我实际上建议将权限(ACL)设置为Blob
,以便用户只能查看他们拥有URL的blob而不能枚举容器中的所有blob(将容器ACL设置为Container
将使用户能够在容器中列出可能不是您想要的行为的blob。)
除此之外,使用Blob存储有两个明显的优势:
答案 1 :(得分:2)
我认为您应该使用的服务是blob存储,而不是文件存储。根据{{3}},文件存储对SMB共享意味着更多。
设置Azure blob存储时,您有几个不同的选项。如果这些静态图像没有任何敏感/安全,您可以考虑制作the documentation并简单地访问这样的文件。
如果您需要身份验证,则需要使用azure存储访问密钥或azure存储访问令牌。在这两者中,存储访问令牌是迄今为止最安全的。
您不需要为每个文件创建SAS令牌,而是授予它对容器的读取权限。再一次,您必须根据应用程序的安全性/敏感性需求进行定制。