IoT Platform provides an SDK for Python. This topic describes how to install and configure IoT Platform SDK for Python. This topic also provides sample code on how to use the SDK to call API operations of IoT Platform.
Install the SDK
Install a Python development environment.
Download a Python installation package from the official Python website and install Python. Python 2.7.x and 3.x are supported.
Install pip that is used to manage Python packages. If you have installed pip, skip this step.
Download a pip installation package from the official pip website and install pip.
Run the following commands as an administrator to install IoT Platform SDK for Python.
For more information about IoT Platform SDK for Python, visit aliyun-python-sdk-iot.
sudo pip install aliyun-python-sdk-core sudo pip install aliyun-python-sdk-iot
Import the files that are related to IoT Platform SDK for Python to a Python file.
from aliyunsdkcore import client from aliyunsdkiot.request.v20180120 import RegisterDeviceRequest from aliyunsdkiot.request.v20180120 import PubRequest ...
Initialize the SDK
The following example shows how to initialize the SDK if your IoT Platform service resides in the China (Shanghai) region:
Call the client.AcsClient(accessKeyId, accessKeySecret, 'cn-shanghai')
method to load the SDK initialization information.
import os
accessKeyId = os.getenv('ACCESS_KEY_ID')
accessKeySecret = os.getenv('ACCESS_KEY_SECRET')
clt = client.AcsClient(accessKeyId, accessKeySecret, 'cn-shanghai')
Parameter | Description |
clt | The initialized SDK client. You can view the region in the upper-left corner of the IoT Platform console. For more information about region IDs, see Supported regions. |
Initiate a request
The SDK encapsulates a class for each API operation. The class name is in the ${API operation name}+"Request"
format. You can create a request
instance of this class and call the "set_"+${request parameter}
method to specify the request parameters. You can call the do_action_with_exception(request)
method of the clt client to obtain a response.
For more information about the API operations of IoT Platform, see List of operations by function. For more information about the request
and response
parameters of each API operation, see the API documentation.
The following example shows how to call the Pub operation to publish a message to a topic. For more information about the request parameters, see Pub.
request = PubRequest.PubRequest()
request.set_accept_format('json') # The format in which the response is returned. By default, the XML format is used. In this example, the JSON format is used.
request.set_IotInstanceId('iotInstanceId')
request.set_ProductKey('productKey')
request.set_TopicFullName('/productKey/deviceName/get') # The full name of the topic that is used to publish the message.
request.set_MessageContent('aGVsbG8gd29ybGQ=') #hello world Base64 String
request.set_Qos(0)
result = clt.do_action_with_exception(request)
print('result : ' + result)
Appendix: Sample code
You can view or download the sample code of API operations in IoT Platform SDK Sample Center. The sample code of the SDKs for Java, Python, PHP, .NET, and Go is provided.
Alibaba Cloud OpenAPI Explorer provides online debugging tools for API operations. On the API Debugging page, you can search for API operations, call API operations, and generate sample code for API operations of different SDKs. On the right side of the page, you can view the sample code of an SDK on the Sample Code tab. On the Debugging Result tab, you can view the actual request URL and response in the JSON format.