我正在使用 C# 的 awssdk.iot
nuget 包,但找不到发布方法。我发现了一种方法 Amazon.IoT.AmazonIoTClient(region).UpdateThing(UpdateThingRequest)
,该方法在文档中指出它“更新事物的数据”。
https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/TIoTClient.html
其中 Amazon.IoT.Model.UpdateThingRequest
具有属性 AttributePayload、ExpectedVersion、RemoveThingType、ThingName、ThingTypeName
。但是,它没有任何我可以实际附加数据的属性。我可以发送属性有效负载,但这只会将属性附加到事物上。我查看了 UpdateStream
但它从 S3 文件更新了 iot。
有没有更好的wa可以发布?
using Amazon;
public static string Iot()
{
var Region = RegionEndpoint.USEast1;
Amazon.IoT.Model.UpdateThingResponse response;
using (var client = new Amazon.IoT.AmazonIoTClient(region: Region))
{
var request = new Amazon.IoT.Model.UpdateThingRequest();
request.ThingName = name;
request.AttributePayload = new Amazon.IoT.Model.AttributePayload();
request.AttributePayload.Attributes = new Dictionary<string, string>()
{
{"data","myvalue"}
};
response = client.UpdateThing(request);
}
return response.HttpStatusCode.ToString() ;
}
最佳答案
MQTT 发布消息使用 AmazonIotDataClient
发送
Publish
和 PublishAsync
方法可用。
来自https://docs.aws.amazon.com/sdkfornet/v3/apidocs/index.html?page=IotData/MIotDataPublishAsyncPublishRequestCancellationToken.html&tocid=Amazon_IotData_AmazonIotDataClient PublishAsync
方法:
Initiates the asynchronous execution of the Publish operation.
它使用 PublishRequest类型。它具有有效负载、QoS 和主题字段。
关于c# - 是否有比使用 C# 的 AWSSDK.Iot 更好的包发布到 Aws Iot Core?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55033690/