【Azure API 管理】讨论APIM是否适合直接存储文件到Azure Storage Account呢?

问题描述

需要从 APIM 直接将大文件存入Azure Storage,没看到这方面的官方文档,所以是否有这方面的实践案例,或者APIM是否支持引用SDK (如Azure Storage SDK)?

 

问题分析

API Management (APIM) 是一种为API 网关的实现,不适合通过APIM来直接操作存储大文件到Azure Storage中。同时,APIM作为网关,是不支持引入SDK进行代码操作的。所以也是无法使用Azure Storage SDK。

 

但是,Azure Storage 是支持REST API的方式来存入文件,所以可以把Storage的API作为APIM的后端服务,间接实现调用APIM服务存储文件到Azure Storage Account中。

(Source: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob)

而在APIM中配置可以通过SAS URL 来实现验权并上传文件。配置示例如下

  • Frontend 的URL是 /{file name} + SAS 令牌
  • Backend 的 Web Service URL是Storage URL+ 容器名称

 

 

参考资料

发送请求Policy请参考:https://docs.azure.cn/zh-cn/api-management/api-management-sample-send-request

APIM Policy表达式中允许使用的.net framework类型请参考:https://docs.azure.cn/zh-cn/api-management/api-management-policy-expressions#net-framework-types-allowed-in-policy-expressions

Azure Storage - Put Blob: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob#request-body

posted @   路边两盏灯  阅读(131)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示