全部产品
Search
文档中心

IoT Platform:Gunakan SDK Platform IoT untuk Python

更新时间:Nov 11, 2025

Platform IoT menyediakan SDK untuk Python. Topik ini menjelaskan cara menginstal dan mengonfigurasi SDK Platform IoT untuk Python, serta menyediakan contoh kode penggunaannya untuk memanggil operasi API Platform IoT.

Instal SDK Platform IoT untuk Python

  1. Instal lingkungan pengembangan Python.

    Unduh paket instalasi Python dari situs web resmi Python dan instal Python. SDK untuk Python memerlukan Python 3.6 atau versi yang lebih baru.

  2. Instal pip untuk mengelola paket Python. Jika Anda telah menginstal pip, lewati langkah ini.

    Unduh paket instalasi pip dari situs web resmi pip dan instal pip.

  3. Instal SDK Platform IoT untuk Python.

    Jalankan perintah berikut sebagai administrator untuk menginstal SDK Platform IoT untuk Python. Untuk informasi selengkapnya tentang cara menggunakan SDK, lihat alibabacloud-python-sdk.

    pip3 install alibabacloud_tea_openapi
    
    # Instal versi terbaru SDK Platform IoT untuk Python. 
    pip3 install alibabacloud_iot20180120
    # Instal versi tertentu SDK Platform IoT untuk Python. Dalam contoh ini, SDK Platform IoT untuk Python versi 3.0.9 diinstal. 
    pip3 install alibabacloud_iot20180120==3.0.9 
    
  4. Instal paket alibabacloud-tea-console untuk menampilkan log di konsol Platform IoT.

    Jalankan perintah berikut sebagai administrator:

    pip3 install alibabacloud-tea-console
  5. Impor file yang terkait dengan SDK Platform IoT untuk Python ke dalam file Python.

    from Tea.core import TeaCore
    from alibabacloud_iot20180120.client import Client as IotClient
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_iot20180120 import models as iot_models
    from alibabacloud_tea_console.client import Client as ConsoleClient
    from alibabacloud_tea_util.client import Client as UtilClient
    ...

Inisialisasi SDK Platform IoT untuk Python

  1. Buat objek config untuk menyimpan informasi inisialisasi SDK, seperti ID AccessKey, Rahasia AccessKey, dan ID wilayah.

  2. Buat instans client dan panggil metode IotClient(config) untuk memuat informasi SDK dari objek config. Dengan demikian, SDK diinisialisasi.

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

config = open_api_models.Config()
# ID AccessKey Anda.
config.access_key_id = os.environ.get('ALICLOUD_ACCESS_KEY_ID')
# Rahasia AccessKey Anda.
config.access_key_secret = os.environ.get('ALICLOUD_ACCESS_KEY_SECRET')
# ID wilayah Anda.
config.region_id = 'cn-shanghai'
client = IotClient(config)

Parameter

Deskripsi

region_id

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

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

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

Kirim permintaan

SDK mengenkapsulasi kelas untuk setiap operasi API. Nama kelas memiliki format ${nama API}+"Request". Anda dapat menggunakan kelas tersebut untuk mengirim permintaan API.

Prosedur

  1. Inisialisasi SDK. Untuk informasi selengkapnya, lihat Inisialisasi SDK.

  2. Buat permintaan API dengan membuat instans request yang nama kelasnya memiliki format ${nama API}+"Request".

  3. Panggil metode "set"+${parameter permintaan} dari instans request untuk menentukan parameter permintaan.

  4. Panggil metode ${nama API dengan kata-kata dihubungkan oleh garis bawah}(request) dari instans client untuk mendapatkan tanggapan. Metode yang namanya diakhiri dengan _async menunjukkan metode asinkron.

    Contoh: invoke_things_service(request) dan invoke_things_service_async(request).

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

Contoh berikut menunjukkan cara memanggil operasi Pub untuk memublikasikan pesan ke topik. Untuk informasi selengkapnya tentang parameter permintaan, lihat Pub.

Penting

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

  • Jika instans Anda memiliki ID, Anda harus menentukan ID tersebut untuk parameter ini. Jika tidak, pemanggilan akan gagal.

  • Jika halaman Overview atau ID tidak dibuat untuk instans Anda, Anda tidak perlu mengonfigurasi parameter ini. Anda harus menghapus kode permintaan yang terkait dengan parameter IotInstanceId atau menentukan string kosong ("") untuk parameter tersebut. Jika tidak, pemanggilan akan gagal.

Untuk informasi selengkapnya tentang instans Platform IoT, lihat Ikhtisar. Untuk informasi selengkapnya tentang cara membeli instans, lihat Beli instans Edisi Perusahaan. Untuk informasi selengkapnya, lihat FAQ tentang instans Platform IoT.

