Query the details of a sample image in a similar-image library

Updated at:

This topic describes how to use the .NET SDK to query the details of a sample image in a similar image library.

Description

You can call this API to query the details of a sample image. For more information about the parameters, see the Query Sample Image Library Details API reference.

You must use the AI Guardrails endpoint to call the service using the SDK. For more information about API endpoints, see Endpoints.

Prerequisites

Before you begin, make sure you have:

  • Installed the .NET dependencies. See Install .NET dependencies and use the exact .NET version specified — otherwise operation calls will fail.

  • An AccessKey ID and AccessKey secret for a RAM user, stored as environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET.

Query the details of a sample image

using System;
using Newtonsoft.Json;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Http;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20180509;
using System.Collections.Generic;

namespace csharp_sdk_sample
{
    class Program
    {
        static void Main(string[] args)
        {
            /**
             * Common methods to obtain environment variables:
             *     Obtain the AccessKey ID of a RAM user: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
             *     Obtain the AccessKey secret of a RAM user: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
             */
            DefaultProfile profile = DefaultProfile.GetProfile(
                    "cn-shanghai",
                    "Obtain your AccessKey ID from an environment variable",
                    "Obtain your AccessKey secret from an environment variable");
            DefaultAcsClient client = new DefaultAcsClient(profile);

            GetSimilarityImageRequest request = new GetSimilarityImageRequest();
            request.AcceptFormat = FormatType.JSON;
            request.ContentType = FormatType.JSON;
            request.Method = MethodType.POST;
            request.Encoding = "UTF-8";

            // pageSize: the number of entries per page. Valid values: (0, 50]. currentPage: the page number. Valid values: (0, 50].
            Dictionary<string, object> httpBody = new Dictionary<string, object>();
            httpBody.Add("library", "The name of the similar-image library");
            httpBody.Add("dataId", "The ID of the sample image");

            request.SetContent(System.Text.Encoding.Default.GetBytes(JsonConvert.SerializeObject(httpBody)), "utf-8", FormatType.JSON);
            try
            {
                GetSimilarityImageResponse response = client.GetAcsResponse(request);
                if (response.HttpResponse.Status != 200)
                {
                    Console.WriteLine("the request failed. status:{0}", response.HttpResponse.Status);
                }
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed with error info: {0}", ex.Message);
            }
        }
    }
}