cmdlet에서 ClientConfig 파라미터 사용 - AWS Tools for PowerShell

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

cmdlet에서 ClientConfig 파라미터 사용

ClientConfig 파라미터는 서비스에 연결할 때 특정 구성 설정을 지정하는 데 사용할 수 있습니다. 이 파라미터의 가능한 대부분의 속성은 Amazon.Runtime.ClientConfig 클래스에 정의되어 있으며, 이는 AWS 서비스용 API로 상속됩니다. 단순 상속의 예는 Amazon.Keyspaces.AmazonKeyspacesConfig 클래스를 참조하세요. 또한 일부 서비스는 해당 서비스에만 적합한 추가 속성을 정의합니다. 정의된 추가 속성의 예는 Amazon.S3.AmazonS3Config 클래스, 특히 ForcePathStyle 속성을 참조하세요.

ClientConfig 파라미터 사용

ClientConfig 파라미터를 사용하려면 명령줄에서 파라미터를 ClientConfig 객체로 지정하거나 PowerShell 스플래팅을 사용하여 파라미터 값 컬렉션을 명령에 단위로 전달할 수 있습니다. 이러한 메서드는 아래 예와 같습니다. 예에서는 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 스플래팅을 사용하여 ClientConfig 속성 추가

$params=@{ ClientConfig=@{ ForcePathStyle=$true Timeout=[TimeSpan]::FromMilliseconds(150000) } BucketName="<BUCKET_NAME>" } Get-S3Object @params

정의되지 않은 속성 사용

PowerShell 스플래팅을 사용할 때 존재하지 않는 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 리전을 설정할 수 있습니다. 리전은 RegionEndpoint 속성을 통해 설정됩니다. AWS Tools for PowerShell은 다음 우선 순위에 따라 사용할 리전을 계산합니다.

  1. -Region 파라미터

  2. ClientConfig 파라미터에 전달된 리전

  3. PowerShell 세션 상태

  4. 공유된 AWSconfig 파일

  5. 환경 변수

  6. Amazon EC2 인스턴스 메타데이터 서비스(활성화된 경우)