本文介紹ApsaraVideo for Live服務端.NET SDK的使用方法和範例程式碼。
前提條件
已安裝.NET Framework 4.5或以上版本。
已下載服務端.NET SDK,詳細資料,請參見SDK下載。
操作步驟
安裝SDK。
在服務端.NET SDK下載頁面複製ApsaraVideo for Live產品適用於.NET 4.0及以上的DLL引用檔案連結,在新視窗開啟該連結即可下載DLL檔案。詳情請參見SDK下載。
在Visual Studio方案總管中右擊您的專案,選擇添加 > 引用。
在應用管理器對話方塊中,單擊瀏覽,選擇已下載的DLL檔案,單擊添加。
單擊確定。
建立一個名為config.ini的設定檔放在建議目錄conf中,其中包含AK/SK資訊。設定檔的內容如下:
[default] access_key_id = YOUR_ACCESS_KEY_ID access_key_secret = YOUR_ACCESS_KEY_SECRET
請將 YOUR_ACCESS_KEY_ID 和 YOUR_ACCESS_KEY_SECRET 替換為您的實際AK/SK值。
然後,可以使用以下C#代碼讀取設定檔並調用阿里雲SDK。
建立並初始化DefaultAcsClient執行個體。
var config = new IniConfig(); config.Load(File.OpenRead("conf/config.ini")); // 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 // 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 // 本樣本通過從設定檔中讀取AccessKey,來實現API訪問的身分識別驗證。 var accessKeyId = config.Get("default", "access_key_id"); var accessKeySecret = config.Get("default", "access_key_secret"); // 建立 AcsClient 執行個體 var profile = DefaultProfile.GetProfile(<your-region-id>, accessKeyId, accessKeySecret); var client = new DefaultAcsClient(profile);
發起請求並處理應答或異常。
using System;
using System.IO;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Core.Retry;
using Aliyun.Acs.Core.Retry.Condition;
using Aliyun.Acs.Core.Transform;
using Aliyun.Acs.Core.Utils;
using Aliyun.Acs.live.Model.V20161101;
class TestProgram
{
static void Main(string[] args)
{
//構建一個Client,用於發起請求
var config = new IniConfig();
config.Load(File.OpenRead("conf/config.ini"));
// 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
// 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
// 本樣本通過從設定檔中讀取AccessKey,來實現API訪問的身分識別驗證。
var accessKeyId = config.Get("default", "access_key_id");
var accessKeySecret = config.Get("default", "access_key_secret");
// 建立 AcsClient 執行個體
var profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret);
var client = new DefaultAcsClient(profile);
try
{
//構造請求
DescribeInstancesRequest request = new DescribeInstancesRequest();
request.PageSize = 10;
//發起請求,擷取Response
DescribeInstancesResponse response = client.GetAcsResponse(request);
System.Console.WriteLine(response.TotalCount);
}
catch (ServerException ex)
{
System.Console.WriteLine(ex.ToString());
}
catch (ClientException ex)
{
System.Console.WriteLine(ex.ToString());
}
}
}