我正在使用 AWS ruby?? SDK 并嘗試覆寫特定客戶端的全域配置。
當我加載應用程式時,我為 S3 設定全域配置,如下所示
Aws.config.update(
endpoint: '****',
access_key_id: '****',
secret_access_key: '****',
force_path_style: '*****',
region: '****'
)
在應用程式的某個時刻,我想使用不同的 AWS 開發工具包并使用一組不同的配置選項進行這些呼叫。我創建一個這樣的客戶
client = Aws::SQS::Client.new(
credentials: Aws::Credentials.new(
'****',
'****'
),
region: '****'
)
當我使用這個新客戶端撥打電話時,我收到錯誤,因為它使用了新的配置選項以及全域配置中定義的選項。例如,force_path_style
由于 SQS 不允許該配置選項,因此我收到了設定錯誤。
有沒有辦法覆寫特定呼叫的所有全域配置選項?
uj5u.com熱心網友回復:
Aws.config
支持嵌套服務特定選項,因此您可以專門為 S3 設定全域選項,而不會影響其他服務客戶端(如 SQS)。
這意味著您可以將全域配置更改為嵌套force_path_style
在新s3
哈希下,如下所示:
Aws.config.update(
endpoint: '****',
access_key_id: '****',
secret_access_key: '****',
s3: {force_path_style: '*****'},
region: '****'
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/507451.html
標籤:轨道上的红宝石 红宝石 亚马逊网络服务 aws-sdk-ruby
上一篇:在開發RubyonRails時,我遇到了這個問題。有人可以解釋一下嗎
下一篇:ActiveRecord::StatementInvalid(PG::UndefinedTable:ERROR:關系表不存在)