6

Tôi đang sử dụng Data Pipeline (DP) để sao lưu hàng ngày của DynamoDB, tuy nhiên, tôi muốn sao lưu gia tăng dữ liệu bị mất bởi DP chạy (cập nhật giữa DP chạy). Để thực hiện điều đó, tôi muốn sử dụng DynamoDB Streams + Lambda + S3 để đưa các bản cập nhật DynamoDB thời gian thực lên S3. Tuy nhiên, tôi hiểu cách DynamoDB hoạt động như thế nào, tôi đang đấu tranh với việc tạo ra một hàm Lambda ghi vào S3 và nói cuộn một tệp mỗi giờ.DynamoDB Streams đến S3

Có ai đã thử không?

+1

Ý bạn là gì khi "cuộn tệp mỗi giờ"? Bạn không thể nối thêm vào các tệp trong S3. Bạn sẽ phải tạo các tệp mới cho mỗi lần cập nhật trừ khi bạn muốn đọc toàn bộ tệp mỗi lần, thêm dữ liệu vào nó và sau đó ghi lại nó vào S3 một lần nữa. Nghe có vẻ đau đớn. – garnaat

+0

Lăn một tệp như trong log4j hoặc các khung công tác khác nơi tệp có thể được cuộn dựa trên một tiêu chí nhất định. Tôi biết các tập tin trong S3 là không thay đổi, vì vậy tôi đã tự hỏi nếu điều này thậm chí có thể. – user3293898

Trả lời

7

nó một công việc anh chàng giờ, Những gì bạn cần làm là

  1. Enable Dynamo DB cập nhật Stream và đính kèm AWS cung cấp chức năng lambda https://github.com/awslabs/lambda-streams-to-firehose
  2. Enable dòng Firehose và sử dụng trên chức năng để dòng outs các bản ghi trong vòi chữa cháy.
  3. Định cấu hình Firehose để kết xuất các bản ghi lên S3.

xong.

+0

nếu bạn không có sẵn firehose thì sao? –