AWS Tools for PowerShell 版本 5(V5)已经发布!
要开始使用新版本的工具,请参阅《AWS Tools for PowerShell 用户指南(V5)》,特别是关于迁移到 V5 的主题。
使用 Tools for PowerShell V4 的 Amazon S3 示例
以下代码示例演示了如何将 AWS Tools for PowerShell V4 与 Amazon S3 结合使用来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 Copy-S3Object。
- Tools for PowerShell V4
-
示例 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:将单个对象下载到指定的文件。下载的文件可以在 c:\downloads\data\archive.zip 中找到
Copy-S3Object -BucketName amzn-s3-demo-bucket -Key data/archive.zip -LocalFolder c:\downloads示例 5:将与指定的键前缀匹配的所有对象下载到本地文件夹。相对键层次结构将作为子文件夹保留在总体下载位置中。
Copy-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix data -LocalFolder c:\downloads-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 CopyObject。
-
以下代码示例演示了如何使用 Get-S3ACL。
- Tools for PowerShell V4
-
示例 1:该命令获取 S3 对象的对象所有者的详细信息。
Get-S3ACL -BucketName 'amzn-s3-demo-bucket' -key 'initialize.ps1' -Select AccessControlList.Owner输出:
DisplayName Id ----------- -- testusername 9988776a6554433d22f1100112e334acb45566778899009e9887bd7f66c5f544-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetACL。
-
以下代码示例演示了如何使用 Get-S3Bucket。
- Tools for PowerShell V4
-
示例 1:此命令返回所有 S3 存储桶。
Get-S3Bucket示例 2:此命令返回名为“test-files”的存储桶
Get-S3Bucket -BucketName amzn-s3-demo-bucket-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 ListBuckets。
-
以下代码示例演示了如何使用 Get-S3BucketAccelerateConfiguration。
- Tools for PowerShell V4
-
示例 1:如果为指定的存储桶启用了传输加速设置,则此命令将返回值 Enabled。
Get-S3BucketAccelerateConfiguration -BucketName 'amzn-s3-demo-bucket'输出:
Value ----- Enabled-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketAccelerateConfiguration。
-
以下代码示例演示了如何使用 Get-S3BucketAnalyticsConfiguration。
- Tools for PowerShell V4
-
示例 1:此命令返回给定 S3 存储桶中名为“testfilter”的分析筛选条件的详细信息。
Get-S3BucketAnalyticsConfiguration -BucketName 'amzn-s3-demo-bucket' -AnalyticsId 'testfilter'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketAnalyticsConfiguration。
-
以下代码示例演示了如何使用 Get-S3BucketAnalyticsConfigurationList。
- Tools for PowerShell V4
-
示例 1:此命令返回给定 S3 存储桶的前 100 个分析配置。
Get-S3BucketAnalyticsConfigurationList -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 ListBucketAnalyticsConfigurations。
-
以下代码示例演示了如何使用 Get-S3BucketEncryption。
- Tools for PowerShell V4
-
示例 1:此命令返回与给定存储桶关联的所有服务器端加密规则。
Get-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketEncryption。
-
以下代码示例演示了如何使用 Get-S3BucketInventoryConfiguration。
- Tools for PowerShell V4
-
示例 1:此命令返回给定 S3 存储桶的名为“testinventory”的清单的详细信息。
Get-S3BucketInventoryConfiguration -BucketName 'amzn-s3-demo-bucket' -InventoryId 'testinventory'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketInventoryConfiguration。
-
以下代码示例演示了如何使用 Get-S3BucketInventoryConfigurationList。
- Tools for PowerShell V4
-
示例 1:此命令返回给定 S3 存储桶的前 100 个清单配置。
Get-S3BucketInventoryConfigurationList -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 ListBucketInventoryConfigurations。
-
以下代码示例演示了如何使用 Get-S3BucketLocation。
- Tools for PowerShell V4
-
示例 1:如果存在约束,则此命令返回存储桶“amzn-s3-demo-bucket”的位置约束。
Get-S3BucketLocation -BucketName 'amzn-s3-demo-bucket'输出:
Value ----- ap-south-1-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketLocation。
-
以下代码示例演示了如何使用 Get-S3BucketLogging。
- Tools for PowerShell V4
-
示例 1:此命令返回指定存储桶的日志记录状态。
Get-S3BucketLogging -BucketName 'amzn-s3-demo-bucket'输出:
TargetBucketName Grants TargetPrefix ---------------- ------ ------------ testbucket1 {} testprefix-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketLogging。
-
以下代码示例演示了如何使用 Get-S3BucketMetricsConfiguration。
- Tools for PowerShell V4
-
示例 1:此命令返回有关给定 S3 存储桶的名为“testfilter”的指标筛选条件的详细信息。
Get-S3BucketMetricsConfiguration -BucketName 'amzn-s3-demo-bucket' -MetricsId 'testfilter'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketMetricsConfiguration。
-
以下代码示例演示了如何使用 Get-S3BucketNotification。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 GetBucketNotification。
-
以下代码示例演示了如何使用 Get-S3BucketPolicy。
- Tools for PowerShell V4
-
示例 1:此命令输出与给定 S3 存储桶关联的存储桶策略。
Get-S3BucketPolicy -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketPolicy。
-
以下代码示例演示了如何使用 Get-S3BucketPolicyStatus。
- Tools for PowerShell V4
-
示例 1:此命令返回给定 S3 存储桶的策略状态,此状态指示存储桶是否为公有存储桶。
Get-S3BucketPolicyStatus -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketPolicyStatus。
-
以下代码示例演示了如何使用 Get-S3BucketReplication。
- Tools for PowerShell V4
-
示例 1:返回在名为“amzn-s3-demo-bucket”的存储桶上设置的复制配置信息。
Get-S3BucketReplication -BucketName amzn-s3-demo-bucket-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketReplication。
-
以下代码示例演示了如何使用 Get-S3BucketRequestPayment。
- Tools for PowerShell V4
-
示例 1:返回名为“amzn-s3-demo-bucket”的存储桶的请求付款配置。默认情况下,存储桶拥有者支付从存储桶进行下载的费用。
Get-S3BucketRequestPayment -BucketName amzn-s3-demo-bucket-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketRequestPayment。
-
以下代码示例演示了如何使用 Get-S3BucketTagging。
- Tools for PowerShell V4
-
示例 1:此命令返回与给定存储桶关联的所有标签。
Get-S3BucketTagging -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketTagging。
-
以下代码示例演示了如何使用 Get-S3BucketVersioning。
- Tools for PowerShell V4
-
示例 1:此命令返回与给定存储桶相关的版本控制状态。
Get-S3BucketVersioning -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketVersioning。
-
以下代码示例演示了如何使用 Get-S3BucketWebsite。
- Tools for PowerShell V4
-
示例 1:此命令返回给定 S3 存储桶的静态网站配置的详细信息。
Get-S3BucketWebsite -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetBucketWebsite。
-
以下代码示例演示了如何使用 Get-S3CORSConfiguration。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 GetCORSConfiguration。
-
以下代码示例演示了如何使用 Get-S3LifecycleConfiguration。
- Tools for PowerShell V4
-
示例 1:此示例检索存储桶的生命周期配置。
Get-S3LifecycleConfiguration -BucketName amzn-s3-demo-bucket输出:
Rules ----- {Remove-in-150-days, Archive-to-Glacier-in-30-days}-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetLifecycleConfiguration。
-
以下代码示例演示了如何使用 Get-S3Object。
- Tools for PowerShell V4
-
示例 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 Cmdlet Reference (V4)》中的 ListObjects。
-
以下代码示例演示了如何使用 Get-S3ObjectLockConfiguration。
- Tools for PowerShell V4
-
示例 1:如果为给定的 S3 存储桶启用了对象锁定配置,则此命令将返回值“Enabled”。
Get-S3ObjectLockConfiguration -BucketName 'amzn-s3-demo-bucket' -Select ObjectLockConfiguration.ObjectLockEnabled输出:
Value ----- Enabled-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetObjectLockConfiguration。
-
以下代码示例演示了如何使用 Get-S3ObjectMetadata。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 GetObjectMetadata。
-
以下代码示例演示了如何使用 Get-S3ObjectRetention。
- Tools for PowerShell V4
-
示例 1:该命令返回保留对象之前的模式和日期。
Get-S3ObjectRetention -BucketName 'amzn-s3-demo-bucket' -Key 'testfile.txt'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetObjectRetention。
-
以下代码示例演示了如何使用 Get-S3ObjectTagSet。
- Tools for PowerShell V4
-
示例 1:该示例返回与给定 S3 存储桶上存在的对象关联的标签。
Get-S3ObjectTagSet -Key 'testfile.txt' -BucketName 'amzn-s3-demo-bucket'输出:
Key Value --- ----- test value-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetObjectTagging。
-
以下代码示例演示了如何使用 Get-S3PreSignedURL。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 GetPreSignedURL。
-
以下代码示例演示了如何使用 Get-S3PublicAccessBlock。
- Tools for PowerShell V4
-
示例 1:该命令返回给定 S3 存储桶的公共访问权限屏蔽设置。
Get-S3PublicAccessBlock -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetPublicAccessBlock。
-
以下代码示例演示了如何使用 Get-S3Version。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 ListVersions。
-
以下代码示例演示了如何使用 New-S3Bucket。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 PutBucket。
-
以下代码示例演示了如何使用 Read-S3Object。
- Tools for PowerShell V4
-
示例 1:此命令从存储桶“test-files”中检索项目“sample.txt”,并将其保存到当前位置名为“local-sample.txt”的文件中。在调用此命令之前,文件“local-sample.txt”不必存在。
Read-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -File local-sample.txt示例 2:此命令从存储桶“test-files”中检索虚拟目录“DIR”,并将其保存到当前位置名为“Local-DIR”的文件夹中。在调用此命令之前,文件夹“Local-DIR”不必存在。
Read-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix DIR -Folder Local-DIR示例 3:将键以“.json”结尾的所有对象从存储桶名称中带有“config”的存储桶下载到指定文件夹中的文件。对象键用于设置文件名。
Get-S3Bucket | ? { $_.BucketName -like '*config*' } | Get-S3Object | ? { $_.Key -like '*.json' } | Read-S3Object -Folder C:\ConfigObjects-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 GetObject。
-
以下代码示例演示了如何使用 Remove-S3Bucket。
- Tools for PowerShell V4
-
示例 1:此命令从存储桶“test-files”中移除所有对象和对象版本,然后删除该存储桶。在继续操作之前,该命令将提示进行确认。添加 -Force 开关可禁止确认。请注意,不能删除不为空的存储桶。
Remove-S3Bucket -BucketName amzn-s3-demo-bucket -DeleteBucketContent-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DeleteBucket。
-
以下代码示例演示了如何使用 Remove-S3BucketAnalyticsConfiguration。
- Tools for PowerShell V4
-
示例 1:该命令移除给定 S3 存储桶中名为“testfilter”的分析筛选条件。
Remove-S3BucketAnalyticsConfiguration -BucketName 'amzn-s3-demo-bucket' -AnalyticsId 'testfilter'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DeleteBucketAnalyticsConfiguration。
-
以下代码示例演示了如何使用 Remove-S3BucketEncryption。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 DeleteBucketEncryption。
-
以下代码示例演示了如何使用 Remove-S3BucketInventoryConfiguration。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 DeleteBucketInventoryConfiguration。
-
以下代码示例演示了如何使用 Remove-S3BucketMetricsConfiguration。
- Tools for PowerShell V4
-
示例 1:该命令移除给定 S3 存储桶中名为“testmetrics”的指标筛选条件。
Remove-S3BucketMetricsConfiguration -BucketName 'amzn-s3-demo-bucket' -MetricsId 'testmetrics'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DeleteBucketMetricsConfiguration。
-
以下代码示例演示了如何使用 Remove-S3BucketPolicy。
- Tools for PowerShell V4
-
示例 1:该命令移除与给定 S3 存储桶关联的存储桶策略。
Remove-S3BucketPolicy -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DeleteBucketPolicy。
-
以下代码示例演示了如何使用 Remove-S3BucketReplication。
- Tools for PowerShell V4
-
示例 1:删除与名为“amzn-s3-demo-bucket”的存储桶关联的复制配置。请注意,此操作需要 s3:DeleteReplicationConfiguration 操作的权限。在操作继续之前,系统将提示您进行确认 - 要取消确认,请使用 -Force 开关。
Remove-S3BucketReplication -BucketName amzn-s3-demo-bucket-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DeleteBucketReplication。
-
以下代码示例演示了如何使用 Remove-S3BucketTagging。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 DeleteBucketTagging。
-
以下代码示例演示了如何使用 Remove-S3BucketWebsite。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 DeleteBucketWebsite。
-
以下代码示例演示了如何使用 Remove-S3CORSConfiguration。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 DeleteCORSConfiguration。
-
以下代码示例演示了如何使用 Remove-S3LifecycleConfiguration。
- Tools for PowerShell V4
-
示例 1:该命令移除给定 S3 存储桶的所有生命周期规则。
Remove-S3LifecycleConfiguration -BucketName 'amzn-s3-demo-bucket'-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DeleteLifecycleConfiguration。
-
以下代码示例演示了如何使用 Remove-S3MultipartUpload。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 AbortMultipartUpload。
-
以下代码示例演示了如何使用 Remove-S3Object。
- Tools for PowerShell V4
-
示例 1:此命令从存储桶“test-files”中移除对象“sample.txt”。在命令执行之前,系统会提示您进行确认;要取消提示,请使用 -Force 开关。
Remove-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt示例 2:假设存储桶已配置为启用对象版本,则此命令会从存储桶“test-files”中移除对象“sample.txt”的指定版本。
Remove-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt -VersionId HLbxnx6V9omT6AQYVpks8mmFKQcejpqt示例 3:此命令通过单个批量操作,从存储桶“test-files”中移除对象“sample1.txt”、“sample2.txt”和“sample3.txt”。无论删除的成功或错误状态如何,服务响应都将列出所有已处理的键。要仅获取服务无法处理的键的错误,请添加 -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”的对象并将其删除。请注意,一次只能处理一个传入的对象。对于大型集合,可以考虑将集合传递给 cmdlet 的 -InputObject(别名 -S3ObjectCollection)参数,这样,只需调用一次服务即可批量删除。
Get-S3Object -BucketName "amzn-s3-demo-bucket" -KeyPrefix "prefix/subprefix" | Remove-S3Object -Force示例 6:此示例将代表删除标记的 Amazon.S3.Model.S3ObjectVersion 实例的集合传送到 cmdlet 进行删除。请注意,一次只能处理一个传入的对象。对于大型集合,可以考虑将集合传递给 cmdlet 的 -InputObject(别名 -S3ObjectCollection)参数,这样,只需调用一次服务即可批量删除。
(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 Cmdlet 参考(V4)》中的 DeleteObjects。
-
以下代码示例演示了如何使用 Remove-S3ObjectTagSet。
- Tools for PowerShell V4
-
示例 1:此命令移除给定 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 Cmdlet 参考(V4)》中的 DeleteObjectTagging。
-
以下代码示例演示了如何使用 Remove-S3PublicAccessBlock。
- Tools for PowerShell V4
-
示例 1:此命令关闭给定存储桶的屏蔽公共访问权限配置。
Remove-S3PublicAccessBlock -BucketName 'amzn-s3-demo-bucket' -Force -Select '^BucketName'输出:
amzn-s3-demo-bucket-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DeletePublicAccessBlock。
-
以下代码示例演示了如何使用 Set-S3BucketEncryption。
- Tools for PowerShell V4
-
示例 1:此命令在指定的存储桶上启用具有 Amazon S3 托管式密钥的默认 AES256 服务器端加密(SSE-S3)。
$Encryptionconfig = @{ServerSideEncryptionByDefault = @{ServerSideEncryptionAlgorithm = "AES256"}} Set-S3BucketEncryption -BucketName 'amzn-s3-demo-bucket' -ServerSideEncryptionConfiguration_ServerSideEncryptionRule $Encryptionconfig-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 PutBucketEncryption。
-
以下代码示例演示了如何使用 Test-S3Bucket。
- Tools for PowerShell V4
-
示例 1:如果存储桶存在,此命令返回 True,否则返回 False。即使存储桶不属于该用户,该命令也会返回 True。
Test-S3Bucket -BucketName amzn-s3-demo-bucket-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 Test-S3Bucket。
-
以下代码示例演示了如何使用 Write-S3BucketAccelerateConfiguration。
- Tools for PowerShell V4
-
示例 1:此命令为给定 S3 存储桶启用传输加速。
$statusVal = New-Object Amazon.S3.BucketAccelerateStatus('Enabled') Write-S3BucketAccelerateConfiguration -BucketName 'amzn-s3-demo-bucket' -AccelerateConfiguration_Status $statusVal-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 PutBucketAccelerateConfiguration。
-
以下代码示例演示了如何使用 Write-S3BucketNotification。
- Tools for PowerShell V4
-
示例 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 配置,并在单个命令中配置了这两个配置。
#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 Cmdlet 参考(V4)》中的 PutBucketNotification。
-
以下代码示例演示了如何使用 Write-S3BucketReplication。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 PutBucketReplication。
-
以下代码示例演示了如何使用 Write-S3BucketRequestPayment。
- Tools for PowerShell V4
-
示例 1:更新名为“amzn-s3-demo-bucket”的存储桶的请求付款配置,以便向从该存储桶请求下载的人员收取下载费用。默认情况下,存储桶拥有者支付下载的费用。要将请求付款设置回默认值,请将“BucketOwner”用于 RequestPaymentConfiguration_Payer 参数。
Write-S3BucketRequestPayment -BucketName amzn-s3-demo-bucket -RequestPaymentConfiguration_Payer Requester-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 PutBucketRequestPayment。
-
以下代码示例演示了如何使用 Write-S3BucketTagging。
- Tools for PowerShell V4
-
示例 1:此命令将两个标签应用于名为
cloudtrail-test-2018的存储桶:一个标签的键为 Stage,值为 Test;另一个标签的键为 Environment,值为 Alpha。要验证标签已添加到存储桶,请运行Get-S3BucketTagging -BucketName bucket_name。结果应显示您在第一个命令中应用于存储桶的标签。请注意,Write-S3BucketTagging会覆盖在存储桶上的整个现有标签集。要添加或删除各标签,请运行资源组和标记 API cmdletAdd-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-S3BucketTaggingcmdlet。它将标签 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 Cmdlet 参考(V4)》中的 PutBucketTagging。
-
以下代码示例演示了如何使用 Write-S3BucketVersioning。
- Tools for PowerShell V4
-
示例 1:该命令为给定 S3 存储桶启用版本控制。
Write-S3BucketVersioning -BucketName 'amzn-s3-demo-bucket' -VersioningConfig_Status Enabled-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 PutBucketVersioning。
-
以下代码示例演示了如何使用 Write-S3BucketWebsite。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 PutBucketWebsite。
-
以下代码示例演示了如何使用 Write-S3LifecycleConfiguration。
- Tools for PowerShell V4
-
示例 1:此示例写入/替换 $NewRule 中提供的配置。此配置确保使用给定的前缀和标签值来限制范围对象。
$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:此示例通过筛选设置多个规则。$ArchiveRule 将对象设置为 30 天后归档到 Glacier,120 天后归档到 DeepArchive。对于前缀为“py”且 tag:key“archieved”设置为“yes”的对象,$ExpireRule 使当前版本和先前版本在 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 Cmdlet 参考(V4)》中的 PutLifecycleConfiguration。
-
以下代码示例演示了如何使用 Write-S3Object。
- Tools for PowerShell V4
-
示例 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”中的所有 *.ps1 文件上传到存储桶“test-files”,并将公用键前缀“SampleScripts”应用于每个对象。每个上传的文件都将有一个键“SampleScripts/filename.ps1”,其中“filename”不同。
Write-S3Object -BucketName amzn-s3-demo-bucket -Folder .\Scripts -KeyPrefix SampleScripts\ -SearchPattern *.ps1示例 6:此命令创建一个新的 S3 对象,其中包含键为“sample.txt”的指定内容字符串。
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 Cmdlet 参考(V4)》中的 PutObject。
-
以下代码示例演示了如何使用 Write-S3ObjectRetention。
- Tools for PowerShell V4
-
示例 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 Cmdlet 参考(V4)》中的 PutObjectRetention。
-