簡體   English   中英

忽略 AWS ruby SDK 全局配置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM