私はいくつかのラムダ機能を持っています。私はすべてのラムダ関数から生成された私のログを掻き取り、私たちの内部データウェアハウスにロードする必要があります。私はこれらの解決策を考えました。クラウドウォッチログからログを抜き出し、s3とs3からデータウェアハウスにロードする必要があります
- 長所:簡単に実装できます。
- 短所: 「再生」する方法はありません。私の輸出業者がなんらかの理由で失敗したとします。私は この行動を再生することはできません。
10分ごとに実行されるラムダ関数を持って、エクスポートタスクを作成し、クラウドウォッチからログをスクラップしてs3にロードします。
import boto3 client = boto3.client('logs') response = client.create_export_task( taskName='export_task', logGroupName='/aws/lambda/<lambda_function_1>', fromTime=from_time, to=to_time, destination='<application_logs>', destinationPrefix='<lambda_function_1>' ) response = client.create_export_task( taskName='export_task', logGroupName='/aws/lambda/<lambda_function_2>', fromTime=from_time, to=to_time, destination='<application_logs>', destinationPrefix='<lambda_function_2>'
)
第二create_export_taskは、私は複数のエクスポートタスクを作成カントここ
An error occurred (LimitExceededException) when calling the CreateExportTask operation: Resource limit exceeded."
ラムダ関数のクラウドウォッチロググループを購読し、メッセージを書き込んでログに記録し、それをs3にプッシュします。
失敗しました。これに対処する方法はありますか?
したがって、Awsは各ラムダ関数に対してロググループを作成します。私は問題をロググループを作成していない。私は問題をエクスポートタスクを作成している。 –
私は、2番目のcreate_export_taskを呼び出す前に遅延を追加する必要があると思います。 –
ええ..しかし、より洗練されたソリューションを探しています。 –