request = iot_models.PubRequest(
    # ID instans Platform IoT. 
    iot_instance_id='${iotInstanceId}',
    # KunciProduk produk. 
    product_key='${productKey}',
    # Isi pesan yang ingin Anda kirim. Enkode "hello world" dalam Base64 sebagai string. 
    message_content='aGVsbG8gd29ybGQ=',
    # Nama topik kustom yang digunakan oleh perangkat untuk menerima pesan. 
    topic_full_name='/${productKey}/${deviceName}/user/get',
    # Tingkat quality of service (QoS) pesan. Pesan QoS 0 dan QoS 1 didukung. 
    qos=0
)
response = client.pub(request)
print('response : ' + response)

Kode contoh lengkap

Catatan

Anda dapat mengganti nilai parameter di atas dengan nilai aktual berdasarkan skenario bisnis Anda.

# -*- coding: utf-8 -*-
import sys
from typing import List
from Tea.core import TeaCore
from alibabacloud_iot20180120.client import Client as IotClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_iot20180120 import models as iot_models
from alibabacloud_tea_console.client import Client as ConsoleClient
from alibabacloud_tea_util.client import Client as UtilClient

access_key_id = os.environ.get('ACCESS_KEY_ID')
access_key_secret = os.environ.get('ACCESS_KEY_SECRET')

class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client(
        access_key_id: str,
        access_key_secret: str,
    ) -> IotClient:
        """
        Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.
        """
        Use your AccessKey ID and AccessKey secret to initialize the client.
        @param access_key_id:
        @param access_key_secret:
        @return: Client
        @throws Exception
        """
        config = open_api_models.Config()
        # ID AccessKey Anda.
        config.access_key_id = os.environ.get('ALICLOUD_ACCESS_KEY_ID')
        # Rahasia AccessKey Anda.
        config.access_key_secret = os.environ.get('ALICLOUD_ACCESS_KEY_SECRET')
        # ID wilayah Anda.
        config.region_id = 'cn-shanghai'
        return Iot20180120Client(config)

    @staticmethod
    def main(
        args: List[str],
    ) -> None:
        """
        Panggilan sinkron
        """
        try:
            client = Sample.create_client('${accessKey}', '${accessKeySecret}')
            request = iot_models.PubRequest(
                # ID instans Platform IoT. 
                iot_instance_id='${iotInstanceId}',
                # KunciProduk produk. 
                product_key='${productKey}',
                # Isi pesan yang ingin Anda kirim. Enkode "hello world" dalam Base64 sebagai string. 
                message_content='eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=',
                # Topik kustom yang digunakan untuk memublikasikan pesan. 
                topic_full_name='/${productKey}/${deviceName}/user/get',
                # Tingkat QoS pesan. Pesan QoS 0 dan QoS 1 didukung. 
                qos=0
            )
            response = client.pub(request)
            ConsoleClient.log(UtilClient.to_jsonstring(TeaCore.to_map(response)))
        except Exception as error:
            ConsoleClient.log(error.message)

    @staticmethod
    async def main_async(
        args: List[str],
    ) -> None:
        """
        Panggilan asinkron
        """
        try:
            client = Sample.create_client('${accessKey}', '${accessKeySecret}')
            request = iot_models.PubRequest(
                # ID instans Platform IoT. 
                iot_instance_id='${iotInstanceId}',
                # KunciProduk produk. 
                product_key='${productKey}',
                # Isi pesan yang ingin Anda kirim. Enkode "hello world" dalam Base64 sebagai string. 
                message_content='eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=',
                # Topik kustom yang digunakan untuk memublikasikan pesan. 
                topic_full_name='/${productKey}/${deviceName}/user/get',
                # Tingkat QoS pesan. Pesan QoS 0 dan QoS 1 didukung. 
                qos=0
            )
            response = await client.pub_async(request)
            ConsoleClient.log(UtilClient.to_jsonstring(TeaCore.to_map(response)))
        except Exception as error:
            ConsoleClient.log(error.message)


if __name__ == '__main__':
    Sample.main(sys.argv[1:])

Lampiran: Kode contoh

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

Alibaba Cloud OpenAPI Explorer menyediakan alat debugging online untuk operasi API. Pada halaman API Debugging, Anda dapat mencari operasi API, memanggil operasi API, dan menghasilkan kode contoh untuk berbagai SDK. Di sisi kanan halaman, Anda dapat melihat kode contoh SDK pada tab Sample Code. Pada tab Debugging Result, Anda dapat melihat URL permintaan aktual dan tanggapan dalam format JSON.