.NET SDK
阿里云API调试工具OpenAPI Explore提供OpenAPI文档、API调试和SDK示例,帮助您快速入门API开发。本文介绍如何安装和快速使用智能媒体管理.NET SDK。
前提条件
- 已创建并获取AccessKey。具体操作,请参见创建AccessKey。
- 已开通OSS服务、创建存储空间并上传文件到存储空间。具体操作,请参见控制台上传文件。
- 已开通智能媒体管理服务。具体操作,请参见开通产品。
- 已通过智能媒体管理控制台创建项目。具体操作,请参见创建项目。说明
- 您也可以调用API接口创建项目。具体操作,请参见CreateProject - 创建项目。
- 您可以调用ListProjects - 列出所有项目信息的列表接口列出指定地域下已创建的所有项目信息。
安装SDK
重要
调用2020-09-30版本的API,需要使用2020-09-30版本的SDK。
使用智能媒体管理.NET SDK的操作步骤请参见快速入门。
使用方法
编辑
Program.cs
。如下以在华东1(杭州)地域中检测图片中的人脸及人脸信息为例介绍如何使用智能媒体管理.NET SDK。说明复制使用如下示例代码时请将访问域名换成您的IMM项目所在Region的域名,并且IMM项目和OSS文件Region需要保持一致。
using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Tea; using Tea.Utils; namespace net_test { public class Program { /** * 使用AccessKey ID和AccessKey Secret初始化账号Client。 * @param accessKeyId * @param accessKeySecret * @return Client * @throws Exception */ public static AlibabaCloud.SDK.Imm20200930.Client CreateClient(string accessKeyId, string accessKeySecret) { AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, }; // 填写访问域名。 config.Endpoint = "imm.cn-hangzhou.aliyuncs.com"; return new AlibabaCloud.SDK.Imm20200930.Client(config); } public static void Main(string[] args) { // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见https://help.aliyun.com/document_detail/2361894.html。 String AccessKeyId = System.Environment.GetEnvironmentVariable("AccessKeyId", EnvironmentVariableTarget.Machine); String AccessKeySecret = System.Environment.GetEnvironmentVariable("AccessKeySecret", EnvironmentVariableTarget.Machine); AlibabaCloud.SDK.Imm20200930.Client client = CreateClient(AccessKeyId, AccessKeySecret); AlibabaCloud.SDK.Imm20200930.Models.DetectImageFacesRequest detectImageFacesRequest = new AlibabaCloud.SDK.Imm20200930.Models.DetectImageFacesRequest { // 填写IMM项目名称。 ProjectName = "test", // 填写图片的OSS URI。 SourceURI = "oss://your-bucket-name/your-path/your-image.jpg", }; AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); try { // 复制代码运行请自行打印API的返回值。 System.Console.WriteLine(JsonConvert.SerializeObject(client.DetectImageFacesWithOptions(detectImageFacesRequest, runtime).Body); } catch (TeaException error) { // 如有需要,请打印错误信息。 AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message); } catch (Exception _error) { TeaException error = new TeaException(new Dictionary<string, object> { { "message", _error.Message } }); // 如有需要,请打印错误信息。 AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message); } } } }
执行
csc /out:D:\Program.cs D:\Program.exe
编译,运行Program.exe输出结果如下。{ "RequestId": "2CCA6D7E-C9FB-5C87-8AC5-D6E6AC493096", "Faces": [ { "Beard": "none", "MaskConfidence": 0.83, "Gender": "female", "Boundary": { "Left": 81, "Top": 62, "Height": 127, "Width": 96 }, "BeardConfidence": 1, "FigureId": "0fccc5f9-22df-4507-ac53-f6a37f11a15a", "Mouth": "open", "Emotion": "happiness", "Age": 25, "MouthConfidence": 0.998, "FigureType": "face", "GenderConfidence": 1, "HeadPose": { "Pitch": -27.196, "Roll": 6.075, "Yaw": 3.477 }, "Mask": "none", "EmotionConfidence": 0.999, "HatConfidence": 1, "GlassesConfidence": 1, "Sharpness": 1, "FigureClusterId": "figure-cluster-id-unavailable", "FaceQuality": 0.998, "Attractive": 0.998, "AgeSD": 7, "Glasses": "none", "FigureConfidence": 0.999, "Hat": "none" } ] }