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 S3存储桶中的文件依赖关系吗?_Amazon S3_Makefile_Aws Cli - Fatal编程技术网

Amazon s3 你能找出AWS S3存储桶中的文件依赖关系吗?

Amazon s3 你能找出AWS S3存储桶中的文件依赖关系吗?,amazon-s3,makefile,aws-cli,Amazon S3,Makefile,Aws Cli,源目录包含许多大型图像和视频文件 需要使用AWS S3 cp命令将这些文件上载到AWS S3存储桶。例如,作为构建过程的一部分,我将图像文件my_image.jpg复制到S3存储桶中,如下所示:aws S3 cp my_image.jpg S3://mybucket.mydomain.com/ 我可以手动将此副本复制到AWS。我也能写剧本。但是我想使用makefile上传我的图像文件my_image.jpgiff我的S3存储桶中的同名文件比源目录中的文件旧 通常,make非常擅长这种基于文件日期

源目录包含许多大型图像和视频文件

需要使用
AWS S3 cp
命令将这些文件上载到AWS S3存储桶。例如,作为构建过程的一部分,我将图像文件
my_image.jpg
复制到S3存储桶中,如下所示:
aws S3 cp my_image.jpg S3://mybucket.mydomain.com/

我可以手动将此副本复制到AWS。我也能写剧本。但是我想使用makefile上传我的图像文件
my_image.jpg
iff我的S3存储桶中的同名文件比源目录中的文件旧


通常,
make
非常擅长这种基于文件日期的依赖性检查。但是,有没有一种方法可以告诉
make
从S3存储桶中的文件中获取文件日期,并使用它来确定是否需要重建依赖项?

我认为您需要使S3看起来像一个文件系统,以使其正常工作。在Linux上,构建这样的适配器是很常见的。将S3表示为本地文件系统的项目。这些我都没有试过,但这似乎是最好的选择。

AWS CLI有一个
s3 sync
命令,可以为您处理相当多的问题。发件人:

如果出现以下情况,s3对象将需要复制:

  • 两个s3对象的大小不同
  • 源的上次修改时间比目标的上次修改时间新
  • 或者指定的bucket和前缀destination下不存在s3对象

有什么原因不能使用
sync
,而不是
cp
?迈克。我不知道sync命令/。我想我可以用它来满足我的需要。谢谢如果您将您的评论作为答案发布,我会将其标记为正确,这样您就可以获得分数。