azure - 用于图像上传的 Service Fabric 方法

标签 azure azure-service-fabric

我有特殊的Images无状态可靠服务用于图像上传。它将内容上传到 Azure Blob 存储并返回已上传项目的 URL。此外,我的项目还具有 ApiGateway 无状态可靠服务,带有 OwinCommunicationListener 和 API 用户的授权端点。我想为授权用户添加一个新端点,允许上传存储中的图像。

最有效、最快的方法是什么?

我有两个建议,但不知道哪个最好:

  1. 向我的 ApiGateway Reliable Service 添加新端点,为图像无状态服务创建代理,并将到达的数据传递给它进行上传。
  2. 使用外部端点在我的 Images staless Reliable Service 上创建 OwinCommunicationListener

第一种情况看起来比第二种情况花费更多时间。因为我需要花一些时间在服务之间传递数据。在第二种情况下,我不花时间进行传输,只需等待我的 Azure 表存储完成上传即可。但这种方法的主要缺点是我需要为 Images OwinCommunicationListener 配置授权并确保它正确处理外部授权请求。

最佳答案

过去在做类似的事情时 - 我使用 APIGateway 来

  1. 授权请求
  2. 使用 GUID 存储文件的引用 在数据库中
  3. 返回客户端需要发布文件的 URL(见下文)

使用 Azure Blob API,您应该能够创建自定义签名请求 (URL),允许客户端直接上传到 Blob 存储,但权限有限,例如

  1. 仅上传文件名完全相同的文件
  2. 文件必须在 X 小时内上传

然后客户端设备直接上传到 Azure Blob。

就安全性和性能而言,这是最佳方法。

这是一个很好的起点:

https://learn.microsoft.com/en-us/rest/api/storageservices/fileservices/delegating-access-with-a-shared-access-signature

关于azure - 用于图像上传的 Service Fabric 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38766565/

相关文章:

c# - 如何将 EF Code First 数据库发布到 Azure

azure-service-fabric - 从结构外部使用 Service Fabric CommunicationClient 和 servicePartitionClient?

c# - 无法在 Service Fabric 的一个 ActorRuntime 中注册两个 Actor

Azure CDN 不尊重 Blob 的 CORS

.net - Azure 开发运营 : Make Nuget-Package with AssemblyVersion

c# - 为什么我的 Service Fabric 代码会锁定它自己的 PDB?

azure - 与云服务辅助角色相比,使用 Service Fabric 无状态服务有哪些优势?

azure - 在托管磁盘上设置 Azure Service Fabric 群集

azure - 使用 Azure 从 Rest API 提取数据

azure - VSS 客户端 SDK 文档链接不可用 - https ://www. Visualstudio.com/docs/integrate/extensions/reference/client/core-sdk