Пакет AWS «невозможно подключиться к конечной точке»

Я пытаюсь заставить работать AWS Batch C ++ API. Вот очень простая демонстрационная программа, которую я написал, чтобы просто перечислить доступные определения работы:

#include <iostream>
#include <aws/core/Aws.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/Outcome.h>
#include <aws/batch/BatchClient.h>
#include <aws/batch/model/DescribeJobDefinitionsRequest.h>

using namespace Aws::Batch::Model;

int main()
{
//Initialize AWS Batch
Aws::SDKOptions options;
Aws::InitAPI(options);
{
Aws::Client::ClientConfiguration aws_config;
aws_config.scheme = Aws::Http::Scheme::HTTP;
aws_config.connectTimeoutMs = 30000;
aws_config.requestTimeoutMs = 30000;
aws_config.verifySSL = false;

Aws::Batch::BatchClient batch_client(aws_config);

//Get the list of job definitions
DescribeJobDefinitionsRequest descjob_request;
auto descjob_outcome = batch_client.DescribeJobDefinitions(descjob_request);
if (descjob_outcome.IsSuccess() == true)
{
auto job_list = descjob_outcome.GetResult().GetJobDefinitions();
Aws::Vector<JobDefinition>::iterator it;
for (it=job_list.begin(); it != job_list.end(); ++it)
{
std::cout << "    "<< it->GetJobDefinitionName()
<< ":"<< it->GetRevision()
<< "  ("<< it->GetStatus()
<< ")"<< std::endl;
}
}
else
{
std::cout << "Could not get JobDefinition list" << std::endl;
std::cout << "error: "<< descjob_outcome.GetError().GetExceptionName() << " - "<< descjob_outcome.GetError().GetMessage() << std::endl;
std::cout << "Response code: "<< int(descjob_outcome.GetError().GetResponseCode()) << std::endl;
}
}
Aws::ShutdownAPI(options);

return 0;
}

Когда я запускаю программу, я получаю следующее сообщение об ошибке:

Could not get JobDefinition list
error:  - Unable to connect to endpoint
Response code: 0

Обратите внимание, что ошибка сообщение (descjob_outcome.GetError (). GetMessage ()) «Невозможно подключиться к конечной точке», но исключение название (descjob_outcome.GetError (). GetExceptionName ()) на самом деле является пустой строкой, между «error:» и «-» в моем отформатированном выводе. Так же Код ответа 0, что не входит в число кодов, перечисленных в HttpResponse.h.

Я не думаю, что проблема в моей конфигурации AWS, потому что я скачал репозиторий aws-doc-sdk-examples из Github, и я могу прекрасно скомпилировать и запустить там примеры C ++ (например, программу list_buckets в s3 папка). К сожалению, aws-doc-sdk-examples не включает в себя какой-либо пример кода Batch, который является частью API, которую я больше всего заинтересован в использовании.

Я также хочу отметить, что я могу запустить простую программу на Python, которая использует AWS Batch API (через модуль boto3), поэтому я снова не думаю, что эта проблема связана с моей конфигурацией AWS.

Может ли кто-нибудь увидеть в моем демонстрационном коде проблему, которая может объяснить ошибку «невозможно подключиться к конечной точке», или, возможно, предложить какие-то ресурсы, которые могут помочь мне лучше понять, почему не удается подключиться? Я действительно не понимаю, почему он не дает мне допустимое имя исключения или код ответа, например.

1

Решение

Aws Batch поддерживает только конечную точку HTTPS.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]