4

我正在使用 boto3 从一些代码中发布日志事件。结果显示存储了 0 个字节 - 其他所有内容均有效,下一个 sequenceToken 和创建时间 - 但日志中没有任何事件。我发送的消息只是一个简单的message = "test". 但是,当我调用此函数时,会返回 logstream 类型的意外结果。有谁知道这可能是什么原因造成的?

 kwargs = {'logGroupName': self.log_group_name,
           'logStreamName': self.log_stream_name,
           'logEvents': [
                    {
                        'timestamp': ts,
                        'message': message
                    },
                ]}

        token = self.get_seq_token()
        if token:
            print 'token:' + token
            kwargs.update({'sequenceToken': token})

        response = self.client.put_log_events(**kwargs) 

结果似乎是一个日志流:

{'storedBytes': 0, 'creationTime': 1481640079355, 
'uploadSequenceToken': 'validtoken', 
'logStreamName': 'test_stream_1', 
'lastIngestionTime': 1481640079447, 
'arn': 'arn:aws:logs:us-east-1:[aws_id]:log-group:test_group:log-stream:test_stream_1'}

从文档中期待:

{
    'nextSequenceToken': 'string',
    'rejectedLogEventsInfo': {
        'tooNewLogEventStartIndex': 123,
        'tooOldLogEventEndIndex': 123,
        'expiredLogEventEndIndex': 123
    }
}
4

1 回答 1

13

错误的结果是一个红鲱鱼 - 错误是时间太久了。需要将 unix 时间乘以 1000

 ts = int(time.time()*1000)

与此相关: 亚马逊 CloudWatchLogs putLogEvents

于 2016-12-13T21:33:51.130 回答