Отказ в доступе к SQS (создание очереди / удаление очереди) через AWS C ++ SDK - PullRequest
0 голосов
/ 18 октября 2018

При попытке создать / удалить очередь с помощью aws-sdk-cpp и aws-sdk-sqs я получаю следующую ошибку: - error = {m_errorType = ACCESS_DENIED (15) m_exceptionName = "AccessDenied" m_message = "Доступ кресурс https://sqs.ap -south-1.amazonaws.com / запрещен. "...}

Я могу создать очередь, войдя в консоль Amazon, но не могу сделать это с помощью API (aws-sdk-cpp и aws-sdk-sqs).Я даже могу отправлять и получать сообщения из очереди с помощью API.Но я не могу создать / удалить очередь, используя api.

Я использовал следующую ссылку в качестве ссылки: - https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/cpp/example_code/sqs/create_queue.cpp

Ниже приведен мой код: -

void createqueue()
{   
    Aws::Client::ClientConfiguration  CliConfig;

    CliConfig.region = "ap-south-1";

    Aws::SQS::SQSClient sqs(CliConfig);

    Aws::SQS::Model::CreateQueueRequest cq_req;

    Aws::String queue_name = "asdf";
    cq_req.SetQueueName(queue_name);

    Aws::Auth::AWSCredentials("************", "*****************");

    auto cq_out = sqs.CreateQueue(cq_req);
    if (cq_out.IsSuccess())
    {
        std::cout << "Successfully created queue " << queue_name << std::endl;
    }
    else
    {
        std::cout << "Error creating queue " << queue_name << ": " <<
            cq_out.GetError().GetMessage() << std::endl;
    }
}

1 Ответ

0 голосов
/ 25 мая 2019

Учетные данные AWS, используемые для создания или удаления очереди SQS, должны разрешать эти операции.

Учетные данные, определенные в вашем примере кода, не действуют.Учетные данные могут быть переданы в конструктор SQSClient или могут быть определены, как описано в https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/credentials.html

...