2017-12-30 105 views
12

Thư mục nguồn chứa nhiều tệp hình ảnh và video lớn.Có thể tìm ra các phụ thuộc tệp trong các gói AWS S3 không?

Những tệp này cần phải được tải lên một thùng AWS S3 với lệnh aws s3 cp. Ví dụ, như một phần của quá trình xây dựng này, tôi sao chép tập tin hình ảnh của tôi my_image.jpg vào thùng S3 như sau: aws s3 cp my_image.jpg s3://mybucket.mydomain.com/

Tôi không gặp vấn đề gì khi thực hiện bản sao này với AWS theo cách thủ công. Và tôi cũng có thể viết kịch bản. Nhưng tôi muốn sử dụng makefile để tải lên tệp hình ảnh của tôi my_image.jpgiff tệp có cùng tên trong thùng S3 của tôi cũ hơn thư mục nguồn của tôi.

Nói chung, make rất tốt ở loại kiểm tra phụ thuộc này dựa trên ngày tệp. Tuy nhiên, có cách nào tôi có thể nói make để có được ngày tháng tập tin từ các tập tin trong thùng S3 và sử dụng để xác định nếu phụ thuộc cần phải được xây dựng lại hay không?

+0

Có lý do nào bạn không thể sử dụng 'sync', thay vì' cp'? https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html#examples –

+0

Mike. Tôi không biết lệnh đồng bộ /. Tôi nghĩ rằng tôi có thể sử dụng nó để đáp ứng nhu cầu của tôi. Cảm ơn! Nếu bạn đăng bình luận của bạn như là một câu trả lời, tôi sẽ đánh dấu nó là chính xác để bạn có thể được trao điểm. –

Trả lời

6

AWS CLI có lệnh s3 sync có thể xử lý số tiền hợp lý cho bạn. Từ the documentation:

Một s3 đối tượng sẽ yêu cầu sao chép nếu:

  • các kích thước của hai s3 đối tượng khác nhau,
  • các sửa đổi lần cuối cùng của nguồn là mới hơn so với thời gian sửa đổi lần cuối của điểm đến,
  • hoặc đối tượng s3 không tồn tại dưới đích và tiền tố được chỉ định.
2

Tôi nghĩ bạn sẽ cần phải tạo S3 giống như một hệ thống tệp để thực hiện công việc này. Trên Linux, thông thường sử dụng FUSE để tạo các bộ điều hợp như vậy. Herearesome dự án trình bày S3 dưới dạng hệ thống tệp cục bộ. Tôi đã không thử bất kỳ cái nào trong số đó, nhưng nó có vẻ như là cách để đi.

Các vấn đề liên quan