重要 智能媒体管理(IMM)后续新增功能、优化均以新版为主,旧版将逐步下线。为了您有更好的使用体验,建议您使用新版的智能媒体管理(IMM)快速入门。关于智能媒体管理新版与旧版的对比,请参见新旧版本使用指引。
前提条件
仅华北 2(北京)、华东 1(杭州)、华东 2(上海)、华南 1(深圳)、华北 3(张家口)、新加坡地域的存储空间支持使用IMM。
无地域属性的存储空间不支持使用IMM。
已开通IMM服务并完成授权。关于开通服务及授权的具体操作,请参见开通产品及创建项目。
如果您通过RAM用户使用IMM相关功能,需确保RAM用户拥有以下权限。
系统权限:AliyunOSSReadOnlyAccess
和AliyunIMMFullAccess
关于为RAM用户授权的具体操作,请参见为RAM用户授权。
自定义权限:oss:ProcessImm
和ram:GetRole
为RAM用户授予自定义权限时,您需要先创建对应的自定义权限,然后为RAM用户授权。具体操作,请参见为RAM用户授予自定义的权限策略。
费用说明
创建IMM Project及使用IMM功能会产生一定的费用。详细费用,请参见计费说明。
步骤一:绑定IMM
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择。
单击绑定,选择需要使用的功能。
IMM提供以下三个功能:
文档预览:绑定该功能后,您可以对存储空间内的PPT、XLS、DOC、PDF等多种格式文档进行预览。功能的详细介绍,请参见文档预览。
人脸识别:绑定该功能后,您可以对存储空间内的图片进行检测,识别其中的人脸矩形框和属性。功能的详细介绍,请参见人脸识别。
图片识别:绑定该功能后,您可以对存储空间内的图片进行检测,识别其中的标签和置信度。功能的详细介绍,请参见图片识别。
在绑定对话框的IMM配置栏,选择以下两种绑定方式:
您也可以在智能媒体标签页单击批量创建,然后在功能配置对话框中指定绑定项目名称,批量绑定多个IMM功能。
通过这种方式只能绑定自动新建的IMM Project,无法绑定已有的IMM Project。如果指定的项目名称与已有的项目名称相同,则无法绑定。
单击确定。
步骤二:使用IMM
使用OSS控制台
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择文件管理 > 文件列表。
单击要处理的图片或文档文件的名称,在详情对话框中直接使用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解绑,避免产生额外的费用。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择。
在需要解绑的IMM右侧,选择>解绑。
单击确定。