Strata Logging Service > ログ転送 > AWS S3 プロファイル経由で JSON 形式で AWS S3 に転送されたログが破損しているようです。
5674
Created On 01/27/25 01:31 AM - Last Modified 02/20/25 01:29 AM
Symptom
- 顧客は、SLS > ログ転送 > AWS S3 プロファイルで AWS S3 バケットへのログ転送を設定しました。
- 動作確認では、S3バケット内に.json形式のファイルが生成されていることが確認された。
- しかし、S3バケットからファイルをダウンロードして検査したところ、コンテンツが破損していることが判明しました。
- Snappyでファイルを解凍しようとしましたが、解凍に失敗しました
Environment
- プリズマアクセス
- 地層ログサービス
Cause
- 「AWS S3 バケットへのログの転送」のドキュメントに記載されているように、ログ ファイルは転送前に Snappy を使用して圧縮されます。
- Snappy 解凍が不十分なため、ダウンロードしたファイルが破損しました。
Resolution
- 設計上、実際の JSON を取得するには、Snappy を使用してファイルを解凍する必要があります。
- Our engineering team provided an example of the script to decode the file in a similar case.
import snappy import sys file = sys.argv[1] with open(file, 'rb') as f: index = 0 data = f.read() for b in data: if b == 10: #separator break; index = index + 1 payload = data[index+1:] print(snappy.uncompress(payload))
Additional Information
Strata Logging Service がログを AWS S3 バケットに転送する