Aws:: Ошибки:: Ошибка MissingCredentialsError: невозможно подписать запрос без набора учетных данных

#ruby-on-rails #ruby #amazon-web-services #amazon-dynamodb

#ruby-on-rails #ruby #amazon-веб-сервисы #amazon-dynamodb

Вопрос:

Я создаю приложение rails и использую DynamoDB в качестве базы данных (используя dynamoid). Во время выполнения тестов я получаю следующую ошибку:

Aws::Errors::MissingCredentialsError:unable to sign request without credentials set

Поскольку тесты выполняются в локальном DynamoDB, я немного смущен этим сообщением об ошибке. Это из-за того, что мои тесты не выполняются в локальной БД, и они пытаются получить доступ к удаленной БД?

Ответ №1:

Вы можете использовать приведенную ниже конфигурацию для локального dynamodb. Когда вы указываете конечную точку localhost, dynamodb использует конечную точку напрямую, а не извлекает конечную точку из region.

 Aws.config.update({
  region: 'us-west-2',
  credentials: Aws::Credentials.new('akid', 'secret'),
  endpoint:'http://localhost:8000'
})
  

Регион используется для создания конечной точки SSL. Если вам нужно
подключитесь к нестандартной конечной точке, вы можете указать :endpoint
опция.