Есть ли лучший пакет для публикации в Aws Iot Core, чем AWSSDK. Не используется ли C #? - PullRequest
0 голосов
/ 07 марта 2019

Я использую пакет awssdk.iot nuget для C # и не могу найти способ публикации. Я нашел метод 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, но это обновляет iot из файлов S3. Есть ли лучший ват для публикации?

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() ;
}

1 Ответ

2 голосов
/ 07 марта 2019

MQTT Сообщения публикации публикуются с использованием методов AmazonIotDataClient

Доступны методы Publish и PublishAsync.

Из https://docs.aws.amazon.com/sdkfornet/v3/apidocs/index.html?page=IotData/MIotDataPublishAsyncPublishRequestCancellationToken.html&tocid=Amazon_IotData_AmazonIotDataClient метод PublishAsync:

Инициирует асинхронное выполнение операции публикации.

Использует тип PublishRequest .Это имеет полезную нагрузку, QoS и поля темы.

...