IoTイベントデータをGoogle Cloud Storageに保存したい場合は、データ湖として使用します。しかし、すべてのイベントに対してPUT呼び出しを行うのはコストがかかりすぎるため、ファイルに追加して1時間ごとにPUT呼び出しを行いたいとします。メッセージ処理サービスのノードがダウンした場合にデータを失うことなくこれを行う方法は何ですか?Google Cloud Pub/SubからGoogle Cloud Storageに毎時バッチ書き込みを行う方法はありますか?
私の処理サービスがメッセージにACKすると、そのメッセージはGoogle Pub/Subにはなくなりますが、まだGoogle Cloud Storageには存在しません。その時点でその処理ノードがダウンすると、データ。
私の希望使い方はS3にPUTing前にバッチメッセージにAWSキネシス消防ホースを使用しての話この記事に似ていますが、でもキネシス消防ホースの最大バッチ間隔は900秒(または128メガバイト)です。 https://aws.amazon.com/blogs/big-data/persist-streaming-data-to-amazon-s3-using-amazon-kinesis-firehose-and-aws-lambda/
IoTイベントごとに1つのPub/Subメッセージを取得しますか?ファイルを送信する準備ができるまで、特定のノードによって処理されたメッセージの確認期限を延長することは可能でしょうか?ノードが停止すると、ackの期限が切れた後、メッセージは処理サービスの別のサブスクライバーに再配信されます。 まだ十分に多くのメッセージがある場合は、すべてのメッセージを同時に確認できないため、ノードがアップロード後ではなく、受信前に重複したエントリを取得する可能性があります。タイムスタンプ/ GCSオブジェクトの命名でこれを解決できるかもしれません。 –