当前位置: 首页 > news >正文

OSS数据处理最佳实践--文档预览

前言

当前整个企业级数据管理市场面临着数字化转型,如何更好的管理数据、挖掘非结构化数据(专业文档、视频、图像等)的价值是当前企业需要解决的问题。

阿里云存储开放的数据湖体系引入众多计算引擎。通过阿里云智能媒体管理产品,对象存储OSS面向视频处理应用,图像处理应用,文档处理应用开放了接入能力。目前通过智能媒体管理支持图像识别、人脸检测、视频截帧、图片处理、文档预览、文本检索等多项数据处理能力,为上层应用提供强有力的支持。

框架介绍

menu_saveimg_savepath20190212105023

阿里云OSS为在云上的数据打通了一个处理与使用的快速通道。通过简单的 RESTful 接口,可以在任何时间、任何地点、任何互联网设备上对存储在OSS中的数据进行分析处理。

数据处理包含以下两种:

  • 阿里云OSS原生处理服务
    阿里云OSS原生处理服务包括图片处理和视频截帧,其中图片处理包括图片的缩略、剪裁、参数调节等, OSS原生处理服务无需开通,默认集成在OSS中,创建完Bucket后即可使用。产生的数据处理费用直接在OSS上结算。
  • 智能媒体管理服务
    阿里云OSS与智能媒体管理(IMM)深度结合,支持文档预览、文档格式转换、人脸识别、图片分析、二维码识别等丰富的数据分析处理操作。

操作示例:当操作用于即时处理返回结果时,可以采用GET方式触发。参数在QueryString中传递。如:http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/circle,r_100 (该请求是Public请求,无需签名。部分操作必须通过进行签名后才能进行操作。)

文档预览实践

这里实现OSS上面的文档预览来快速帮助大家体验整个流程。当前的文档预览支持主要的office系列格式。

步骤1:开通相关产品

实现文档预览主要依赖于外部的智能媒体管理,将其作为插件接入到OSS进行使用。

  • 开通对象存储OSS:点击这里
  • 开通智能媒体管理:点击这里
  • 开通智能媒体管理后,进入管理控制台,会弹窗提示授权 IMM 访问 OSS 的相关权限。这里点击同意;
    154762710433934_zh_CN_source

步骤2:创建 或进入OSS Bucket

在北京、杭州、上海、深圳区域选择已有Bucket(智能媒体管理处理插件功能仅上述区域支持)。
如果还没有Bucket,创建标准存储类型即可:

menu_saveimg_savepath20190212112210

步骤3:绑定智能媒体管理

menu_saveimg_savepath20190212112457

进入 智能媒体 管理栏,如果是初次使用,可以点击 批量创建 按钮,勾选 文档预览 选择框。即绑定完成。
通过 批量创建 会帮助默认创建一个智能媒体管理项目,然后与该Bucket绑定。如果需要绑定现有的项目,或者解绑,可以点击绑定后的 设置 进行选择调整。

步骤4:实践使用

方式一:控制台直接查看

menu_saveimg_savepath20190212114344

进入控制台 文件管理 栏,点击任何office系列文档即能立即在线预览。

方式二:SDK方式调用

154754499133931_zh_CN

  1. 客户端向服务端发起预览请求,并提供要预览的文件。
  2. 服务端根据请求文件进行 URL 签名,将签名完成的 URL 提供给客户端。
  3. 客户端拿到签名后直接访问 OSS 查看文件。

服务端签名生成预览URL的代码如下:

# 创建存储空间实例,所有文件相关的方法都需要通过存储空间实例来调用。
bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name)
# 文档预览,获取signURL。
process = 'imm/previewdoc,copy_1'
params = {}
params.update({bucket.PROCESS: process})
url = bucket.sign_url("GET", objectKey, 3600, params=params)
#打印结果
print url

更多数据处理能力

更多数据处理,点击查看

相关文章:

  • (转)shell调试方法
  • Transformer-XL: Unleashing the Potential of Attention Models
  • 免费小说阅读小程序
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • Dojo 表单校验
  • 扩展访问:Uber Lite App开发始末
  • 嵌入式开发教程,学习嵌入式怎么入门和提高?
  • 5G来之前,视频UGC选择产品解决方案?
  • nodejs处理高并发的原理机制
  • 关于List、List?、ListObject的区别
  • 如何合理的规划jvm性能调优
  • 异步
  • 这一次,彻底弄懂TCP三次握手,四次挥手
  • 线程的等待和唤醒
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • CSS 提示工具(Tooltip)
  • css属性的继承、初识值、计算值、当前值、应用值
  • Electron入门介绍
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Java比较器对数组,集合排序
  • Logstash 参考指南(目录)
  • Redis 懒删除(lazy free)简史
  • Vue UI框架库开发介绍
  • Vue2 SSR 的优化之旅
  • webgl (原生)基础入门指南【一】
  • Zepto.js源码学习之二
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 缓存与缓冲
  • 坑!为什么View.startAnimation不起作用?
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 深度解析利用ES6进行Promise封装总结
  • 物联网链路协议
  • 学习Vue.js的五个小例子
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 回归生活:清理微信公众号
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​插件化DPI在商用WIFI中的价值
  • #Linux(帮助手册)
  • $.ajax()
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (三)uboot源码分析
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (一)Java算法:二分查找
  • (转)setTimeout 和 setInterval 的区别
  • (转)项目管理杂谈-我所期望的新人