阿里云 OSS 能够与智能媒体管理(IMM)深度结合,支持文档预览、文档格式转换、人脸识别、图片分析、二维码识别等丰富的数据分析处理操作。本文介绍如何在 OSS 控制台中使用 IMM 的功能。

前提条件

  • 要在 OSS 中使用 IMM 功能,您需要开通 IMM 服务并进行授权。有关开通服务及授权的详细步骤,请参见开通产品创建项目中的前提条件部分。
  • 如果您使用 RAM 子账号进行本文中的操作,需要同时开通对应存储空间的访问权限和 AliyunIMMFullAccess 权限。
  • 创建 IMM Project 及使用 IMM 功能会产生一定的费用,如果您不需要使用 IMM 的功能,请及时解绑 IMM。详细费用请参见计费说明

绑定 IMM

要使用 IMM 对某个存储空间中的文件进行处理,您需要为该存储空间绑定 IMM。

  1. 登录OSS 管理控制台
  2. 在左侧的存储空间列表中,选择要绑定 IMM 的存储空间名称。
  3. 在存储空间的详情页面中,单击智能媒体页签。
  4. 根据数据处理的需要,在需要绑定的 IMM 功能右侧单击绑定
    IMM 的三个功能功能如下:
    • 文档功能:绑定该功能后,您可以对存储空间内的 ppt、xls、doc、pdf 等多种格式文档进行预览。功能的详细介绍请参见文档预览
    • 人脸识别:绑定该功能后,您可以对存储空间内的图片进行检测,识别其中的人脸矩形框和属性。功能的详细介绍请参见人脸识别
    • 图片识别:绑定该功能后,您可以对存储空间内的图片进行检测,识别其中的标签和置信度。功能的详细介绍请参见图片识别
  5. 在对应模块的绑定智能媒体项目对话框的IMM 配置中,选择以下两种绑定方式:
    • 创建默认 Project:输入 Project 的名称,系统会自动在存储空间所在的地域创建对应的 IMM Project,并将其与当前存储空间绑定。

    • 绑定已有 Project:在下拉列表中选择需要绑定至存储空间的 IMM Project。

      说明 只有您事先在存储空间所在的地域创建了对应功能的 IMM Project,该选项才会在对话框中出现。

      有关如何创建 IMM Project,请参见创建项目

    说明 您也可以在智能媒体标签页单击批量创建,然后在功能配置对话框中指定绑定项目名称,批量绑定多个 IMM 功能。

    通过这种方式只能绑定自动新建的 IMM Project,无法绑定已有的 IMM Project。如果指定的项目名称与已有的项目名称相同,则无法绑定。
  6. 单击确定

通过 OSS 控制台使用 IMM

绑定 IMM 后,您可以通过 OSS 控制台使用 IMM。

  1. 登录OSS 管理控制台
  2. 在左侧的存储空间列表中,选择已绑定 IMM 的存储空间名称。
  3. 在存储空间的详情页面中,单击文件管理页签。
  4. 单击要处理的图片或文档文件的名称或单击其右侧的详情,在其详情对话框中直接使用 IMM 的相关功能。


通过 SDK 方式使用 IMM

您可以通过 OSS SDK 调用 IMM 的功能,对 OSS 中的数据进行分析处理,代码示例如下:

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);
    }
}

解绑 IMM

如果您不需要使用 IMM 的功能,可以将存储空间与 IMM 解绑,避免产生额外的费用。

  1. 登录OSS 管理控制台
  2. 在左侧的存储空间列表中,选择要解绑 IMM 的存储空间名称。
  3. 在存储空间的详情页面中,单击智能媒体页签。
  4. 在需要解绑的 IMM 模块右侧,单击配置
  5. 功能配置对话框中,选择解绑
  6. 单击确定