Saat menggunakan Alibaba Cloud SDK V1.0 untuk .NET dalam pengembangan, Anda perlu mengintegrasikan Core SDK dan SDK layanan Alibaba Cloud sebagai dependensi dengan benar. Topik ini menjelaskan cara mengonfigurasi dan mengelola dependensi tersebut.
Konfigurasikan SDK V1.0 untuk .NET dari layanan Alibaba Cloud sebagai dependensi
SDK V1.0 untuk .NET dari layanan Alibaba Cloud menyediakan objek permintaan dan respons dari operasi API serta objek unmarshaller yang digunakan untuk menyerialekan nilai-nilai yang akan dikembalikan. Contoh kode berikut menunjukkan cara mengonfigurasi SDK V1.0 untuk .NET dari Elastic Compute Service (ECS) sebagai dependensi:
.NET CLI
dotnet add package aliyun-net-sdk-ecs
# Tentukan versi menggunakan --version.
dotnet add package aliyun-net-sdk-ecs --version 4.24.18Package Manager
Install-Package aliyun-net-sdk-ecs
# Tentukan versi menggunakan -version.
Install-Package aliyun-net-sdk-ecs -Version 4.24.18PackageReference
<PackageReference Include="aliyun-net-sdk-ecs" Version="4.24.18" />
Paket CLI
paket add aliyun-net-sdk-ecs --version 4.24.18
F# Interactive
#r "nuget: aliyun-net-sdk-ecs, 4.24.18"
SDK V1.0 untuk .NET dari layanan Alibaba Cloud diberi nama dalam format aliyun-net-sdk-${Nama Layanan}. Anda juga dapat mengunjungi Pusat SDK untuk mendapatkan informasi tentang SDK V1.0 untuk layanan cloud tertentu.
Konfigurasikan Core SDK sebagai dependensi
Core SDK mencakup logika untuk permintaan API berbasis HTTP, informasi otentikasi, algoritma tanda tangan, dan penanganan pengecualian. Contoh kode berikut menunjukkan cara mengonfigurasi Core SDK sebagai dependensi:
dotnet add package aliyun-net-sdk-coreGunakan SDK
1. Inisialisasi klien
Dalam SDK V1.0 untuk .NET, semua SDK layanan Alibaba Cloud berbagi pustaka inti yang sama. Oleh karena itu, Anda dapat menggunakan metode yang disediakan dalam pustaka inti untuk menginisialisasi klien SDK guna memproses permintaan API untuk mengakses layanan Alibaba Cloud. Contoh kode berikut menunjukkan cara menginisialisasi klien SDK V1.0 untuk .NET. Untuk informasi lebih lanjut tentang metode inisialisasi klien, lihat Kelola kredensial akses.
static void Main(string[] args)
{
IClientProfile profile = DefaultProfile.GetProfile(
// Tentukan ID wilayah.
"<REGION_ID>",
// Dapatkan ID AccessKey dari Pengguna Resource Access Management (RAM) dari variabel lingkungan.
Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// Dapatkan rahasia AccessKey dari Pengguna RAM dari variabel lingkungan.
Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
DefaultAcsClient client = new DefaultAcsClient(profile);
}Jika satu klien SDK memproses beberapa utas, masalah keamanan mungkin terjadi. Jika beberapa layanan Alibaba Cloud berbagi informasi profil yang sama, akses tidak sah mungkin terjadi. Kami menyarankan Anda menggunakan SDK V2.0 untuk .NET dalam pengembangan.
2. Buat objek permintaan dan ajukan permintaan
SDK V1.0 untuk .NET mengajukan permintaan API menggunakan pustaka inti. Anda dapat menggunakan objek permintaan yang disediakan oleh SDK layanan cloud untuk melewatkan parameter permintaan, lalu ajukan permintaan menggunakan klien yang telah diinisialisasi. Dengan cara ini, objek respons dikembalikan yang digunakan untuk menerima parameter respons. Contoh kode berikut menunjukkan cara menggunakan SDK V1.0 untuk .NET dari ECS untuk memanggil operasi API dari ECS guna menanyakan informasi tentang satu atau lebih instance ECS.
Setiap operasi API memiliki objek permintaan dan responsnya sendiri. Mereka diberi nama dalam format berikut:
${API}${Request}. Sebagai contoh, sebuah objek permintaan bisa menjadi DescribeInstancesRequest.
${API}${Response}. Sebagai contoh, sebuah objek respons bisa menjadi DescribeInstancesResponse.
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Ecs.Model.V20140526;
namespace AlibabaCloud.SDK.Sample
{
public class Sample
{
static void Main(string[] args)
{
IClientProfile profile = DefaultProfile.GetProfile(
// Tentukan ID wilayah.
"<REGION_ID>",
// Dapatkan ID AccessKey dari Pengguna RAM dari variabel lingkungan.
Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// Dapatkan rahasia AccessKey dari Pengguna RAM dari variabel lingkungan.
Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
DefaultAcsClient client = new DefaultAcsClient(profile);
// Buat objek permintaan.
DescribeInstancesRequest request = new DescribeInstancesRequest{
RegionId = "<REGION_ID>"
};;
// Ajukan permintaan dari klien dan serialekan nilai-nilai yang dikembalikan ke dalam objek respons.
DescribeInstancesResponse response = client.GetAcsResponse(request);
System.Console.WriteLine(response.TotalCount);
}
}
}