配置環境變量
配置環境變量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)
{
// 用戶識別信息
// 從環境變量讀取配置的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,實現不同的功能調用。