Error during sending a signed http request to ElasticSearch
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
Research direction
Start with the request construction and Aws::Client::AWSAuthV4Signer::SignRequest call shown in the issue, then reproduce the request against Elasticsearch using the configured region and environment credentials. Compare the signing inputs with the service response; done means confirming a library defect with a minimal reproduction or documenting a correction to the caller's setup.
Written by the indexing model from the issue text.
Description
hey,
I am running into an error while making a httprequest to Elastic Search The error is
The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method
Following is the code. Any pointers to bug in my code or library would be appreciated.
`invocation_response my_handler(invocation_request const& request)
{
ClientConfiguration config;
config.region = Aws::Environment::GetEnv("AWS_REGION");
config.caFile = "/etc/pki/tls/certs/ca-bundle.crt";
auto credentialsProvider = Aws::MakeShared<Aws::Auth::EnvironmentAWSCredentialsProvider>("es");
auto client = CreateHttpClient(config);
auto httpRequest = CreateHttpRequest(URL, HttpMethod::HTTP_GET,
Aws::Utils::Stream::DefaultResponseStreamFactoryMethod);
httpRequest->SetContentType("application/json");
nlohmann::json query1 = {};
query1.emplace("size", 25);
std::shared_ptr<Aws::StringStream> sstream = make_shared<Aws::StringStream>();
*sstream << query1;
httpRequest->AddContentBody(sstream);
Aws::Client::AWSAuthV4Signer signer(credentialsProvider, "es", config.region);
auto req = httpRequest.get();
signer.SignRequest(*req);
auto outcome = client->MakeRequest(httpRequest);
if (outcome->GetResponseCode() == HttpResponseCode::OK) {
cout << "SUCCESS" << endl;
} else {
// print the response from the http request
cout << "ERROR" << endl;
cout << outcome->GetResponseBody().rdbuf() << endl;
cout << outcome->GetResponseCode() << endl;
}`
- Dominant language
- C++
- Stars
- 465
- Forks
- 98
- Avg merge
- 1h 16m
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from awslabs/aws-lambda-cpp
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
awslabs/aws-lambda-cpp#205 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
awslabs/aws-lambda-cpp#196 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
awslabs/aws-lambda-cpp#195 · 11 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
awslabs/aws-lambda-cpp#194 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
awslabs/aws-lambda-cpp#170 ·
All issues in awslabs/aws-lambda-cpp
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·