

のバージョン 5 (V5) AWS Tools for PowerShell がリリースされました。

重要な変更とアプリケーションの移行については、[「移行トピック](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)」を参照してください。

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Tools for PowerShell V5 を使用した Amazon S3 の例
<a name="powershell_s3_code_examples"></a>

次のコード例は、Amazon S3 で AWS Tools for PowerShell V5 を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

*アクション*はより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

**Topics**
+ [アクション](#actions)

## アクション
<a name="actions"></a>

### `Copy-S3Object`
<a name="s3_CopyObject_powershell_topic"></a>

次のコード例は、`Copy-S3Object` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、オブジェクト「sample.txt」をバケット「test-files」から同じバケットにコピーします。ただし、新しいキー「sample-copy.txt」を使用します。**  

```
Copy-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -DestinationKey sample-copy.txt
```
**例 2: このコマンドは、オブジェクト「sample.txt」をバケット「test-files」からバケット「backup-files」にコピーします。ただし、キーは「sample-copy.txt」を使用します。**  

```
Copy-S3Object -BucketName amzn-s3-demo-source-bucket -Key sample.txt -DestinationKey sample-copy.txt -DestinationBucket amzn-s3-demo-destination-bucket
```
**例 3: このコマンドは、オブジェクト「sample.txt」をバケット「test-files」からダウンロードして、「local-sample.txt」という名前のローカルファイルに保存します。**  

```
Copy-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -LocalFile local-sample.txt
```
**例 4: 指定したファイルに 1 つのオブジェクトをダウンロードします。ダウンロードしたファイルは c:\$1downloads\$1data\$1archive.zip に保存されます。**  

```
Copy-S3Object -BucketName amzn-s3-demo-bucket -Key data/archive.zip -LocalFolder c:\downloads
```
**例 5: 指定した key prefix と一致するすべてのオブジェクトをローカルフォルダにダウンロードします。相対的なキー階層は、ダウンロードの場所全体のサブフォルダとして保存されます。**  

```
Copy-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix data -LocalFolder c:\downloads
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[CopyObject](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3Bucket`
<a name="s3_ListBuckets_powershell_topic"></a>

次のコード例は、`Get-S3Bucket` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドはすべての S3 バケットを返します。**  

```
Get-S3Bucket
```
**例 2: このコマンドは「test-files」という名前のバケットを返します。**  

```
Get-S3Bucket -BucketName amzn-s3-demo-bucket
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[ListBuckets](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketACL`
<a name="s3_GetBucketAcl_powershell_topic"></a>

次のコード例は、`Get-S3BucketACL` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: コマンドは、S3 オブジェクトのオブジェクト所有者の詳細を取得します。**  

```
(Get-S3BucketACL -BucketName 'amzn-s3-demo-bucket' -Select *).Owner
```
**出力:**  

```
DisplayName Id
----------- --
testusername      9988776a6554433d22f1100112e334acb45566778899009e9887bd7f66c5f544
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketAcl](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketAccelerateConfiguration`
<a name="s3_GetBucketAccelerateConfiguration_powershell_topic"></a>

次のコード例は、`Get-S3BucketAccelerateConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: 指定したバケットで転送加速設定が有効になっている場合、このコマンドは Enabled の値を返します。**  

```
Get-S3BucketAccelerateConfiguration -BucketName 'amzn-s3-demo-bucket'
```
**出力:**  

```
Value                                  
-----                                    
Enabled
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketAccelerateConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketAnalyticsConfiguration`
<a name="s3_GetBucketAnalyticsConfiguration_powershell_topic"></a>

次のコード例は、`Get-S3BucketAnalyticsConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケット内の「testfilter」という名前の分析フィルターの詳細を返します。**  

```
Get-S3BucketAnalyticsConfiguration -BucketName 'amzn-s3-demo-bucket' -AnalyticsId 'testfilter'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketAnalyticsConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketAnalyticsConfigurationList`
<a name="s3_ListBucketAnalyticsConfigurations_powershell_topic"></a>

次のコード例は、`Get-S3BucketAnalyticsConfigurationList` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットの最初の 100 つの分析設定を返します。**  

```
Get-S3BucketAnalyticsConfigurationList -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[ListBucketAnalyticsConfigurations](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketEncryption`
<a name="s3_GetBucketEncryption_powershell_topic"></a>

次のコード例は、`Get-S3BucketEncryption` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: のコマンドは、指定したバケットに関連付けられたすべてのサーバー側暗号化ルールを返します。**  

```
Get-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketEncryption](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketInventoryConfiguration`
<a name="s3_GetBucketInventoryConfiguration_powershell_topic"></a>

次のコード例は、`Get-S3BucketInventoryConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケット内の「testinventory」という名前のインベントリの詳細を返します。**  

```
Get-S3BucketInventoryConfiguration -BucketName 'amzn-s3-demo-bucket' -InventoryId 'testinventory'
```
+  API の詳細については、**AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketInventoryConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

### `Get-S3BucketInventoryConfigurationList`
<a name="s3_ListBucketInventoryConfigurations_powershell_topic"></a>

次のコード例は、`Get-S3BucketInventoryConfigurationList` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットの最初の 100 つのインベントリ設定を返します。**  

```
Get-S3BucketInventoryConfigurationList -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、**AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[ListBucketInventoryConfigurations](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

### `Get-S3BucketLocation`
<a name="s3_GetBucketLocation_powershell_topic"></a>

次のコード例は、`Get-S3BucketLocation` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、制約が存在する場合、バケット「amzn-s3-demo-bucket」の場所の制約を返します。**  

```
Get-S3BucketLocation -BucketName 'amzn-s3-demo-bucket'
```
**出力:**  

```
Value
-----
ap-south-1
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketLocation](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketLogging`
<a name="s3_GetBucketLogging_powershell_topic"></a>

次のコード例は、`Get-S3BucketLogging` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定したバケットのログ記録ステータスを返します。**  

```
Get-S3BucketLogging -BucketName 'amzn-s3-demo-bucket'
```
**出力:**  

```
TargetBucketName   Grants TargetPrefix
----------------   ------ ------------
testbucket1        {}     testprefix
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketLogging](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketMetricsConfiguration`
<a name="s3_GetBucketMetricsConfiguration_powershell_topic"></a>

次のコード例は、`Get-S3BucketMetricsConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットの「testfilter」という名前のメトリクスフィルターに関する詳細を返します。**  

```
Get-S3BucketMetricsConfiguration -BucketName 'amzn-s3-demo-bucket' -MetricsId 'testfilter'
```
+  API の詳細については、**AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketMetricsConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

### `Get-S3BucketNotification`
<a name="s3_GetBucketNotification_powershell_topic"></a>

次のコード例は、`Get-S3BucketNotification` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: この例では、指定したバケットの通知設定を取得します。**  

```
Get-S3BucketNotification -BucketName amzn-s3-demo-bucket | select -ExpandProperty TopicConfigurations
```
**出力:**  

```
Id   Topic
--   -----
mimo arn:aws:sns:eu-west-1:123456789012:topic-1
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketNotification](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketPolicy`
<a name="s3_GetBucketPolicy_powershell_topic"></a>

次のコード例は、`Get-S3BucketPolicy` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットに関連付けられたバケットポリシーを出力します。**  

```
Get-S3BucketPolicy -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketPolicy](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketPolicyStatus`
<a name="s3_GetBucketPolicyStatus_powershell_topic"></a>

次のコード例は、`Get-S3BucketPolicyStatus` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットのポリシーステータスを返し、バケットがパブリックかどうかを示します。**  

```
Get-S3BucketPolicyStatus -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketPolicyStatus](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketReplication`
<a name="s3_GetBucketReplication_powershell_topic"></a>

次のコード例は、`Get-S3BucketReplication` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: 「amzn-s3-demo-bucket」という名前のバケットに設定されているレプリケーション設定の情報を返します。**  

```
Get-S3BucketReplication -BucketName amzn-s3-demo-bucket
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketReplication](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketRequestPayment`
<a name="s3_GetBucketRequestPayment_powershell_topic"></a>

次のコード例は、`Get-S3BucketRequestPayment` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: 「amzn-s3-demo-bucket」という名前のバケットのリクエストの支払い設定を返します。デフォルトでは、バケット所有者はバケットからのダウンロード料金を支払います。**  

```
Get-S3BucketRequestPayment -BucketName amzn-s3-demo-bucket
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketRequestPayment](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketTagging`
<a name="s3_GetBucketTagging_powershell_topic"></a>

次のコード例は、`Get-S3BucketTagging` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定バケットに関連付けられたすべてのタグを返します。**  

```
Get-S3BucketTagging -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketTagging](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketVersioning`
<a name="s3_GetBucketVersioning_powershell_topic"></a>

次のコード例は、`Get-S3BucketVersioning` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定バケットに関するバージョニングステータスを返します。**  

```
Get-S3BucketVersioning -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketVersioning](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3BucketWebsite`
<a name="s3_GetBucketWebsite_powershell_topic"></a>

次のコード例は、`Get-S3BucketWebsite` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定 S3 バケットの静的ウェブサイトの設定の詳細を返します。**  

```
Get-S3BucketWebsite -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetBucketWebsite](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3CORSConfiguration`
<a name="s3_GetCORSConfiguration_powershell_topic"></a>

次のコード例は、`Get-S3CORSConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定 S3 バケットに対応するすべての CORS 設定ルールを含むオブジェクトを返します。**  

```
Get-S3CORSConfiguration -BucketName 'amzn-s3-demo-bucket' -Select Configuration.Rules
```
**出力:**  

```
AllowedMethods : {PUT, POST, DELETE}
AllowedOrigins : {http://www.example1.com}
Id             : 
ExposeHeaders  : {}
MaxAgeSeconds  : 0
AllowedHeaders : {*}

AllowedMethods : {PUT, POST, DELETE}
AllowedOrigins : {http://www.example2.com}
Id             : 
ExposeHeaders  : {}
MaxAgeSeconds  : 0
AllowedHeaders : {*}

AllowedMethods : {GET}
AllowedOrigins : {*}
Id             : 
ExposeHeaders  : {}
MaxAgeSeconds  : 0
AllowedHeaders : {}
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetCORSConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3HeadBucket`
<a name="s3_HeadBucket_powershell_topic"></a>

次のコード例は、`Get-S3HeadBucket` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、ユーザーがバケットにアクセスするアクセス許可を持っている場合に、既存のバケットに対して HTTP ステータスコード 200 OK の出力を返します。BucketArn パラメータは S3 ディレクトリバケットでのみサポートされています。**  

```
Get-S3HeadBucket -BucketName amzn-s3-demo-bucket
```
**出力:**  

```
AccessPointAlias   : False
BucketArn          :
BucketLocationName : 
BucketLocationType : 
BucketRegion       : us-east-2
ResponseMetadata   : Amazon.Runtime.ResponseMetadata
ContentLength      : 0
HttpStatusCode     : OK
```
**例 2: このコマンドは、存在しないバケットに対して HTTP ステータスコード NotFound でエラーをスローします。**  

```
Get-S3HeadBucket -BucketName amzn-s3-non-existing-bucket
```
**出力:**  

```
Get-S3HeadBucket: Error making request with Error Code NotFound and Http Status Code NotFound. No further error information was returned by the service.
```
**例 3: このコマンドは、ユーザーがアクセス許可を持たない既存のバケットに対して HTTP ステータスコード Forbidden でエラーをスローします。**  

```
Get-S3HeadBucket -BucketName amzn-s3-no-access-bucket
```
**出力:**  

```
Get-S3HeadBucket: Error making request with Error Code Forbidden and Http Status Code Forbidden. No further error information was returned by the service.
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[HeadBucket](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3LifecycleConfiguration`
<a name="s3_GetLifecycleConfiguration_powershell_topic"></a>

次のコード例は、`Get-S3LifecycleConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: この例では、バケットのライフサイクル設定を取得します。**  

```
Get-S3LifecycleConfiguration -BucketName amzn-s3-demo-bucket
```
**出力:**  

```
Rules
-----
{Remove-in-150-days, Archive-to-Glacier-in-30-days}
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetLifecycleConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3Object`
<a name="s3_ListObjects_powershell_topic"></a>

次のコード例は、`Get-S3Object` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、バケット「test-files」内のすべての項目に関する情報を取得します。**  

```
Get-S3Object -BucketName amzn-s3-demo-bucket
```
**例 2: このコマンドは、バケット「test-files」内の項目「sample.txt」に関する情報を取得します。**  

```
Get-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt
```
**例 3: このコマンドは、バケット「test-files」からプレフィックス「sample」を持つすべての項目に関する情報を取得します。**  

```
Get-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix sample
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[ListObjects](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3ObjectACL`
<a name="s3_GetObjectAcl_powershell_topic"></a>

次のコード例は、`Get-S3ObjectACL` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: コマンドは、S3 オブジェクトのオブジェクト所有者の詳細を取得します。**  

```
(Get-S3ObjectACL -BucketName 'amzn-s3-demo-bucket' -key 'initialize.ps1' -Select *).Owner
```
**出力:**  

```
DisplayName Id
----------- --
testusername      9988776a6554433d22f1100112e334acb45566778899009e9887bd7f66c5f544
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetObjectAcl](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3ObjectLockConfiguration`
<a name="s3_GetObjectLockConfiguration_powershell_topic"></a>

次のコード例は、`Get-S3ObjectLockConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: 指定した S3 バケットのオブジェクトロック設定が有効になっている場合、このコマンドは値「Enabled」を返しま。**  

```
Get-S3ObjectLockConfiguration -BucketName 'amzn-s3-demo-bucket' -Select ObjectLockConfiguration.ObjectLockEnabled
```
**出力:**  

```
Value
-----
Enabled
```
+  API の詳細については、**AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetObjectLockConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

### `Get-S3ObjectMetadata`
<a name="s3_GetObjectMetadata_powershell_topic"></a>

次のコード例は、`Get-S3ObjectMetadata` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定された S3 バケット内のキー 「ListTrusts.txt」を含むオブジェクトのメタデータを返します。**  

```
Get-S3ObjectMetadata -BucketName 'amzn-s3-demo-bucket' -Key 'ListTrusts.txt'
```
**出力:**  

```
Headers                                       : Amazon.S3.Model.HeadersCollection
Metadata                                      : Amazon.S3.Model.MetadataCollection
DeleteMarker                                  : 
AcceptRanges                                  : bytes
ContentRange                                  : 
Expiration                                    : 
RestoreExpiration                             : 
RestoreInProgress                             : False
LastModified                                  : 01/01/2020 08:02:05
ETag                                          : "d000011112a222e333e3bb4ee5d43d21"
MissingMeta                                   : 0
VersionId                                     : null
Expires                                       : 01/01/0001 00:00:00
WebsiteRedirectLocation                       : 
ServerSideEncryptionMethod                    : AES256
ServerSideEncryptionCustomerMethod            : 
ServerSideEncryptionKeyManagementServiceKeyId : 
ReplicationStatus                             : 
PartsCount                                    : 
ObjectLockLegalHoldStatus                     : 
ObjectLockMode                                : 
ObjectLockRetainUntilDate                     : 01/01/0001 00:00:00
StorageClass                                  : 
RequestCharged                                :
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetObjectMetadata](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3ObjectRetention`
<a name="s3_GetObjectRetention_powershell_topic"></a>

次のコード例は、`Get-S3ObjectRetention` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、オブジェクトが保持されるまでのモードと日付を返します。**  

```
Get-S3ObjectRetention -BucketName 'amzn-s3-demo-bucket' -Key 'testfile.txt'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetObjectRetention](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3ObjectTagSet`
<a name="s3_GetObjectTagging_powershell_topic"></a>

次のコード例は、`Get-S3ObjectTagSet` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: この例では、指定した S3 バケット上に存在するオブジェクトに関連付けられたタグを返します。**  

```
Get-S3ObjectTagSet -Key 'testfile.txt' -BucketName 'amzn-s3-demo-bucket'
```
**出力:**  

```
Key  Value
---  -----
test value
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetObjectTagging](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3PreSignedURL`
<a name="s3_GetPreSignedURL_powershell_topic"></a>

次のコード例は、`Get-S3PreSignedURL` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: コマンドは、指定キーと有効期限の署名付き URL を返します。**  

```
Get-S3PreSignedURL -BucketName 'amzn-s3-demo-bucket' -Key 'testkey' -Expires '2023-11-16'
```
**例 2: コマンドは、指定キーと有効期限を持つディレクトリバケットの署名付き URL を返します。**  

```
[Amazon.AWSConfigsS3]::UseSignatureVersion4 = $true
      Get-S3PreSignedURL -BucketName amzn-s3-demo-bucket--usw2-az1--x-s3 -Key 'testkey' -Expire '2023-11-17'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetPreSignedURL](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3PublicAccessBlock`
<a name="s3_GetPublicAccessBlock_powershell_topic"></a>

次のコード例は、`Get-S3PublicAccessBlock` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定 S3 バケットのパブリックアクセスブロック設定を返します。**  

```
Get-S3PublicAccessBlock -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetPublicAccessBlock](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Get-S3Version`
<a name="s3_ListVersions_powershell_topic"></a>

次のコード例は、`Get-S3Version` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定 S3 バケット内のすべてのバージョンのオブジェクトに関するメタデータを返します。**  

```
Get-S3Version -BucketName 'amzn-s3-demo-bucket'
```
**出力:**  

```
IsTruncated         : False
KeyMarker           : 
VersionIdMarker     : 
NextKeyMarker       : 
NextVersionIdMarker : 
Versions            : {EC2.txt, EC2MicrosoftWindowsGuide.txt, ListDirectories.json, ListTrusts.json}
Name                : amzn-s3-demo-bucket
Prefix              : 
MaxKeys             : 1000
CommonPrefixes      : {}
Delimiter           :
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[ListVersions](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `New-S3Bucket`
<a name="s3_PutBucket_powershell_topic"></a>

次のコード例は、`New-S3Bucket` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、「sample-bucket」という名前の新しいプライベートバケットを作成します。**  

```
New-S3Bucket -BucketName amzn-s3-demo-bucket
```
**例 2: このコマンドは、読み取り/書き込みアクセス許可を持つ「sample-bucket」という名前の新しいバケットを作成します。**  

```
New-S3Bucket -BucketName amzn-s3-demo-bucket -PublicReadWrite
```
**例 3: このコマンドは、読み取り専用アクセス許可を持つ「sample-bucket」という名前の新しいバケットを作成します。**  

```
New-S3Bucket -BucketName amzn-s3-demo-bucket -PublicReadOnly
```
**例 4: このコマンドは、PutBucketConfiguration を使用して「amzn-s3-demo-bucket--use1-az5--x-s3」という名前の新しいディレクトリバケットを作成します。**  

```
$bucketConfiguration = @{
      BucketInfo = @{
          DataRedundancy = 'SingleAvailabilityZone'
          Type = 'Directory'
      }
      Location = @{
          Name = 'usw2-az1'
          Type = 'AvailabilityZone'
      }
    }
New-S3Bucket -BucketName amzn-s3-demo-bucket--usw2-az1--x-s3 -BucketConfiguration $bucketConfiguration -Region us-west-2
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutBucket](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Read-S3Object`
<a name="s3_GetObject_powershell_topic"></a>

次のコード例は、`Read-S3Object` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、バケット「amzn-s3-demo-bucket」から項目「sample.txt」を取得し、現在の場所の「local-sample.txt」という名前のファイルに保存します。このコマンドを呼び出す前にファイル「local-sample.txt」が存在していなくても構いません。**  

```
Read-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -File local-sample.txt
```
**例 2: このコマンドは、バケット「amzn-s3-demo-bucket」から仮想ディレクトリ「DIR」を取得し、現在の場所の「Local-DIR」という名前のフォルダに保存します。このコマンドを呼び出す前に、フォルダー「Local-DIR」が存在していなくても構いません。**  

```
Read-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix DIR -Folder Local-DIR
```
**例 3: バケット名に「config」を含むバケットから、キーが「.json」で終わるすべてのオブジェクトを、指定したフォルダ内のファイルにダウンロードします。オブジェクトキーはファイル名の設定に使用されます。**  

```
Get-S3Bucket | ? { $_.BucketName -like '*config*' } | Get-S3Object | ? { $_.Key -like '*.json' } | Read-S3Object -Folder C:\ConfigObjects
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[GetObject](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3Bucket`
<a name="s3_DeleteBucket_powershell_topic"></a>

次のコード例は、`Remove-S3Bucket` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、バケット「test-files」からすべてのオブジェクトとオブジェクトバージョンを削除してから、バケットを削除します。このコマンドは、続行する前に確認を求めるプロンプトを表示します。-Force スイッチを追加すると、確認メッセージが表示されなくなります。空でないバケットは削除できないことに注意が必要です。**  

```
Remove-S3Bucket -BucketName amzn-s3-demo-bucket -DeleteBucketContent
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteBucket](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3BucketAnalyticsConfiguration`
<a name="s3_DeleteBucketAnalyticsConfiguration_powershell_topic"></a>

次のコード例は、`Remove-S3BucketAnalyticsConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケット内の「testfilter」という名前の分析フィルターを削除します。**  

```
Remove-S3BucketAnalyticsConfiguration -BucketName 'amzn-s3-demo-bucket' -AnalyticsId 'testfilter'
```
+  API の詳細については、**AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteBucketAnalyticsConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

### `Remove-S3BucketEncryption`
<a name="s3_DeleteBucketEncryption_powershell_topic"></a>

次のコード例は、`Remove-S3BucketEncryption` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: これは、指定した S3 バケットで有効になっている暗号化を無効にします。**  

```
Remove-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket'
```
**出力:**  

```
Confirm
Are you sure you want to perform this action?
Performing the operation "Remove-S3BucketEncryption (DeleteBucketEncryption)" on target "s3casetestbucket".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteBucketEncryption](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3BucketInventoryConfiguration`
<a name="s3_DeleteBucketInventoryConfiguration_powershell_topic"></a>

次のコード例は、`Remove-S3BucketInventoryConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットに対応する「testInventoryName」という名前のインベントリを削除します。**  

```
Remove-S3BucketInventoryConfiguration -BucketName 'amzn-s3-demo-bucket' -InventoryId 'testInventoryName'
```
**出力:**  

```
Confirm
Are you sure you want to perform this action?
Performing the operation "Remove-S3BucketInventoryConfiguration (DeleteBucketInventoryConfiguration)" on target "amzn-s3-demo-bucket".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
```
+  API の詳細については、**AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteBucketInventoryConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

### `Remove-S3BucketMetricsConfiguration`
<a name="s3_DeleteBucketMetricsConfiguration_powershell_topic"></a>

次のコード例は、`Remove-S3BucketMetricsConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケット内の「testmetrics」という名前のメトリクスフィルターを削除します。**  

```
Remove-S3BucketMetricsConfiguration -BucketName 'amzn-s3-demo-bucket' -MetricsId 'testmetrics'
```
+  API の詳細については、**AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteBucketMetricsConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

### `Remove-S3BucketPolicy`
<a name="s3_DeleteBucketPolicy_powershell_topic"></a>

次のコード例は、`Remove-S3BucketPolicy` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットに関連付けられたバケットポリシーを削除します。**  

```
Remove-S3BucketPolicy -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteBucketPolicy](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3BucketReplication`
<a name="s3_DeleteBucketReplication_powershell_topic"></a>

次のコード例は、`Remove-S3BucketReplication` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: 「amzn-s3-demo-bucket」という名前のバケットに関連付けられているレプリケーションの設定を削除します。なお、このオペレーションには s3:DeleteReplicationConfiguration アクションに対するアクセス許可が必要です。オペレーションを続行する前に確認を求めるプロンプトが表示されます。プロンプトを表示しないようにするには、-Force スイッチを使用します。**  

```
Remove-S3BucketReplication -BucketName amzn-s3-demo-bucket
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteBucketReplication](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3BucketTagging`
<a name="s3_DeleteBucketTagging_powershell_topic"></a>

次のコード例は、`Remove-S3BucketTagging` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットに関連付けられたすべてのタグを削除します。**  

```
Remove-S3BucketTagging -BucketName 'amzn-s3-demo-bucket'
```
**出力:**  

```
Confirm
Are you sure you want to perform this action?
Performing the operation "Remove-S3BucketTagging (DeleteBucketTagging)" on target "amzn-s3-demo-bucket".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteBucketTagging](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3BucketWebsite`
<a name="s3_DeleteBucketWebsite_powershell_topic"></a>

次のコード例は、`Remove-S3BucketWebsite` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットの静的ウェブサイトホスティングのプロパティを無効にします。**  

```
Remove-S3BucketWebsite -BucketName 'amzn-s3-demo-bucket'
```
**出力:**  

```
Confirm
Are you sure you want to perform this action?
Performing the operation "Remove-S3BucketWebsite (DeleteBucketWebsite)" on target "amzn-s3-demo-bucket".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteBucketWebsite](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3CORSConfiguration`
<a name="s3_DeleteCORSConfiguration_powershell_topic"></a>

次のコード例は、`Remove-S3CORSConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットの CORS 設定を削除します。**  

```
Remove-S3CORSConfiguration -BucketName 'amzn-s3-demo-bucket'
```
**出力:**  

```
Confirm
Are you sure you want to perform this action?
Performing the operation "Remove-S3CORSConfiguration (DeleteCORSConfiguration)" on target "amzn-s3-demo-bucket".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteCORSConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3LifecycleConfiguration`
<a name="s3_DeleteLifecycleConfiguration_powershell_topic"></a>

次のコード例は、`Remove-S3LifecycleConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: コマンドは、指定 S3 バケットのすべてのライフサイクルルールを削除します。**  

```
Remove-S3LifecycleConfiguration -BucketName 'amzn-s3-demo-bucket'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteLifecycleConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3MultipartUpload`
<a name="s3_AbortMultipartUpload_powershell_topic"></a>

次のコード例は、`Remove-S3MultipartUpload` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、5 日より前に作成されたマルチパートアップロードを中止します。**  

```
Remove-S3MultipartUpload -BucketName amzn-s3-demo-bucket -DaysBefore 5
```
**例 2: このコマンドは、2014 年 1 月 2 日より前に作成されたマルチパートアップロードを中止します。**  

```
Remove-S3MultipartUpload -BucketName amzn-s3-demo-bucket -InitiatedDate "Thursday, January 02, 2014"
```
**例 3: このコマンドは、2014 年 1 月 2 日 10:45:37 より前に作成されたマルチパートアップロードを中止します。**  

```
Remove-S3MultipartUpload -BucketName amzn-s3-demo-bucket -InitiatedDate "2014/01/02 10:45:37"
```
+  API の詳細については、**AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[AbortMultipartUpload](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

### `Remove-S3Object`
<a name="s3_DeleteObjects_powershell_topic"></a>

次のコード例は、`Remove-S3Object` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、バケット「test-files」からオブジェクト「sample.txt」を削除します。コマンドを実行する前に、確認を求めるプロンプトが表示されます。-Force スイッチを追加すると、確認メッセージが表示されなくなります。**  

```
Remove-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt
```
**例 2: このコマンドは、指定されたバージョンのオブジェクト「sample.txt」をバケット「test-files」から削除します。これは、バケットがオブジェクトバージョンを有効にするように設定されていることを前提としています。**  

```
Remove-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -VersionId HLbxnx6V9omT6AQYVpks8mmFKQcejpqt
```
**例 3: このコマンドは、バケット「test-files」からオブジェクト「sample1.txt」、「sample2.txt」、「sample3.txt」を 1 回のバッチ操作で削除します。このサービスの応答では、削除の成功またはエラーのステータスを問わず、処理されたすべてのキーがリスト表示されます。このサービスで処理できなかったキーのエラーのみを取得するには、-ReportErrorsOnly パラメータを追加します (このパラメータは -Quiet というエイリアスを使用して指定することもできます)。**  

```
Remove-S3Object -BucketName amzn-s3-demo-bucket -KeyCollection @( "sample1.txt", "sample2.txt", "sample3.txt" )
```
**例 4: この例では、-KeyCollection パラメータを指定したインライン式を使用して、削除するオブジェクトのキーを取得します。Get-S3Object は Amazon.S3.Model.S3Object インスタンスのコレクションを返します。各インスタンスには、オブジェクトを識別する文字列型の Key メンバーがあります。**  

```
Remove-S3Object -bucketname "amzn-s3-demo-bucket" -KeyCollection (Get-S3Object "test-files" -KeyPrefix "prefix/subprefix" | select -ExpandProperty Key)
```
**例 5: この例では、バケット内のキープレフィックス「prefix/subprefix」を持つすべてのオブジェクトを取得して削除します。受け取るオブジェクトは一度に 1 つずつ処理されることに注意が必要です。大規模なコレクションの場合は、コレクションをコマンドレットの -InputObject (エイリアスは -S3ObjectCollection) パラメータに渡して、サービスを 1 回呼び出すだけでバッチで削除できるようにすることを検討してください。**  

```
Get-S3Object -BucketName "amzn-s3-demo-bucket" -KeyPrefix "prefix/subprefix" | Remove-S3Object -Force
```
**例 6: この例では、削除マーカーを表す Amazon.S3.Model.S3ObjectVersion インスタンスのコレクションを、削除コマンドレットにパイプします。受け取るオブジェクトは一度に 1 つずつ処理されることに注意が必要です。大規模なコレクションの場合は、コレクションをコマンドレットの -InputObject (エイリアスは -S3ObjectCollection) パラメータに渡して、サービスを 1 回呼び出すだけでバッチで削除できるようにすることを検討してください。**  

```
(Get-S3Version -BucketName "amzn-s3-demo-bucket").Versions | Where {$_.IsDeleteMarker -eq "True"} | Remove-S3Object -Force
```
**例 7: このスクリプトは、-KeyAndVersionCollection パラメータで使用するオブジェクトの配列を作成することで、オブジェクトセット (この場合は削除マーカー) をバッチで削除する方法を示しています。**  

```
$keyVersions = @()
$markers = (Get-S3Version -BucketName $BucketName).Versions | Where {$_.IsDeleteMarker -eq "True"}
foreach ($marker in $markers) { $keyVersions += @{ Key = $marker.Key; VersionId = $marker.VersionId } }
Remove-S3Object -BucketName $BucketName -KeyAndVersionCollection $keyVersions -Force
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteObjects](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3ObjectTagSet`
<a name="s3_DeleteObjectTagging_powershell_topic"></a>

次のコード例は、`Remove-S3ObjectTagSet` を使用する方法を示しています。

**Tools for PowerShell V5**  
**このコマンドは、指定した S3 バケット内のキー「testfile.txt」を持つオブジェクトに関連付けられたすべてのタグを削除します。**  

```
Remove-S3ObjectTagSet -Key 'testfile.txt' -BucketName 'amzn-s3-demo-bucket' -Select '^Key'
```
**出力:**  

```
Confirm
Are you sure you want to perform this action?
Performing the operation "Remove-S3ObjectTagSet (DeleteObjectTagging)" on target "testfile.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
testfile.txt
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeleteObjectTagging](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Remove-S3PublicAccessBlock`
<a name="s3_DeletePublicAccessBlock_powershell_topic"></a>

次のコード例は、`Remove-S3PublicAccessBlock` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定したバケットのブロックパブリックアクセス設定をオフにします。**  

```
Remove-S3PublicAccessBlock -BucketName 'amzn-s3-demo-bucket' -Force -Select '^BucketName'
```
**出力:**  

```
amzn-s3-demo-bucket
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[DeletePublicAccessBlock](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Set-S3BucketEncryption`
<a name="s3_PutBucketEncryption_powershell_topic"></a>

次のコード例は、`Set-S3BucketEncryption` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定したバケットで Amazon S3 マネージドキー (SSE-S3) を使用したデフォルトの AES256 サーバー側暗号化を有効にします。**  

```
$Encryptionconfig = @{ServerSideEncryptionByDefault = @{ServerSideEncryptionAlgorithm = "AES256"}}
Set-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket' -ServerSideEncryptionConfiguration_ServerSideEncryptionRule $Encryptionconfig
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutBucketEncryption](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Test-S3Bucket`
<a name="s3_Test-S3Bucket_powershell_topic"></a>

次のコード例は、`Test-S3Bucket` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、バケットが存在する場合は True を返し、存在しない場合は False を返します。コマンドは、バケットがユーザーに属していない場合でも True を返します。**  

```
Test-S3Bucket -BucketName amzn-s3-demo-bucket
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[Test-S3Bucket](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Write-S3BucketAccelerateConfiguration`
<a name="s3_PutBucketAccelerateConfiguration_powershell_topic"></a>

次のコード例は、`Write-S3BucketAccelerateConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定 S3 バケットの転送加速を有効にします。**  

```
$statusVal = New-Object Amazon.S3.BucketAccelerateStatus('Enabled')
Write-S3BucketAccelerateConfiguration -BucketName 'amzn-s3-demo-bucket' -AccelerateConfiguration_Status $statusVal
```
+  API の詳細については、**AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutBucketAccelerateConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。

### `Write-S3BucketNotification`
<a name="s3_PutBucketNotification_powershell_topic"></a>

次のコード例は、`Write-S3BucketNotification` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: この例では、S3 イベント ObjectRemovedDelete の SNS トピック設定を設定して、指定した S3 バケットの通知を有効にします。**  

```
$topic =  [Amazon.S3.Model.TopicConfiguration] @{
  Id = "delete-event"
  Topic = "arn:aws:sns:eu-west-1:123456789012:topic-1"
  Event = [Amazon.S3.EventType]::ObjectRemovedDelete
}

Write-S3BucketNotification -BucketName amzn-s3-demo-bucket -TopicConfiguration $topic
```
**例 2: この例では、指定したバケットの ObjectCreatedAll の通知を有効にして、Lambda 関数に送信します。**  

```
$lambdaConfig = [Amazon.S3.Model.LambdaFunctionConfiguration] @{
  Events = "s3:ObjectCreated:*"
  FunctionArn = "arn:aws:lambda:eu-west-1:123456789012:function:rdplock"
  Id = "ObjectCreated-Lambda"
  Filter = @{
    S3KeyFilter = @{
      FilterRules = @(
        @{Name="Prefix";Value="dada"}
        @{Name="Suffix";Value=".pem"}
      )
    }
  }
}

Write-S3BucketNotification -BucketName amzn-s3-demo-bucket -LambdaFunctionConfiguration $lambdaConfig
```
**例 3: この例では、異なるキーサフィックスに基づいて 2 つの異なる Lambda 設定を作成し、両方を 1 つのコマンドで設定します。**  

```
#Lambda Config 1

$firstLambdaConfig = [Amazon.S3.Model.LambdaFunctionConfiguration] @{
  Events = "s3:ObjectCreated:*"
  FunctionArn = "arn:aws:lambda:eu-west-1:123456789012:function:verifynet"
  Id = "ObjectCreated-dada-ps1"
  Filter = @{
    S3KeyFilter = @{
      FilterRules = @(
        @{Name="Prefix";Value="dada"}
        @{Name="Suffix";Value=".ps1"}
      )
    }
  }
}

#Lambda Config 2

$secondlambdaConfig = [Amazon.S3.Model.LambdaFunctionConfiguration] @{
  Events = [Amazon.S3.EventType]::ObjectCreatedAll
  FunctionArn = "arn:aws:lambda:eu-west-1:123456789012:function:verifyssm"
  Id = "ObjectCreated-dada-json"
  Filter = @{
    S3KeyFilter = @{
      FilterRules = @(
        @{Name="Prefix";Value="dada"}
        @{Name="Suffix";Value=".json"}
      )
    }
  }
}

Write-S3BucketNotification -BucketName amzn-s3-demo-bucket -LambdaFunctionConfiguration $firstLambdaConfig,$secondlambdaConfig
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutBucketNotification](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Write-S3BucketReplication`
<a name="s3_PutBucketReplication_powershell_topic"></a>

次のコード例は、`Write-S3BucketReplication` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: この例では、バケット「amzn-s3-demo-bucket」内のキー名プレフィックス「TaxDocs」で作成された新しいオブジェクトの「amzn-s3-demo-bucket」バケットへのレプリケーションを有効にする単一のルールを使用してレプリケーション設定を指定します。**  

```
$rule1 = New-Object Amazon.S3.Model.ReplicationRule
$rule1.ID = "Rule-1"
$rule1.Status = "Enabled"
$rule1.Prefix = "TaxDocs"
$rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" }
    
$params = @{
    BucketName = "amzn-s3-demo-bucket"
    Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3"
    Configuration_Rule = $rule1
}

Write-S3BucketReplication @params
```
**例 2: この例では、キー名のプレフィックスが「TaxDocs」または「OtherDocs」の新しく作成されたオブジェクトを、バケット「amzn-s3-demo-bucket」にレプリケートするための複数のルールを使用して、レプリケーション設定を指定します。キーのプレフィックスの重複は許可されません。**  

```
$rule1 = New-Object Amazon.S3.Model.ReplicationRule
$rule1.ID = "Rule-1"
$rule1.Status = "Enabled"
$rule1.Prefix = "TaxDocs"
$rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" }
    
$rule2 = New-Object Amazon.S3.Model.ReplicationRule
$rule2.ID = "Rule-2"
$rule2.Status = "Enabled"
$rule2.Prefix = "OtherDocs"
$rule2.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" }
    
$params = @{
    BucketName = "amzn-s3-demo-bucket"
    Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3"
    Configuration_Rule = $rule1,$rule2
}

Write-S3BucketReplication @params
```
**例 3: この例では、指定されたバケットのレプリケーション設定を更新して、「TaxDocs」というキー名のプレフィックスを持つオブジェクトのバケット「amzn-s3-demo-bucket」へのレプリケーションを制御するルールを無効にします。**  

```
$rule1 = New-Object Amazon.S3.Model.ReplicationRule
$rule1.ID = "Rule-1"
$rule1.Status = "Disabled"
$rule1.Prefix = "TaxDocs"
$rule1.Destination = @{ BucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket" }
    
$params = @{
    BucketName = "amzn-s3-demo-bucket"
    Configuration_Role = "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3"
    Configuration_Rule = $rule1
}

Write-S3BucketReplication @params
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutBucketReplication](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Write-S3BucketRequestPayment`
<a name="s3_PutBucketRequestPayment_powershell_topic"></a>

次のコード例は、`Write-S3BucketRequestPayment` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: 「amzn-s3-demo-bucket」という名前のバケットのリクエスト支払い設定を更新して、バケットからのダウンロードをリクエストしたユーザーにダウンロード料金が請求されるようにします。デフォルトでは、バケット所有者がダウンロード料金を支払います。リクエストの支払いをデフォルトに戻すには、RequestPaymentConfiguration\$1Payer パラメーターに「BucketOwner」を使用します。**  

```
Write-S3BucketRequestPayment -BucketName amzn-s3-demo-bucket -RequestPaymentConfiguration_Payer Requester
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutBucketRequestPayment](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Write-S3BucketTagging`
<a name="s3_PutBucketTagging_powershell_topic"></a>

次のコード例は、`Write-S3BucketTagging` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、`cloudtrail-test-2018` という名前のバケットに 2 つのタグを適用します。1 つは Stage のキーと値が Test のタグで、もう 1 つはキーが Environment で、値は Alpha のタグです。タグがバケットに追加されたことを確認するには、`Get-S3BucketTagging -BucketName bucket_name` を実行します。結果では、最初のコマンドでバケットに適用したタグが表示されるはずです。`Write-S3BucketTagging` は、バケットに設定されている既存のタグセット全体を上書きすることに注意が必要です。個別のタグを追加または削除するには、リソースグループとタグ付けの API コマンドレット、`Add-RGTResourceTag`、`Remove-RGTResourceTag` を実行します。または、 AWS マネジメントコンソールのタグエディタを使用して S3 バケットタグを管理します。**  

```
Write-S3BucketTagging -BucketName amzn-s3-demo-bucket -TagSet @( @{ Key="Stage"; Value="Test" }, @{ Key="Environment"; Value="Alpha" } )
```
**例 2: このコマンドは、バケット `cloudtrail-test-2018` を `Write-S3BucketTagging` コマンドレットにパイプします。これにより、Stage:Production と Department:Finance というタグがバケットに適用されます。`Write-S3BucketTagging` は、バケットに設定されている既存のタグセット全体を上書きすることに注意が必要です。**  

```
Get-S3Bucket -BucketName amzn-s3-demo-bucket | Write-S3BucketTagging -TagSet @( @{ Key="Stage"; Value="Production" }, @{ Key="Department"; Value="Finance" } )
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutBucketTagging](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Write-S3BucketVersioning`
<a name="s3_PutBucketVersioning_powershell_topic"></a>

次のコード例は、`Write-S3BucketVersioning` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケットのバージョニングを有効にします。**  

```
Write-S3BucketVersioning -BucketName 'amzn-s3-demo-bucket' -VersioningConfig_Status Enabled
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutBucketVersioning](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Write-S3BucketWebsite`
<a name="s3_PutBucketWebsite_powershell_topic"></a>

次のコード例は、`Write-S3BucketWebsite` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定したバケットのウェブサイトのホスティングを有効にして、インデックスドキュメントを「index.html」、エラードキュメントを「error.html」と指定します。**  

```
Write-S3BucketWebsite -BucketName 'amzn-s3-demo-bucket' -WebsiteConfiguration_IndexDocumentSuffix 'index.html' -WebsiteConfiguration_ErrorDocument 'error.html'
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutBucketWebsite](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Write-S3LifecycleConfiguration`
<a name="s3_PutLifecycleConfiguration_powershell_topic"></a>

次のコード例は、`Write-S3LifecycleConfiguration` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: この例では、\$1NewRule で指定されている設定を書き込み/置き換えます。この設定では、指定のプレフィックスとタグ値を持つスコープオブジェクトを制限します。**  

```
$NewRule = [Amazon.S3.Model.LifecycleRule] @{
		Expiration =  @{
			Days=  50
		}
		Id =  "Test-From-Write-cmdlet-1"
		Filter=  @{
			LifecycleFilterPredicate =  [Amazon.S3.Model.LifecycleAndOperator]@{
				Operands=  @(
					[Amazon.S3.Model.LifecyclePrefixPredicate] @{
						"Prefix" =  "py"
					},
					[Amazon.S3.Model.LifecycleTagPredicate] @{
						"Tag"=  @{
							"Key" =  "non-use"
							"Value" = "yes"
						}
					}
				)
			}
		}
		"Status"= 'Enabled'
		NoncurrentVersionExpiration = @{
			NoncurrentDays = 75
		}
	}
    
	Write-S3LifecycleConfiguration -BucketName amzn-s3-demo-bucket -Configuration_Rule $NewRule
```
**例 2: この例では、フィルタリングを使用して複数のルールを設定します。\$1ArchiveRule は、オブジェクトを 30 日後に Glacier にアーカイブし、120 日後に DeepArchive にアーカイブするように設定します。\$1ExpireRule は、「py」プレフィックスと tag:key「archieved」が「yes」に設定されているオブジェクトについて、現在のバージョンと以前のバージョンの両方を 150 日で期限切れにします。**  

```
$ExpireRule = [Amazon.S3.Model.LifecycleRule] @{
		Expiration =  @{
			Days=  150
		}
		Id =  "Remove-in-150-days"
		Filter=  @{
			LifecycleFilterPredicate =  [Amazon.S3.Model.LifecycleAndOperator]@{
				Operands=  @(
					[Amazon.S3.Model.LifecyclePrefixPredicate] @{
						"Prefix" =  "py"
					},
					[Amazon.S3.Model.LifecycleTagPredicate] @{
						"Tag"=  @{
							"Key" =  "archived"
							"Value" = "yes"
						}
					}
				)
			}
		}
		Status= 'Enabled'
		NoncurrentVersionExpiration = @{
			NoncurrentDays = 150
		}
	}

	$ArchiveRule = [Amazon.S3.Model.LifecycleRule] @{
		Expiration =  $null
		Id =  "Archive-to-Glacier-in-30-days"
		Filter=  @{
			LifecycleFilterPredicate =  [Amazon.S3.Model.LifecycleAndOperator]@{
				Operands= @(
					[Amazon.S3.Model.LifecyclePrefixPredicate] @{
						"Prefix" =  "py"
					},
					[Amazon.S3.Model.LifecycleTagPredicate] @{
						"Tag"=  @{
							"Key" =  "reviewed"
							"Value" = "yes"
						}
					}
				)
			}
		}
		Status = 'Enabled'
		NoncurrentVersionExpiration = @{
			NoncurrentDays = 75
		}
		Transitions = @(
			@{
				Days = 30
				"StorageClass"= 'Glacier'
			},
			@{
				Days = 120
				"StorageClass"= [Amazon.S3.S3StorageClass]::DeepArchive
			}
		)
	}

	Write-S3LifecycleConfiguration -BucketName amzn-s3-demo-bucket -Configuration_Rule $ExpireRule,$ArchiveRule
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutLifecycleConfiguration](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Write-S3Object`
<a name="s3_PutObject_powershell_topic"></a>

次のコード例は、`Write-S3Object` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、単一のファイル「local-sample.txt」を Amazon S3 にアップロードして、バケット「test-files」に「sample.txt」というキーを持つオブジェクトを作成します。**  

```
Write-S3Object -BucketName amzn-s3-demo-bucket -Key "sample.txt" -File .\local-sample.txt
```
**例 2: このコマンドは、単一のファイル「sample.txt」を Amazon S3 にアップロードして、バケット「test-files」に「sample.txt」というキーを持つオブジェクトを作成します。-Key パラメータを指定しない場合、ファイル名が S3 オブジェクトキーとして使用されます。**  

```
Write-S3Object -BucketName amzn-s3-demo-bucket -File .\sample.txt
```
**例 3: このコマンドは、単一のファイル「local-sample.txt」を Amazon S3 にアップロードして、バケット「test-files」に「prefix/to/sample.txt」というキーを持つオブジェクトを作成します。**  

```
Write-S3Object -BucketName amzn-s3-demo-bucket -Key "prefix/to/sample.txt" -File .\local-sample.txt
```
**例 4: このコマンドは、サブディレクトリ「Scripts」内のすべてのファイルをバケット「test-files」にアップロードして、共通のキープレフィックス「SampleScripts」を各オブジェクトに適用します。アップロードされた各ファイルは「SampleScripts/filename」というキーを持ちます。ただし、「filename」の部分はそれぞれ異なります。**  

```
Write-S3Object -BucketName amzn-s3-demo-bucket -Folder .\Scripts -KeyPrefix SampleScripts\
```
**例 5: このコマンドは、ローカルディレクトリ「Scripts」内のすべての \$1.ps1 ファイルをバケット「test-files」にアップロードして、共通のキープレフィックス「SampleScripts」を各オブジェクトに適用します。アップロードされた各ファイルは「SampleScripts/filename.ps1」というキーを持ちます。ただし、「filename」の部分はそれぞれ異なります。**  

```
Write-S3Object -BucketName amzn-s3-demo-bucket -Folder .\Scripts -KeyPrefix SampleScripts\ -SearchPattern *.ps1
```
**例 6: このコマンドは、「sample.txt」というキーを持つ、指定されたコンテンツ文字列を含む新しい S3 オブジェクトを作成します。**  

```
Write-S3Object -BucketName amzn-s3-demo-bucket -Key "sample.txt" -Content "object contents"
```
**例 7: このコマンドは、指定したファイル (ファイル名をキーとして使用) をアップロードして、指定したタグを新しいオブジェクトに適用します。**  

```
Write-S3Object -BucketName amzn-s3-demo-bucket -File "sample.txt" -TagSet @{Key="key1";Value="value1"},@{Key="key2";Value="value2"}
```
**例 8: このコマンドは、指定したフォルダを再帰的にアップロードして、指定したタグをすべての新しいオブジェクトに適用します。**  

```
Write-S3Object -BucketName amzn-s3-demo-bucket -Folder . -KeyPrefix "TaggedFiles" -Recurse -TagSet @{Key="key1";Value="value1"},@{Key="key2";Value="value2"}
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutObject](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**

### `Write-S3ObjectRetention`
<a name="s3_PutObjectRetention_powershell_topic"></a>

次のコード例は、`Write-S3ObjectRetention` を使用する方法を示しています。

**Tools for PowerShell V5**  
**例 1: このコマンドは、指定した S3 バケット内の「testfile.txt」オブジェクトの期限日「2019 年 12 月 31 日 00:00:00」までガバナンス保持モードを有効にします。**  

```
Write-S3ObjectRetention -BucketName 'amzn-s3-demo-bucket' -Key 'testfile.txt' -Retention_Mode GOVERNANCE -Retention_RetainUntilDate "2019-12-31T00:00:00"
```
+  API の詳細については、AWS Tools for PowerShell コマンドレットリファレンス (V5) の「[PutObjectRetention](https://docs.aws.amazon.com/powershell/v5/reference)」を参照してください。**