CommonRequest C# 示例

配置环境变量

配置环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

重要
  • 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维,具体操作,请参见创建RAM用户

  • 创建AccessKey ID和AccessKey Secret,请参考创建AccessKey

  • 如果您使用的是RAM用户的AccessKey,请确保主账号已授权AliyunServiceRoleForOpenSearch服务关联角色,请参考OpenSearch-行业算法版服务关联角色,相关文档参考访问鉴权规则

  • 请不要将AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。

  • LinuxmacOS系统配置方法:

    执行以下命令,其中, <access_key_id>需替换为您RAM用户的AccessKey ID,<access_key_secret>替换为您RAM用户的AccessKey Secret。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> 
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系统配置方法

    1. 新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。

    2. 重启Windows系统生效。

安装Package 依赖

Package 依赖地址:https://www.nuget.org/packages

dotnet add package aliyun-net-sdk-core

示例代码

以下是C# 管控SDK 的示例代码:


using System;
using System.Collections.Generic;
using System.Text;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Http;
using Aliyun.Acs.Core.Auth;

namespace CommonRequestDemo
{
    class Program
    {
        static void Main(string[] args)
        {
          	// 用户识别信息
            // 从环境变量读取配置的AccessKey ID和AccessKey Secret,
            // 运行代码示例前必须先配置环境变量,参考文档上面“配置环境变量”步骤
            Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"), 
            Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
            /* use STS Token
            AlibabaCloudCredentialsProvider provider = new StsCredentialProvider("<your-access-key-id>", "<your-access-key-secret>", "<your-sts-token>");
            */
            IClientProfile profile = DefaultProfile.GetProfile("cn-qingdao");
            DefaultAcsClient client = new DefaultAcsClient(profile, provider);
            CommonRequest request = new CommonRequest();
            request.Method = MethodType.POST;
            request.Domain = "opensearch.cn-qingdao.aliyuncs.com";
            request.Version = "2017-12-25";
            request.UriPattern = "/v4/openapi/intervention-dictionaries/huan/entries/actions/bulk";
            // request.Protocol = ProtocolType.HTTP;

            request.AddHeadParameters("Content-Type", "application/json");
            String requestBody = "[{\"word\":\"asdf\",\"cmd\":\"add\",\"tokens\":[{\"weight\":7,\"token\":\"asdf\"}]}]";
            request.SetContent(Encoding.UTF8.GetBytes(requestBody), "utf-8", FormatType.JSON);

            try {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(response.Data);
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }
    }
}
重要

以上示例,为方便用户使用提供的通用临时解决方案,后续发布官方SDK后,此示例将不保证可用,建议用户仅供测试参考。 用户可根据不同的管控API来调整request.UriPattern 和 String requestBody,实现不同的功能调用。