物联网平台提供.NET语言的云端SDK供开发人员使用。本文介绍云端.NET SDK的安装和配置,及使用.NET SDK调用云端API的示例。
安装SDK
初始化SDK
说明 以下示例以华东2地域及其服务接入地址为例。您在设置时,需使用您的物联网平台地域和对应的服务接入地址。
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
IClientProfile clientProfile = DefaultProfile.GetProfile("cn-shanghai", "<your-access-key-id>", "<your-access-key-secret>");
DefaultAcsClient client = new DefaultAcsClient(clientProfile);
请在阿里云官网控制台AccessKey管理中创建或查看您的AccessKeyId和AccessKeySecret。
发起调用
物联网平台云端API,请参见API列表。
以调用Pub接口向Topic发布消息为例。
说明 以下代码中iotInstanceId为实例ID,企业版实例填写实例ID,公共实例要删除代码
request.IotInstanceId = "<iotInstanceId>";
。
关于如何购买企业版实例,请参见实例管理。
PubRequest request = new PubRequest();
request.IotInstanceId = "<iotInstanceId>";
request.ProductKey = "<productKey>";
request.TopicFullName = "/<productKey>/<deviceName>/get";
byte[] payload = Encoding.Default.GetBytes("Hello World.");
String payloadStr = Convert.ToBase64String(payload);
request.MessageContent = payloadStr;
request.Qos = 0;
try
{
PubResponse response = client.GetAcsResponse(request);
Console.WriteLine("publish message result: " + response.Success);
Console.WriteLine(response.ErrorMessage);
}
catch (ServerException e)
{
Console.WriteLine(e.ErrorCode);
Console.WriteLine(e.ErrorMessage);
}
catch (ClientException e)
{
Console.WriteLine(e.ErrorCode);
Console.WriteLine(e.ErrorMessage);
}
附录:Demo
下载云端SDK Demo。Demo中包含Java、Python、PHP、.NET和Go版本SDK示例。
另外,阿里云提供API在线调试工具OpenAPI Explorer。在OpenAPI Explorer页,您可以快速检索和试验调用API。系统会根据您输入的参数同步生成各语言SDK的Demo代码。各语言SDK Demo显示在页面右侧示例代码页签下。在调试结果页签下,查看API调用的真实请求URL和JSON格式的返回结果。