У меня есть приложение C#, в котором я использую AWS SDK для использования AWS SNS для отправки SMS. Когда я отправляю SMS, AWS SNS настроен на регистрацию сведений об отправке в AWS CloudWatchLogs, например, было ли SMS отправлено успешно или в нем произошла ошибка.
Когда я отправляю SMS SMS я получаю MessageID отправки и сохраняю его в своей базе данных, но когда я хочу выполнить поиск в AWS CloudWatchLogs, я не могу выполнить поиск по этим данным, поскольку это атрибут журнала, созданного в AWS CloudWatchLogs, но это не имя журнал в AWS CloudWatchLogs.
Я могу получить все записи из AWS CloudWatchLogs и, просматривая их, получить доступ к MessageID, но я думаю, что это слишком неэффективно, потому что мне придется идти перебираю все записи, пока не найду нужную.
Есть ли способ поиска по MessageID?
Я так делаю поиск всех записей
var awsCredentials = new BasicAWSCredentials(awsKeyId, awsKeySecret);
AmazonCloudWatchLogsClient client = new AmazonCloudWatchLogsClient(awsCredentials,Amazon.RegionEndpoint.USEast1);
var describeLogStreamsRequest = new DescribeLogStreamsRequest()
{
LogGroupName = "sns/us-east-1/xxxxxxxxx/DirectPublishToPhoneNumber"
};
var describeLogStreamsResult = await client.DescribeLogStreamsAsync(describeLogStreamsRequest);
foreach (var stream in describeLogStreamsResult.LogStreams)
{
var eventsRequest = new GetLogEventsRequest()
{
LogStreamName = stream.LogStreamName,
LogGroupName = describeLogStreamsRequest.LogGroupName,
StartFromHead = true
};
var result =await client.GetLogEventsAsync(eventsRequest);
foreach (var events in result.Events)
{
MessageBox.Show(events.Timestamp + " - " + events.Message);
}
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... dwatchlogs