[英]Ignore AWS ruby SDK global config
我正在使用 AWS ruby SDK 並嘗試覆蓋特定客戶端的全局配置。
當我加載應用程序時,我為 S3 設置全局配置,如下所示
Aws.config.update(
endpoint: '****',
access_key_id: '****',
secret_access_key: '****',
force_path_style: '*****',
region: '****'
)
在應用程序的某個時刻,我想使用不同的 AWS SDK 並使用一組不同的配置選項進行這些調用。 我創建一個這樣的客戶
client = Aws::SQS::Client.new(
credentials: Aws::Credentials.new(
'****',
'****'
),
region: '****'
)
當我使用這個新客戶端撥打電話時,我收到錯誤,因為它使用了新的配置選項以及全局配置中定義的選項。 例如,我因為設置了force_path_style
而收到錯誤,因為 SQS 不允許該配置選項。
有沒有辦法覆蓋特定調用的所有全局配置選項?
Aws.config
支持嵌套的服務特定選項,因此您可以專門為 S3 設置全局選項,而不會影響其他服務客戶端(如 SQS)。
這意味着您可以將全局配置更改為在新的s3
hash 下嵌套force_path_style
,如下所示:
Aws.config.update(
endpoint: '****',
access_key_id: '****',
secret_access_key: '****',
s3: {force_path_style: '*****'},
region: '****'
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.