説明するもの(遅延があり、予測不可能な順序でログファイルを利用できるようになりました)は、予期した動作としてdeclared by AWSです。これは分散システムの性質上、AWS S3はS3サービスを提供するために使用されていますが、同じリクエストが別のサーバーから毎回配信される可能性があります。
唯一の解決策は、遅延を受け入れ、経験する遅延を見て、余分な時間を追加し、この合計遅延で生きることを学ぶことです(30分から60分のようなものが期待されますが、
ログレコードが必要な場合は、自分でソートするか、いくつかのログ処理ソリューションを検索する必要があります。この目的のために正確に提供されているアプリケーションもあります。
ログファイルを非常に短い遅延で取得する必要がある場合は、ログを自分で作成する必要があります。つまり、フロントエンドを作成して実行する必要があります。同じ時間が必要に応じてログを保持します。
私はこのような解決策を実行し、ユーザーは自分のフロントエンドのユーザー名とパスワードとURLを取得します。彼らはリクエストを送信する際に、適切な資格情報を提供し、指定されたリソースを参照できるかどうかを評価し、そうであれば、そのリソースの有効な一時URLを作成し、そのリクエストをリダイレクトします。
しかし、このような前払いのお金(フロントエンドをどこかで実行する必要があります)が少なく、堅牢性が低く、AWS S3に直接アクセスできます。
幸運、ルル。
ありがとうございました!私はこれらのログをダウンロードして分析し、私の統計情報を得ようとします。あなたにとって良い日でありますように。 – Lulu
これはどこにも記載されていますが、ロギングが遅れていますか? :) – Jigar
@ Jigarは「Best Effort Server Log Delivery」(http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html)を参照してください。引用: サーバーアクセスログレコードは、ベストエフォート型で配信されます。ロギング用に適切に設定されたバケットの要求の多くは、配信されるログレコードとなり、ほとんどのログレコードは記録されてから数時間以内に配信されます。 –