阿里云API调试工具OpenAPI Explore提供OpenAPI文档、API调试和SDK示例,帮助您快速入门API开发。本文介绍如何安装和快速使用智能媒体管理Swift SDK。
前提条件
- 已创建并获取AccessKey。具体操作,请参见创建AccessKey。
- 已开通OSS服务、创建存储空间并上传文件到存储空间。具体操作,请参见控制台上传文件。
- 已开通智能媒体管理服务。具体操作,请参见开通产品。
- 已通过智能媒体管理控制台创建项目。具体操作,请参见创建项目。说明
- 您也可以调用API接口创建项目。具体操作,请参见CreateProject - 创建项目。
- 您可以调用ListProjects - 列出所有项目信息的列表接口列出指定地域下已创建的所有项目信息。
安装SDK
重要
调用2020-09-30版本的API,需要使用2020-09-30版本的SDK。
使用智能媒体管理Swift SDK的操作步骤请参见快速入门。
使用方法
如下以在华东1(杭州)地域中检测图片中的人脸及人脸信息为例介绍如何使用智能媒体管理Swift SDK。
说明
复制使用如下示例代码时请将访问域名换成您的IMM项目所在Region的域名,并且IMM项目和OSS文件Region需要保持一致。
#!/usr/bin/env xcrun swift
import Cocoa
import Foundation
import Tea
import AlibabacloudImm20200930
import AlibabacloudOpenApi
import TeaUtils
open class Client {
public static func createClient(_ accessKeyId: String?, _ accessKeySecret: String?) throws -> AlibabacloudImm20200930.Client {
var config: AlibabacloudOpenApi.Config = AlibabacloudOpenApi.Config([
"accessKeyId": accessKeyId as! String,
"accessKeySecret": accessKeySecret as! String
])
// 填写项目所在地域的IMM服务域名。
config.endpoint = "imm.cn-hangzhou.aliyuncs.com"
return AlibabacloudImm20200930.Client(config)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public static func main(_ args: [String]?) async throws -> Void {
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见https://help.aliyun.com/document_detail/2361894.html。
let accessKeyId = ProcessInfo.processInfo.environment["AccessKeyId"]
let accessKeySecret = ProcessInfo.processInfo.environment["AccessKeySecret"]
var client: AlibabacloudImm20200930.Client = try Client.createClient(accessKeyId, accessKeySecret)
var detectImageFacesRequest: AlibabacloudImm20200930.DetectImageFacesRequest = AlibabacloudImm20200930.DetectImageFacesRequest([
// IMM项目名称。
"projectName": "immtest",
// 待检测图片的OSS URI。
"sourceURI": "oss://test-bucket/test-object.jpg"
])
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
do {
// 发起请求。
try await client.detectImageFacesWithOptions(detectImageFacesRequest as! AlibabacloudImm20200930.DetectImageFacesRequest, runtime as! TeaUtils.RuntimeOptions)
}
catch {
if error is Tea.TeaError {
try TeaUtils.Client.assertAsString(error.message)
} else {
throw error
}
}
}
}
Client.main(CommandLine.arguments)
文档内容是否对您有帮助?