All Products
Search
Document Center

IoT Platform:Gunakan IoT Platform SDK untuk .NET

Last Updated:Jul 06, 2025

IoT Platform menyediakan SDK untuk .NET. Topik ini menjelaskan cara menginstal dan mengonfigurasi IoT Platform SDK untuk .NET serta memberikan contoh kode untuk memanggil operasi API dari IoT Platform menggunakan SDK.

Instal SDK

  1. Instal lingkungan pengembangan .NET.

    IoT Platform SDK untuk .NET mendukung lingkungan berikut:

    • .NET Framework 4.5 dan yang lebih baru

    • .NET Standard 2.0 dan yang lebih baru

    • C# 4.0 dan yang lebih baru

    • Visual Studio 2010 dan yang lebih baru

  2. Instal Alibaba Cloud SDK untuk .NET.

    • Gunakan .NET CLI untuk menginstal SDK.

      Jalankan perintah berikut untuk menginstal versi terbaru SDK. Untuk menginstal versi tertentu, tambahkan --versionNomor versi ke dalam perintah.

      dotnet add package AlibabaCloud.OpenApiClient 
    • Konfigurasikan file .csproj untuk menambahkan dependensi, lalu jalankan perintah untuk menginstal SDK.

      1. Tambahkan dependensi berikut:

        <PackageReference Include="AlibabaCloud.OpenApiClient" Version="0.0.13" />
      2. Jalankan perintah berikut untuk menginstal SDK:

        dotnet build
  3. Gunakan NuGet untuk menginstal SDK. Untuk informasi lebih lanjut, kunjungi Paket NuGet.

    • Gunakan Visual Studio untuk menginstal SDK.

      1. Di panel Solution Explorer Visual Studio, klik kanan proyek Anda dan pilih Manage NuGet Packages.

      2. Di panel NuGet Package Manager, klik tab Browse.

      3. Di tab Browse, masukkan AlibabaCloud.SDK di kotak pencarian dan pilih entri AlibabaCloud.SDK.Iot20180120 dengan kolom Authors menampilkan aliyun-openapi-sdk dari daftar hasil. Untuk informasi lebih lanjut tentang SDK, kunjungi AlibabaCloud.SDK.Iot20180120.

      4. Klik Install.

    • Metode instalasi lainnya

      • Gunakan CLI dotnet untuk menginstal SDK. Untuk informasi tentang versi lainnya, kunjungi IoT Platform SDK Sample Center.

        # Instal versi terbaru SDK.
        dotnet add package AlibabaCloud.SDK.Iot20180120
        
        # Tentukan versi SDK yang ingin Anda instal. Dalam contoh ini, SDK versi 3.0.9 diinstal.
        dotnet add package AlibabaCloud.SDK.Iot20180120 --version 3.0.9
      • Gunakan paket instalasi untuk menginstal SDK.

        # Instal versi terbaru SDK.
        Install-Package AlibabaCloud.SDK.Iot20180120
        
        # Tentukan versi SDK yang ingin Anda instal. Dalam contoh ini, SDK versi 3.0.9 diinstal.
        Install-Package AlibabaCloud.SDK.Iot20180120 -Version 3.0.9

    Untuk informasi tentang kode sumber SDK untuk .NET, kunjungi alibabacloud-csharp-sdk.

Inisialisasi SDK

  1. Buat objek config dari kelas AlibabaCloud.OpenApiClient.Models.Config untuk menyimpan informasi inisialisasi SDK seperti ID AccessKey, Rahasia AccessKey, dan ID wilayah.

  2. Buat instance client dari kelas AlibabaCloud.SDK.Iot20180120. Panggil metode AlibabaCloud.SDK.Iot20180120.Client(config) untuk memuat informasi inisialisasi SDK. Setelah dimuat, SDK diinisialisasi.

    Parameter Request dan Response diperoleh dari AlibabaCloud.SDK.Iot20180120.Models untuk pemanggilan API selanjutnya.

Sebagai contoh, jika ingin menggunakan SDK di wilayah Tiongkok (Shanghai), gunakan kode berikut untuk menginisialisasi SDK. Di lingkungan produksi, pilih wilayah tempat IoT Platform diaktifkan.

AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
// ID AccessKey Anda.
config.AccessKeyId = Environment.GetEnvironmentVariable("ACCESS_KEY_ID");
// Rahasia AccessKey Anda.
config.AccessKeySecret = Environment.GetEnvironmentVariable("ACCESS_KEY_SECRET");
// ID wilayah.
config.RegionId = "cn-shanghai";
AlibabaCloud.SDK.Iot20180120.Client client = new AlibabaCloud.SDK.Iot20180120.Client(config);

Parameter

Deskripsi

AccessKeyId

ID AccessKey akun Alibaba Cloud Anda.

Anda dapat pergi ke halaman Pasangan AccessKey di Konsol Manajemen Alibaba Cloud untuk membuat atau melihat pasangan AccessKey Anda.

AccessKeySecret

Rahasia AccessKey akun Alibaba Cloud Anda.

RegionId

ID wilayah tempat instansi IoT Platform Anda berada. ID wilayah digunakan dalam titik akhir untuk akses layanan. Titik akhir berada dalam format iot.${RegionId}.aliyuncs.com.

Anda dapat melihat wilayah di pojok kiri atas Konsol IoT Platform.

Untuk informasi lebih lanjut tentang format ID wilayah, lihat Wilayah yang didukung.

Mengirim Permintaan

SDK mengenkapsulasi dua kelas untuk setiap operasi API. Kelas dengan nama dalam format ${Nama API}+"Request" menunjukkan permintaan, sedangkan kelas dengan nama dalam format ${Nama API}+"Response" menunjukkan respons.

Prosedur

  1. Inisialisasi SDK. Untuk informasi lebih lanjut, lihat bagian Inisialisasi SDK dari topik ini.

  2. Buat permintaan API dengan menghasilkan instance request dari kelas ${Nama Operasi API}+"Request".

  3. Panggil metode request.${Parameter Permintaan} dari instance request untuk menentukan parameter permintaan.

  4. Buat instance response dari kelas ${Nama Operasi API}+"Response" untuk mendapatkan respons. Panggil metode ${Nama Operasi API}(request) dari instance client untuk mendapatkan respons terhadap permintaan API. Respons mencakup body dan headers yang dikembalikan oleh server.

  5. Panggil metode response.body.${Parameter Respons} untuk mendapatkan nilai parameter respons.

    Sebagai contoh, panggil metode response.body.RequestId untuk mendapatkan pengenal unik yang dihasilkan oleh Alibaba Cloud untuk permintaan API. RequestId adalah parameter respons umum. Parameter respons umum lainnya termasuk Success, ErrorMessage, dan Code.

  6. Panggil metode catch() untuk menangani pengecualian.

Untuk informasi lebih lanjut tentang operasi API dari IoT Platform, lihat Daftar operasi berdasarkan fungsi. Untuk informasi lebih lanjut tentang parameter permintaan dan parameter respons dari setiap operasi API, lihat referensi API.

Contoh berikut menunjukkan cara memanggil operasi Pub untuk menerbitkan pesan ke topik. Untuk informasi lebih lanjut tentang parameter permintaan, lihat Pub.

Penting

Dalam kode sampel berikut, ${iotInstanceId} menentukan ID instansi. Anda dapat melihat ID instansi pada halaman Overview di Konsol IoT Platform.

  • Jika instansi Anda memiliki ID, Anda harus menentukan ID untuk parameter ini. Jika tidak, panggilan akan gagal.

  • Jika tidak ada halaman Overview atau ID yang dihasilkan untuk instansi Anda, Anda tidak perlu mengonfigurasi parameter ini. Hapus kode permintaan yang terkait dengan parameter IotInstanceId atau tentukan string kosong ("") untuk parameter tersebut. Jika tidak, panggilan akan gagal.

Untuk informasi lebih lanjut tentang instansi IoT Platform, lihat Ikhtisar. Untuk informasi lebih lanjut tentang cara membeli instansi, lihat Beli instansi Edisi Perusahaan. Untuk informasi lebih lanjut, lihat FAQ tentang instansi IoT Platform.

