本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 cmdlets 中使用用 ClientConfig 參數
當您連線至服務時,此 ClientConfig
參數可用來指定特定組態設定。此參數大部分可能的屬性都是在 Amazon.Runtime.ClientConfig
類別中進行定義,而該類別會繼承至 AWS 服務的 API 中。請參閱 Amazon.Keyspaces.AmazonKeyspacesConfig
類別以查看簡易的繼承範例。此外,特定服務會定義其他僅適用於該服務的屬性。請參閱 Amazon.S3.AmazonS3Config
類別以查看其他屬性的範例,尤其是 ForcePathStyle
屬性。
使用 ClientConfig
參數。
若要使用 ClientConfig
參數,您可以在命令列上將其指定為 ClientConfig
物件,或使用 PowerShell splatting 將參數值集合當做一個單位傳遞給命令。這些方法如下範例所示。這些範例預設 AWS.Tools.S3
模組已安裝並匯入,而且您的 [default]
憑證設定檔具有適當權限。
定義 ClientConfig
物件
$s3Config = New-Object -TypeName Amazon.S3.AmazonS3Config $s3Config.ForcePathStyle = $true $s3Config.Timeout = [TimeSpan]::FromMilliseconds(150000) Get-S3Object -BucketName <BUCKET_NAME> -ClientConfig $s3Config
使用 PowerShell splatting 新增 ClientConfig
屬性
$params=@{ ClientConfig=@{ ForcePathStyle=$true Timeout=[TimeSpan]::FromMilliseconds(150000) } BucketName="<BUCKET_NAME>" } Get-S3Object @params
使用未定義的屬性
使用 PowerShell splatting 時,如果您指定的 ClientConfig
屬性不存在,則 AWS Tools for PowerShell 要到執行階段開始後才會偵測錯誤,此時它會傳回例外狀況。依上述修改範例:
$params=@{ ClientConfig=@{ ForcePathStyle=$true UndefinedProperty="Value" Timeout=[TimeSpan]::FromMilliseconds(150000) } BucketName="<BUCKET_NAME>" } Get-S3Object @params
此範例會產生類似下列的例外狀況:
Cannot bind parameter 'ClientConfig'. Cannot create object of type "Amazon.S3.AmazonS3Config". The UndefinedProperty property was not found for the Amazon.S3.AmazonS3Config object.
指定 AWS 區域
您可以使用 ClientConfig
參數來設定命令的 AWS 區域。Region (區域) 是透過 RegionEndpoint
屬性進行設定。AWS Tools for PowerShell 會根據下列優先順序計算要使用的 Region (區域):
-
-Region
參數 -
在
ClientConfig
參數中傳遞的區域 -
PowerShell 工作階段狀態
-
共享的 AWS
config
檔案 -
環境變數
-
Amazon EC2 執行個體中繼資料 (若已啟用)。