📜  28 个必备的 aws s3 命令行 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:04.563000             🧑  作者: Mango

28 个必备的 AWS S3 命令行

AWS S3 是一种对象存储服务,常用于储存和检索大量数据。这里介绍的 28 个 AWS S3 命令行工具可以帮助程序员更有效地管理他们的 S3 存储桶。

1. 创建存储桶

创建一个新的 S3 存储桶。需要指定区域和存储桶名称。

aws s3 mb s3://bucket-name --region region-name
2. 同步目录或文件夹

同步本地文件夹或目录到 S3 存储桶。

aws s3 sync path/to/local/dir s3://bucket-name/path/to/s3/dir
3. 复制文件

将文件从当前路径复制到 S3 存储桶。

aws s3 cp file.txt s3://bucket-name/path/to/s3/destination/
4. 删除文件

删除 S3 存储桶中的文件。

aws s3 rm s3://bucket-name/path/to/s3/file.txt
5. 查看存储桶的内容

列出存储桶中的所有文件。

aws s3 ls s3://bucket-name/
6. 查看文件的元数据

查看文件的元数据,例如文件的大小和修改时间。

aws s3 ls s3://bucket-name/path/to/s3/file.txt
7. 查看存储桶权限

查看存储桶及其对象的权限。

aws s3api get-bucket-acl --bucket bucket-name
8. 上传加密文件

将加密文件上传到 S3 存储桶。

aws s3 cp file.txt s3://bucket-name/path/to/s3/destination/ --sse
9. 查看加密文件的元数据

查看加密文件的元数据。

aws s3 ls s3://bucket-name/path/to/s3/encrypted-file.txt --sse
10. 复制加密文件

将加密文件从一个存储桶复制到另一个存储桶。

aws s3 cp s3://source-bucket/path/to/s3/encrypted-file.txt s3://destination-bucket/path/to/s3/destination/ --sse
11. 设置存储桶策略

设置存储桶的访问策略。

aws s3api put-bucket-policy --bucket bucket-name --policy file://policy.json
12. 查看存储桶策略

查看存储桶的访问策略。

aws s3api get-bucket-policy --bucket bucket-name
13. 批量删除

批量删除存储桶中的对象。

aws s3 rm s3://bucket-name/path/to/s3/ --recursive
14. 查看存储桶标签

查看存储桶的标签。

aws s3api get-bucket-tagging --bucket bucket-name
15. 更新存储桶标签

更新存储桶的标签。

aws s3api put-bucket-tagging --bucket bucket-name --tagging file://tags.json
16. 查看存储桶生命周期

查看存储桶的生命周期规则。

aws s3api get-bucket-lifecycle-configuration --bucket bucket-name
17. 更新存储桶生命周期

更新存储桶的生命周期规则。

aws s3api put-bucket-lifecycle-configuration --bucket bucket-name --lifecycle-configuration file://lifecycle.json
18. 复制存储桶

使用 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
19. 恢复已归档的 S3 对象

恢复已经归档的 S3 对象。

aws s3api restore-object --bucket bucket-name --key object-key --restore-request {"Days":1,"GlacierJobParameters":{"Tier":"Expedited"}}
20. 查看存储桶版本控制

查看存储桶的版本控制状态。

aws s3api get-bucket-versioning --bucket bucket-name
21. 开启存储桶版本控制

开启存储桶的版本控制。

aws s3api put-bucket-versioning --bucket bucket-name --versioning-configuration Status=Enabled
22. 查看存储桶 ACL

查看存储桶的 ACL。

aws s3api get-bucket-acl --bucket bucket-name
23. 复制存储桶 ACL

复制存储桶的 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
24. 复制存储桶标签

复制存储桶的标签。

aws s3api put-bucket-tagging --bucket destination-bucket --tagging file://tags.json --copy-source bucket-name
25. 查看活动请求日志

查看存储桶的活动请求日志。

aws s3api get-bucket-logging --bucket bucket-name
26. 开启活动请求日志

开启存储桶的活动请求日志。

aws s3api put-bucket-logging --bucket bucket-name --logging-configuration '{"LoggingEnabled":{"TargetBucket":"logging-bucket-name","TargetPrefix":"bucket-log-prefix/"}}'
27. 开启存储桶通知

开启存储桶的通知。

aws s3api put-bucket-notification-configuration --bucket bucket-name --notification-configuration file://notification.json
28. 复制存储桶的通知

复制存储桶的通知。

aws s3api put-bucket-notification-configuration --bucket destination-bucket --notification-configuration file://notification.json --copy-source bucket-name

以上是 28 个 AWS S3 的必备命令行,用于更有效地管理 S3 存储桶。