我有一个php worker,可以在其中记录到AWS的事件。不幸的是,当我尝试提交时出现以下错误。
InvalidSequenceTokenException在“ https://logs.eu-west-1.amazonaws.com ”上执行“ PutLogEvents”时出错;AWS HTTP错误:客户端错误:
POST https://logs.eu-west-1.amazonaws.com
导致400 Bad Request
响应:{“ __type”:“ InvalidSequenceTokenException”,“ expectedSequenceToken”:“ 999999999999990356407851919528174(截断...)InvalidSequenceTokenException(客户端):给定的sequenceToken无效。下一个预期的sequenceToken是: 495599999999988500356407851919528174642-{“ __type”:“ InvalidSequenceTokenException”,“ expectedSequenceToken”:“ 495573099999999900356407851919528528174642”,“ message”:“给定的sequenceToken无效。下一个预期的序列令牌是:495579999999900356407851919528174642“}
这是我的代码
$date = new DateTime();
$instance= = new CloudWatchLogsClient([
'region' => 'eu-west-1',
'version' => 'latest',
'credentials' => [
'key' => 'XXX',
'secret' => 'XXXX'
]
]);
$instance->putLogEvents([
'logGroupName' => "WorkerLog",
'logStreamName' => "log",
'logEvents' => [
[
'timestamp' => $date->getTimestamp(),
'message' => "test log"
]
]
]);
http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html
您的请求中必须包含序列令牌。如果您没有,则必须使用describeLogStreams(http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeLogStreams.html)来获取流序列。
调用putLogEvents时,您将在响应中获得nextToken。您还必须为其他人推送到流并使nextToken无效的情况做好准备。(在这种情况下,您需要再次描述流以获取更新的令牌)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句