使用Azure上载和访问图像

使用Azure上载和访问图像,azure,azure-storage,azure-storage-blobs,Azure,Azure Storage,Azure Storage Blobs,我想上传一些静态图像,稍后我将通过一些移动应用程序访问这些图像。我有一个我很少使用的Azure帐户,所以我认为那是最好的地方,因此我将它们上传到Azure存储中的“文件共享”中 我想我可以让他们通过一个简单的web请求url访问这些文件 https://myplace.file.core.windows.net/app/images/bnb/shop/bugle_200_2.jpg 所有这一切让我觉得是一个错误的请求。我意识到我可以为每个文件创建一个共享访问签名(SAS),但这似乎太过分了 是

我想上传一些静态图像,稍后我将通过一些移动应用程序访问这些图像。我有一个我很少使用的Azure帐户,所以我认为那是最好的地方,因此我将它们上传到Azure存储中的“文件共享”中

我想我可以让他们通过一个简单的web请求url访问这些文件

https://myplace.file.core.windows.net/app/images/bnb/shop/bugle_200_2.jpg
所有这一切让我觉得是一个错误的请求。我意识到我可以为每个文件创建一个共享访问签名(SAS),但这似乎太过分了


是否有更好的Azure功能可供使用?我不想使用Azure API获取这些文件

我认为您应该使用的服务是blob存储,而不是文件存储。根据,文件存储对于SMB共享意味着更多

当您设置Azure blob存储时,您有两个不同的选项。如果这些静态图像没有任何敏感/安全,你可以考虑简单地访问这样的文件。 如果需要身份验证,则需要使用azure存储访问密钥或azure存储访问令牌。在这两种令牌中,存储访问令牌是迄今为止最安全的


您不需要为每个文件创建SAS令牌,而是向容器授予它读权限。再次,您必须根据应用程序的安全/敏感性需求调整此功能。

我认为您应该使用的服务是blob存储,而不是文件存储。根据文件存储,对于SMB共享而言,文件存储的意义更大

当您设置Azure blob存储时,您有几个不同的选项。如果这些静态图像没有任何敏感/安全,你可以考虑简单地访问这样的文件。 如果需要身份验证,则需要使用azure存储访问密钥或azure存储访问令牌。在这两种令牌中,存储访问令牌是迄今为止最安全的


您不需要为每个文件创建SAS令牌,而是授予它对容器的读取权限。再一次,您必须根据应用程序的安全性/敏感性需求对其进行调整。

在@CtrlDot的优秀答案中添加几点

我完全同意您应该使用
Blob存储
来存储静态内容

关于容器权限,我实际上建议将权限(ACL)设置为
Blob
,这样用户只能查看他们有URL的Blob,而不能枚举容器中的所有Blob(将容器ACL设置为
container
将允许用户列出容器中的blob,这可能不是您想要的行为)

除此之外,使用Blob存储还有两个明显的优点:

  • 自定义域:您可以将blob存储映射到自定义域(例如static content.mywebsite.com),并使用它来服务内容,而不是使用Azure blob存储标准端点(您的account.blob.core.windows.net)
  • CDN:您还可以启用blob存储端点。然后,内容将在遍布全球的多个CDN节点上复制,并从靠近用户的节点提供服务,从而改善用户体验

  • 在@CtrlDot的优秀答案上再添加几点

    我完全同意您应该使用
    Blob存储
    来存储静态内容

    关于容器权限,我实际上建议将权限(ACL)设置为
    Blob
    ,这样用户只能查看他们有URL的Blob,而不能枚举容器中的所有Blob(将容器ACL设置为
    container
    将允许用户列出容器中的blob,这可能不是您想要的行为)

    除此之外,使用Blob存储还有两个明显的优点:

  • 自定义域:您可以将blob存储映射到自定义域(例如static content.mywebsite.com),并使用它来服务内容,而不是使用Azure blob存储标准端点(您的account.blob.core.windows.net)
  • CDN:您还可以启用blob存储端点。然后,内容将在遍布全球的多个CDN节点上复制,并从靠近用户的节点提供服务,从而改善用户体验