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

前提条件

  • 已开通IMM服务并进行授权。开通服务及授权的详细步骤,请参见开通产品创建项目
  • 如果您使用RAM用户进行本文中的操作,需确保RAM用户拥有只读访问对象存储OSS的权限(AliyunOSSReadOnlyAccess)、管理智能媒体管理IMM的权限(AliyunIMMFullAccess)、oss:ProcessImm以及ram:GetRole的权限。

注意事项

  • 创建IMM Project及使用IMM功能会产生一定的费用。详细费用,请参见计费说明
  • 目前仅华北 2(北京)、华东 1(杭州)、华东 2(上海)、华南 1(深圳)、华北 3(张家口)、新加坡地域支持IMM。

绑定IMM

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

  1. 登录OSS 管理控制台
  2. 单击Bucket列表,然后单击目标Bucket。
  3. 选择数据处理 > 智能媒体
  4. 根据数据处理的需要,在需要绑定的IMM功能右侧单击绑定
    IMM提供以下三个功能:
    • 文档预览:绑定该功能后,您可以对存储空间内的PPT、XLS、DOC、PDF等多种格式文档进行预览。功能的详细介绍,请参见文档预览
    • 人脸识别:绑定该功能后,您可以对存储空间内的图片进行检测,识别其中的人脸矩形框和属性。功能的详细介绍,请参见人脸识别
    • 图片识别:绑定该功能后,您可以对存储空间内的图片进行检测,识别其中的标签和置信度。功能的详细介绍,请参见图片识别
  5. 绑定智能媒体项目对话框的IMM配置栏,选择以下两种绑定方式:
    • 创建默认Project:输入Project的名称,系统会自动在存储空间所在的地域创建对应的IMM Project,并将其与当前存储空间绑定。
      project
    • 绑定已有Project:在下拉列表中选择需要绑定至存储空间的IMM Project。project
      说明 只有您事先在存储空间所在的地域创建了对应功能的IMM Project,该选项才会在对话框中出现。

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

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

    feature

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

  6. 单击确定

通过OSS控制台使用IMM

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

  1. 登录OSS 管理控制台
  2. 单击文件管理页签。
  3. 单击要处理的图片或文档文件的名称,在详情对话框中直接使用IMM的相关功能。
    您也可以单击目标文件右侧详情,打开文件的详情对话框。

通过SDK方式使用IMM

您可以通过OSS SDK调用IMM的功能,代码示例如下:

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. 在Bucket管理页面,选择数据处理 > 智能媒体
  2. 在需要解绑的IMM模块右侧,单击设置
  3. 功能配置对话框中,选择解绑
  4. 单击确定