aws CLI 比使用 boto3 更快吗?
Is aws CLI faster than using boto3?
我将包存储在 s3 存储桶中。我需要读取每个包的元数据文件并将元数据传递给程序。我用 boto3.resource('s3')
读取了 python 中的这些文件。该代码花了几分钟 运行。如果我使用 aws cli sync
,它下载这些图元文件的速度比 boto 快得多。我的猜测是,如果我不下载并只阅读元文件,它应该会更快。但事实并非如此。可以肯定地说 aws cli 比使用 boto 更快吗?
AWS Command-Line Interface (CLI)其实用的是boto本身,所以不是'faster'。
但是,aws s3 sync
命令使用线程同时复制多个文件,因此复制操作花费的时间较少。
根据我的经验,我没有发现 CLI 比 boto 更快。正如 helloV 提到的,CLI 是由专业人士编写的,并且保持在最佳水平,而 boto 是由初级到掌握的用户编写的。
如果您只需要元数据并希望使用 boto 快速使用脚本,我强烈建议您使用客户端而不是资源和名为 head_object 的方法,该方法只读取但不下载,元数据可在json 响应结构。
AWS CLI 使用 boto 是真的,但 cli 不是 瘦包装器,正如您所料。当谈到复制 S3 数据树(其中包括单个大文件后面的多部分块)时,制作一个如此彻底和快速的包装器需要很多逻辑,并且可以无缝地从哪里获取部分下载已停止,或有效地仅同步服务器上更改的数据。
据我所知,awscli 代码中的实现比 Python 或 Java SDK 中的任何实现都更彻底。我见过一些开发人员非常自豪,以至于无法从他们的代码中调用 CLI,但到目前为止,我所看到的所有此类尝试都为零,但都没有成功。不过,喜欢看反例。
我将包存储在 s3 存储桶中。我需要读取每个包的元数据文件并将元数据传递给程序。我用 boto3.resource('s3')
读取了 python 中的这些文件。该代码花了几分钟 运行。如果我使用 aws cli sync
,它下载这些图元文件的速度比 boto 快得多。我的猜测是,如果我不下载并只阅读元文件,它应该会更快。但事实并非如此。可以肯定地说 aws cli 比使用 boto 更快吗?
AWS Command-Line Interface (CLI)其实用的是boto本身,所以不是'faster'。
但是,aws s3 sync
命令使用线程同时复制多个文件,因此复制操作花费的时间较少。
根据我的经验,我没有发现 CLI 比 boto 更快。正如 helloV 提到的,CLI 是由专业人士编写的,并且保持在最佳水平,而 boto 是由初级到掌握的用户编写的。
如果您只需要元数据并希望使用 boto 快速使用脚本,我强烈建议您使用客户端而不是资源和名为 head_object 的方法,该方法只读取但不下载,元数据可在json 响应结构。
AWS CLI 使用 boto 是真的,但 cli 不是 瘦包装器,正如您所料。当谈到复制 S3 数据树(其中包括单个大文件后面的多部分块)时,制作一个如此彻底和快速的包装器需要很多逻辑,并且可以无缝地从哪里获取部分下载已停止,或有效地仅同步服务器上更改的数据。
据我所知,awscli 代码中的实现比 Python 或 Java SDK 中的任何实现都更彻底。我见过一些开发人员非常自豪,以至于无法从他们的代码中调用 CLI,但到目前为止,我所看到的所有此类尝试都为零,但都没有成功。不过,喜欢看反例。