首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

mac安装s3命令客户端(3)

mac安装s3命令客户端(3)

管理对象

高级别 aws s3 命令还可以方便地管理 Amazon S3 对象。这些对象命令包括 aws s3 cp、aws s3 ls、aws s3 mv、aws s3 rm 和 sync。cp、ls、mv 和 rm 命令的用法与它们在 Unix 中的对应命令相同,使您可以跨本地目录和 Amazon S3 存储桶无缝工作。sync 命令同步一个存储桶与一个目录或两个存储桶中的内容。

注意

如果对象很大,所有涉及向 Amazon S3 存储桶(aws s3 cp、aws s3 mv 和 aws s3 sync)上传对象的高级别命令都会自动执行分段上传。

使用这些命令时,无法恢复失败的上传。如果分段上传由于超时而失败,或者通过按 CTRL+C 手动取消,AWS CLI 将会清除创建的所有文件并中止上传。此过程可能耗时数分钟。

如果进程被 kill 命令中断或者由于系统故障而中断,则正在进行的分段上传将保留在 Amazon S3 中,必须在 AWS 管理控制台 中手动清除,或者使用 s3api abort-multipart-upload 命令来清除。

cp、mv 和 sync 命令包括一个 --grants 选项,可用来向指定用户或组授予对对象的权限。您可以使用以下语法对权限列表设置 --grants 选项。

--grants Permission=Grantee_Type=Grantee_ID
         [Permission=Grantee_Type=Grantee_ID ...]


每个值都包含以下元素:

Permission – 指定授予的权限,可以设置为 read、readacl、writeacl 或 full。

Grantee_Type – 指定被授权者的标识方法,可以设置为 uri、emailaddress 或 id。

Grantee_ID – 根据 Grantee_Type 指定被授权者。

uri – 组 URI。有关更多信息,请参阅谁是被授权者?

emailaddress – 账户的电子邮件地址。

id – 账户的规范 ID。

有关 Amazon S3 访问控制的更多信息,请参阅访问控制。

下面的示例将一个对象复制到一个存储桶中。它授予所有人对对象的 read 权限,向 user@example.com 的关联账户授予 full 权限(read、readacl 和 writeacl)。

$ aws s3 cp file.txt s3://my-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com


要为上传到 Amazon S3 的对象指定非默认存储类(REDUCED_REDUNDANCY 或 STANDARD_IA),请使用 --storage-class 选项:

$ aws s3 cp file.txt s3://my-bucket/ --storage-class REDUCED_REDUNDANCY


sync 命令的形式如下。可能的源-目标组合有:

本地文件系统到 Amazon S3

Amazon S3 到本地文件系统

Amazon S3 到 Amazon S3

$ aws s3 sync <source> <target> [--options]


下面的示例将 my-bucket 中名为 path 的 Amazon S3 文件夹中的内容与当前工作目录同步。s3 sync 将更新与目标中的同名文件的大小或修改时间不同的任何文件。输出显示在同步期间执行的特定操作。请注意,此操作将子目录 MySubdirectory 及其内容与 s3://my-bucket/path/MySubdirectory 递归同步。

$ aws s3 sync . s3://my-bucket/path
upload: MySubdirectory\MyFile3.txt to s3://my-bucket/path/MySubdirectory/MyFile3.txt
upload: MyFile2.txt to s3://my-bucket/path/MyFile2.txt
upload: MyFile1.txt to s3://my-bucket/path/MyFile1.txt


通常,sync 仅在源和目标之间复制缺失或过时的文件或对象。不过,您可以提供 --delete 选项来从目标中删除源中不存在的文件或对象。
返回列表