Я пытаюсь прочитать данные журнала, используя. NET из CloudWatch для сообщений, отправленных с использованием SNS.
В консоли CloudWatch (CloudWatch \ CloudWatch Logs \ Logs Insights) я ввожу:
Date range: custom (2w)
LogGroup: sns/ap...../8...../LogName
Query: fields @timestamp, @message | sort @timestamp desc | limit 20
Возвращает множество записей журнала (@timestamp | @message)
Я пытаюсь сделать то же самое с c#, используя. net AWS SDK:
public async Task GetLogs()
{
string logGroupName = "sns/ap...../8...../LogName";
AWSOptions options = configuration.GetAWSOptions();
IAmazonCloudWatchLogs logs = options.CreateServiceClient<IAmazonCloudWatchLogs>();
StartQueryRequest startQueryRequest = new StartQueryRequest();
startQueryRequest.LogGroupName = logGroupName;
startQueryRequest.StartTime = 1577850562; //1 Jan 2020
TimeSpan t = DateTime.UtcNow - new DateTime(1970, 1, 1); //Epoch time starts on 1/1/1970
int secondsSinceEpoch = (int)t.TotalSeconds;
startQueryRequest.EndTime = secondsSinceEpoch;
startQueryRequest.QueryString = "fields @timestamp, @message | sort @timestamp desc";
startQueryRequest.Limit = 1000;
StartQueryResponse response2 = await logs.StartQueryAsync(startQueryRequest);
Console.WriteLine();
}
Не могу понять, почему он не возвращает никаких записей.
Response2 =
ContentLength: 50
QueryId: "guid..."
ResponseMetadata:
Metadata Count = 0
RequestId = "guid..."
Есть идеи, что я делаю не так? Спасибо!