AlibabaCloud.SDK.Iot20180120.Models.PubRequest request = new AlibabaCloud.SDK.Iot20180120.Models.PubRequest
{
    // ID instansi IoT Platform.
    IotInstanceId = "${iotInstanceId}",
    // ProductKey produk.
    ProductKey = "${productKey}",
    // Konten pesan yang ingin Anda kirim. Enkode "hello world" dalam Base64 sebagai string.
    MessageContent = Convert.ToBase64String(Encoding.Default.GetBytes("Hello World.")),
    // Topik kustom yang digunakan untuk menerbitkan pesan.
    TopicFullName = "/${productKey}/${deviceName}/user/get",
    // Mode pengiriman pesan. IoT Platform SDK mendukung QoS 0 dan QoS 1.
    Qos = 0,
};
// Dapatkan respons menggunakan instance client.
try
{
    AlibabaCloud.SDK.Iot20180120.Models.PubResponse response = client.Pub(request);
    Console.WriteLine("hasil publikasi pesan: " + response.Body.Success);
    Console.WriteLine(response.Body.Code);
    Console.WriteLine(response.Body.ErrorMessage);
}
catch (TeaException error)
{
    Console.WriteLine(error.Code);
    Console.WriteLine(error.Message);
}
catch (Exception _error)
{
    Console.WriteLine(_error.Message);
    Console.WriteLine(_error.StackTrace);
}

Kode Sampel

Catatan

Anda dapat mengganti nilai parameter sebelumnya dengan nilai aktual berdasarkan skenario bisnis Anda.

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading.Tasks;

using Tea;
using Tea.Utils;

namespace AlibabaCloud.SDK.Sample
{
    public class Sample
    {
        /**
         * Gunakan ID AccessKey dan rahasia AccessKey Anda untuk menginisialisasi klien.
         * @param accessKeyId 
         * @param accessKeySecret
         * @param regionId
         * @return Client
         * @throws Exception
         */
        public static AlibabaCloud.SDK.Iot20180120.Client CreateClient()
        {
            AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
            // ID AccessKey Anda.
            config.AccessKeyId = Environment.GetEnvironmentVariable("ACCESS_KEY_ID");
            // Rahasia AccessKey Anda.
            config.AccessKeySecret = Environment.GetEnvironmentVariable("ACCESS_KEY_SECRET");
            // ID wilayah.
            config.RegionId = "cn-shanghai";
            return new AlibabaCloud.SDK.Iot20180120.Client(config);
        }


        public static void Main(string[] args)
        {
            try
            {
                AlibabaCloud.SDK.Iot20180120.Client client = CreateClient("${accessKey}", "${accessKeySecret}");
                AlibabaCloud.SDK.Iot20180120.Models.PubRequest request = new AlibabaCloud.SDK.Iot20180120.Models.PubRequest
                {
                    // ID instansi IoT Platform.
                    IotInstanceId = "${iotInstanceId}",
                    // ProductKey produk.
                    ProductKey = "${productKey}",
                    // Konten pesan yang ingin Anda kirim. Enkode "hello world" dalam Base64 sebagai string.
                    MessageContent = Convert.ToBase64String(Encoding.Default.GetBytes("Hello World.")),
                    // Topik kustom yang digunakan untuk menerbitkan pesan.
                    TopicFullName = "/${productKey}/${deviceName}/user/get",
                    // Mode pengiriman pesan. IoT Platform SDK mendukung QoS 0 dan QoS 1.
                    Qos = 0,
                };
                AlibabaCloud.SDK.Iot20180120.Models.PubResponse response = client.Pub(request);
                Console.WriteLine("hasil publikasi pesan: " + response.Body.Success);
                Console.WriteLine(response.Body.Code);
                Console.WriteLine(response.Body.ErrorMessage);
            }
            catch (TeaException error)
            {
                Console.WriteLine(error.Code);
                Console.WriteLine(error.Message);
            }
            catch (Exception _error)
            {
                Console.WriteLine(_error.Message);
                Console.WriteLine(_error.StackTrace);
            }
        }
    }
}

Lampiran: Kode Sampel

Anda dapat melihat atau mengunduh kode sampel operasi API di IoT Platform SDK Sample Center. Kode sampel SDK untuk Java, Python, PHP, Node.js, Go, C++, dan .NET disediakan.

Alibaba Cloud OpenAPI Explorer menyediakan alat debugging online untuk operasi API. Di halaman Debugging API, Anda dapat mencari operasi API, memanggil operasi API, dan menghasilkan kode sampel untuk operasi API dari SDK yang berbeda. Di sisi kanan halaman, Anda dapat melihat kode sampel SDK di tab Kode Sampel. Di tab Hasil Debugging, Anda dapat melihat URL permintaan sebenarnya dan respons dalam format JSON.