【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
- 【Azure 存储服务】关于对Azure Storage Account 的 Folder 权限管理和设定
- 【Azure 存储服务】Storage Account Blob 使用REST API如何获取磁盘大小(Content-Length), IOPS信息
- 【Azure API 管理】APIM如何配置客户端证书的CRL检测策略
- 在本地存储localStorage/sessionStorage中保存图片和文件(真的不适合保存文件图片大数据)
- 文件管理中手机项格式化,进照相机和视频播放器会直接进入文件管理,并且选手机会提示存储空间不足
- 【Azure API 管理】从微信小程序访问APIM出现200空响应的问题中发现CORS的属性[terminate-unmatched-request]功能
- Azure China (4) 管理Azure China Storage Account
- 【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
- 【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
- Window Azure 之Azure Storage文件共享存储
- 关于缓存文件格式(单文件文件柜)是否适合使用伙伴算法的讨论
- Azure China (4) 管理Azure China Storage Account
- HDFS智能化存储管理:Smart Storage Management
- 磁盘存储管理和文件系统管理 RAID
- 系统文件格式定义及其存储管理算法设计
- 新的Windows Azure服务管理API使得存储服务更易于管理
- [置顶] 如何在Azure存储空间(Storage)建立属于自己的备份
- JavaScript将增加本地操作API 可直接操作本地文件
- 详解用python实现基本的学生管理系统(文件存储版)(python3)
- .Net/C#应用程序直接读取本地Cookies文件(由于WinXPSP2调用API:InternetGetCookie无果)