快速入门

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

前提条件

  • 仅华北 2(北京)、华东 1(杭州)、华东 2(上海)、华南 1(深圳)、华北 3(张家口)、新加坡地域的存储空间支持使用IMM。

    无地域属性的存储空间不支持使用IMM。

  • 已开通IMM服务并完成授权。关于开通服务及授权的具体操作,请参见开通产品创建项目

  • 如果您通过RAM用户使用IMM相关功能,需确保RAM用户拥有以下权限。

    • 系统权限:AliyunOSSReadOnlyAccessAliyunIMMFullAccess

      关于为RAM用户授权的具体操作,请参见为RAM用户授权

    • 自定义权限:oss:ProcessImmram:GetRole

      为RAM用户授予自定义权限时,您需要先创建对应的自定义权限,然后为RAM用户授权。具体操作,请参见为RAM用户授予自定义的权限策略

费用说明

创建IMM Project及使用IMM功能会产生一定的费用。详细费用,请参见计费说明

步骤一:绑定IMM

  1. 登录OSS管理控制台

  2. 单击Bucket 列表,然后单击目标Bucket名称。

  3. 在左侧导航栏,选择数据处理 > 智能媒体

  4. 单击绑定,选择需要使用的功能。

    IMM提供以下三个功能:

    • 文档预览:绑定该功能后,您可以对存储空间内的PPT、XLS、DOC、PDF等多种格式文档进行预览。功能的详细介绍,请参见文档预览

    • 人脸识别:绑定该功能后,您可以对存储空间内的图片进行检测,识别其中的人脸矩形框和属性。功能的详细介绍,请参见人脸识别

    • 图片识别:绑定该功能后,您可以对存储空间内的图片进行检测,识别其中的标签和置信度。功能的详细介绍,请参见图片识别

  5. 绑定对话框的IMM配置栏,选择以下两种绑定方式:

    • 创建默认Project:输入Project的名称,系统会自动在存储空间所在的地域创建对应的IMM Project,并将其与当前存储空间绑定。

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

      重要

      仅在存储空间所在的地域创建了对应功能的IMM Project的情况下,才能看到绑定已有Project的选项。关于创建IMM Project的具体操作,请参见创建项目

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

    feature

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

  6. 单击确定

步骤二:使用IMM

使用OSS控制台

  1. 单击Bucket 列表,然后单击目标Bucket名称。

  2. 在左侧导航栏,选择文件管理 > 文件列表

  3. 单击要处理的图片或文档文件的名称,在详情对话框中直接使用IMM的相关功能。

    您也可以单击目标文件右侧的详情,打开详情对话框。

使用Java SDK

以下代码用于通过OSS Java SDK使用IMM。

import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.model.GeneratePresignedUrlRequest;
import java.net.URL;
import java.util.Date;

public class Demo {

    // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
    private static String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
    // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
    static EnvironmentVariableCredentialsProvider credentialsProvider;

    static {
        try {
            credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        } catch (com.aliyuncs.exceptions.ClientException e) {
            e.printStackTrace();
        }
    }

    // 填写Bucket名称,例如examplebucket。
    private static String bucketName = "examplebucket";
    // 填写Object完整路径,完整路径中不能包含Bucket名称。
    private static String objectKey = "example.jpg";

    public static void main(String[] args) {
        // 获取Object人脸识别的签名URL。
        URL url = getUrl("imm/detectface", bucketName, objectKey);
        customerPrint(url);
        bucketName = "examplebucket";
        objectKey = "example.txt";
        // 获取Object文档预览的签名URL。
        url = getUrl("imm/previewdoc", bucketName, objectKey);
        customerPrint(url);
    }

    private static void customerPrint(URL url){
        if(url != null){
            System.out.println(url.toString());
        }else{
            System.out.println("获取URL失败");
        }
    }

    private static URL getUrl(String process, String bucketName, String objectKey) {
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

        try {
            GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, objectKey);
            request.setProcess(process);
            // 设置签名URL过期时间,单位为毫秒。
            request.setExpiration(new Date(new Date().getTime() + 3600 * 1000));
            return ossClient.generatePresignedUrl(request);
        } catch (OSSException oe) {
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            // 关闭OSSClient。
            ossClient.shutdown();
        }
        return null;
    }
}

(可选)解绑IMM

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

  1. 单击Bucket 列表,然后单击目标Bucket名称。

  2. 在左侧导航栏,选择数据处理 > 智能媒体

  3. 在需要解绑的IMM右侧,选择image.png>解绑

  4. 单击确定