如果有人能给我更多的启示,我将不胜感激。
我使用基于文件输入的Logstash
&AWS SQS
作为输出。输出的logstash配置如下:
output {
sqs {
queue => "my-queue"
access_key_id => "xxx"
secret_access_key => "xyz"
region => "us-east-1"
}
stdout { codec => rubydebug }
}
,在启动Logstash时,我看到以下错误:
Unable to access SQS queue 'my-queue': The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
The Canonical String for this request should have been
'POST
/
content-length:95
content-type:application/x-www-form-urlencoded; charset=utf-8
host:sqs.us-east-1.amazonaws.com
user-agent:aws-sdk-ruby/1.65.0 jruby/1.9.3 java
x-amz-content-sha256:4fcf205bdb6d3a91a4c2e3543e6720c8d13b16e8070e7c9bca7e56147fb0b513
x-amz-date:20150908T191848Z
content-length;content-type;host;user-agent;x-amz-content-sha256;x-amz-date
4fcf205bdb6d3a91a4c2e3543e6720c8d13b16e8070e7c9bca7e56147fb0b513'
The String-to-Sign should have been
'AWS4-HMAC-SHA256
20150908T191848Z
20150908/us-east-1/sqs/aws4_request
8a2c2e7b807cefb1f95207a3c700c89ead7796428d39bfb7445d6adc9cbf81b9'
{:level=>:error}
你确定你正在使用正确的AWS Credentials
,我会创建一个新的access key
只是为了确保。