配置环境变量
配置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维,具体操作,请参见创建RAM用户。
创建AccessKey ID和AccessKey Secret,请参考创建AccessKey。
如果您使用的是RAM用户的AccessKey,请确保主账号已授权AliyunServiceRoleForOpenSearch服务关联角色,请参考OpenSearch-行业算法版服务关联角色,相关文档参考访问鉴权规则。
请不要将AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
Linux和macOS系统配置方法:
执行以下命令,其中,
<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系统配置方法
新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。
重启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)
        {
          	
            AlibabaCloudCredentialsProvider provider = new AccessKeyCredentialProvider(
            // 用户识别信息
            // 从环境变量读取配置的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(
                Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"), 
                Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), 
                Environment.GetEnvironmentVariable("ALIBABA_CLOUD_SECURITY_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,实现不同的功能调用。