aws-sdk-s3: установить пользовательскую конфигурацию для определенных пользователей, не мешая глобальной настройке - PullRequest
0 голосов
/ 31 января 2019

В моем приложении на Rails 5 я хотел бы реализовать функцию custom_storage, для которой пользователь может установить свое собственное ведро s3 в качестве хранилища изображений, избегая общедоступного хранилища, которое приложение предоставляет.

Для этого я создалследующий метод внутри моего S3::Client класса:

require 'aws-sdk-s3'

class S3
  class Client
    ...
    def update_aws_config
        Aws.config.update(
            credentials: Aws::Credentials.new(storage[:access_key_id], storage[:secret_access_key]),
            region: "us-east-1"
        )
    end
    ...
  end
end

и вызовите его с помощью:

S3::Client.new(user).update_aws_config

Это работает нормально, ведро установлено и изображения загружены правильно.Проблема в том, что я боюсь, что я могу менять глобальную конфигурацию для S3 каждый раз, когда я называю это:

Aws.config.update

, и это приведет к проблемам при развертывании на сервере, и разные пользователи с разными учетными данными AWS используютфункция одновременно.

Итак, я меняю глобальную конфигурацию каждый раз, когда я звоню Aws.config.update?Есть ли способ управлять этим как объектом, а не связываться с глобальной конфигурацией?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...