Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 AWS api调用可取消吗?_Amazon S3_Aws Cli - Fatal编程技术网

Amazon s3 AWS api调用可取消吗?

Amazon s3 AWS api调用可取消吗?,amazon-s3,aws-cli,Amazon S3,Aws Cli,假设从cli执行操作,当用户取消并关闭其cli/终端时,进程是否继续运行或停止 例子 例如,很明显,一个桶里有5000万个文件。如果用户运行该操作(即aws s3 ls s3://mybucket/--recursive | wc-l),然后取消该操作并关闭其终端,该操作会继续运行(并因此消耗资源),还是会在用户的CLI上取消该命令后立即停止 到目前为止我所知道的 我知道的不多,但我知道有些命令在执行时无法停止(即使您关闭终端)-也就是说,它们运行的是“分离的”实际上,命令行 aws s3 ls

假设从cli执行操作,当用户取消并关闭其cli/终端时,进程是否继续运行或停止

例子 例如,很明显,一个桶里有5000万个文件。如果用户运行该操作(即
aws s3 ls s3://mybucket/--recursive | wc-l
),然后取消该操作并关闭其终端,该操作会继续运行(并因此消耗资源),还是会在用户的CLI上取消该命令后立即停止

到目前为止我所知道的 我知道的不多,但我知道有些命令在执行时无法停止(即使您关闭终端)-也就是说,它们运行的是“分离的”

实际上,命令行

aws s3 ls s3://mybucket/ --recursive
将开始运行,但另一个

wc -l
如果命令终止,将不会执行

您可能有一个
bash
脚本或多个
aws
命令在管道中运行,并且它们逐个运行。如果您中断,If将只完成当前的一个,而不启动任何新的

将它们视为命令/按钮,您按下
ls
按钮并告诉AWS S3列出,即完成,S3将继续列出并完成

编辑

错过了大量的文件,我的答案是1000(默认页面大小)或更少的项目可用。您可以配置页面大小,但最大值为1000,更多信息请参见


对于每个页面,本地CLI都会向S3发送一个新请求。当您中断时,页面仍将完全由AWS执行,但不会触发更多页面

对不起,这根本不是这样的。aws CLI主要在前台运行。在您所描述的意义上,本地或AWS都没有做任何背景工作
aws s3 ls
对于大型bucket,会持续向bucket发送下1000个对象、下1000个对象和下1000个对象的API请求,当您停止本地aws cli进程时,所有活动都会停止。