📅  最后修改于: 2023-12-03 14:59:04.563000             🧑  作者: Mango
AWS S3 是一种对象存储服务,常用于储存和检索大量数据。这里介绍的 28 个 AWS S3 命令行工具可以帮助程序员更有效地管理他们的 S3 存储桶。
创建一个新的 S3 存储桶。需要指定区域和存储桶名称。
aws s3 mb s3://bucket-name --region region-name
同步本地文件夹或目录到 S3 存储桶。
aws s3 sync path/to/local/dir s3://bucket-name/path/to/s3/dir
将文件从当前路径复制到 S3 存储桶。
aws s3 cp file.txt s3://bucket-name/path/to/s3/destination/
删除 S3 存储桶中的文件。
aws s3 rm s3://bucket-name/path/to/s3/file.txt
列出存储桶中的所有文件。
aws s3 ls s3://bucket-name/
查看文件的元数据,例如文件的大小和修改时间。
aws s3 ls s3://bucket-name/path/to/s3/file.txt
查看存储桶及其对象的权限。
aws s3api get-bucket-acl --bucket bucket-name
将加密文件上传到 S3 存储桶。
aws s3 cp file.txt s3://bucket-name/path/to/s3/destination/ --sse
查看加密文件的元数据。
aws s3 ls s3://bucket-name/path/to/s3/encrypted-file.txt --sse
将加密文件从一个存储桶复制到另一个存储桶。
aws s3 cp s3://source-bucket/path/to/s3/encrypted-file.txt s3://destination-bucket/path/to/s3/destination/ --sse
设置存储桶的访问策略。
aws s3api put-bucket-policy --bucket bucket-name --policy file://policy.json
查看存储桶的访问策略。
aws s3api get-bucket-policy --bucket bucket-name
批量删除存储桶中的对象。
aws s3 rm s3://bucket-name/path/to/s3/ --recursive
查看存储桶的标签。
aws s3api get-bucket-tagging --bucket bucket-name
更新存储桶的标签。
aws s3api put-bucket-tagging --bucket bucket-name --tagging file://tags.json
查看存储桶的生命周期规则。
aws s3api get-bucket-lifecycle-configuration --bucket bucket-name
更新存储桶的生命周期规则。
aws s3api put-bucket-lifecycle-configuration --bucket bucket-name --lifecycle-configuration file://lifecycle.json
使用 AWS KMS 复制存储桶。
aws s3api create-bucket --bucket new-bucket-name --region region-name --create-bucket-configuration LocationConstraint=region-name --encryption Configuration={"ReplicaKmsKeyID":"arn:aws:kms:region-name:key/key-id"} --acl authenticated-read --grant-read-acp uri=http://acs.amazonaws.com/groups/global/AllUsers
恢复已经归档的 S3 对象。
aws s3api restore-object --bucket bucket-name --key object-key --restore-request {"Days":1,"GlacierJobParameters":{"Tier":"Expedited"}}
查看存储桶的版本控制状态。
aws s3api get-bucket-versioning --bucket bucket-name
开启存储桶的版本控制。
aws s3api put-bucket-versioning --bucket bucket-name --versioning-configuration Status=Enabled
查看存储桶的 ACL。
aws s3api get-bucket-acl --bucket bucket-name
复制存储桶的 ACL。
aws s3api put-bucket-acl --bucket destination-bucket --grant-full-control id=source-account-id --acl bucket-owner-full-control --copy-source bucket-name
复制存储桶的标签。
aws s3api put-bucket-tagging --bucket destination-bucket --tagging file://tags.json --copy-source bucket-name
查看存储桶的活动请求日志。
aws s3api get-bucket-logging --bucket bucket-name
开启存储桶的活动请求日志。
aws s3api put-bucket-logging --bucket bucket-name --logging-configuration '{"LoggingEnabled":{"TargetBucket":"logging-bucket-name","TargetPrefix":"bucket-log-prefix/"}}'
开启存储桶的通知。
aws s3api put-bucket-notification-configuration --bucket bucket-name --notification-configuration file://notification.json
复制存储桶的通知。
aws s3api put-bucket-notification-configuration --bucket destination-bucket --notification-configuration file://notification.json --copy-source bucket-name
以上是 28 个 AWS S3 的必备命令行,用于更有效地管理 S3 存储桶。