Я нашел метод, который отправляет фиктивные данные в режиме реального времени в AWS Kinesis. Мне нужно узнать, как использовать GetRecordsRequest для получения данных из AWS Kinesis. Возможно ли это или есть другой способ сделать это вместо использования GetRecordsRequest. Я совершенно новичок в AWS:)
private static void PublishDeviceDataToKinesis(List<DeviceData> dataList)
{
var kinesisClient = new AmazonKinesisClient(_regionEndpoint);
foreach (DeviceData data in dataList)
{
var dataAsJson = JsonConvert.SerializeObject(data);
var dataAsBytes = Encoding.UTF8.GetBytes(dataAsJson);
using (var memoryStream = new MemoryStream(dataAsBytes))
{
try
{
var requestRecord = new PutRecordRequest
{
StreamName = _kinesisStreamName,
PartitionKey = data.DeviceId,
Data = memoryStream
// Limit = 1000,
// ShardIterator = 1
};
var responseRecord = kinesisClient.PutRecordAsync(requestRecord).Result;
Console.WriteLine($"Successfully published. Record:{data.DeviceId},{data.Humidity},{data.Temperature} Seq:{responseRecord.SequenceNumber}");
}
catch (Exception ex)
{
Console.WriteLine($"Failed to publish. Exception: {ex.Message}");
}
}
}
}