本文介绍智能媒体管理(IMM)的开通、OSS 绑定 IMM、以及如何在OSS中快速使用 IMM。

阿里云 OSS 与智能媒体管理(IMM)深度结合,支持文档预览、文档格式转换、人脸识别、图片分析、二维码识别等丰富的数据分析处理操作。

步骤一:开通 IMM

如果还没有开通 IMM,请先开通产品服务。

开通步骤如下:

  1. 登录IMM 管理控制台
  2. 在弹出的开通该服务提示对话框单击确认
  3. 云产品开通页,勾选同意协议后,单击立即开通
  4. 单击新建项目,在弹出的授权提示对话框单击激活授权角色

    由于产品处理的数据来源为阿里云 OSS ,需要激活授权角色 AliyunIMMDefaultRole,以授权 IMM 访问 OSS 的相关权限。

  5. 单击同意授权

步骤二:OSS 绑定 IMM

开通 IMM 后,执行以下步骤将 OSS 绑定 IMM:
  1. 登录OSS 管理控制台
  2. 选择任意一个 Bucket,单击智能媒体
  3. 单击批量创建

    批量创建将默认创建对应区域的 IMM Project,然后与该 Bucket 做绑定。

  4. 功能设置页面,勾选您要绑定的功能名称

  5. 单击确定
注意 OSS 与 IMM 的绑定本质上是每个分析功能与 IMM Project 的关联调用。

步骤三:使用 IMM

完成上述功能绑定后,您可以通过 OSS 控制台或者 SDK 的方式使用 IMM。

  • 在 OSS 管理控制台使用 IMM

    在 OSS 管理控制台使用 IMM 的操作步骤如下:

    1. 登录OSS 管理控制台
    2. 选择任意一个已绑定 IMM 的 Bucket,单击文件管理
    3. 单击该 Bucket 下的图片或者文档,在预览页面直接使用智能媒体相关服务。

  • 通过 SDK 方式使用 IMM

    您可以通过 OSS SDK 分析处理生产中的数据,示例如下:

    public class OssProcessPreview{
        public static void main(String[] args) {
            String ak = "";
            String sk = "";
            String bucketName = "imm-user-zzh";
            String objectKey = "test.jpg";
            URL url = getUrl("imm/detectface", ak, sk, bucketName, objectKey);
            System.out.println(url.toString());
            bucketName = "imm-user-zzh";
            objectKey = "a.xlsx";
            url = getUrl("imm/previewdoc", ak , sk ,bucketName, objectKey);
            System.out.println(url.toString());
        }
        private static URL getUrl(String process, String ak, String sk, String bucketName, String objectKey) {
            OSSClient client = new OSSClient(ak, sk);
            client.setEndpoint("oss-cn-shanghai.aliyuncs.com");
            GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, objectKey);
            getObjectRequest.setProcess(process);
            GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, objectKey);
            request.setProcess(process);
            request.setExpiration(new Date(new Date().getTime() + 3600 * 1000));
            return client.generatePresignedUrl(request);
        }
    }