0

私はいくつかのラムダ機能を持っています。私はすべてのラムダ関数から生成された私のログを掻き取り、私たちの内部データウェアハウスにロードする必要があります。私はこれらの解決策を考えました。クラウドウォッチログからログを抜き出し、s3とs3からデータウェアハウスにロードする必要があります

    ラムダ関数のクラウドウォッチロググループを購読し、メッセージを書き込んでログに記録し、それをs3にプッシュします。

    • 長所:簡単に実装できます。
    • 短所: 「再生」する方法はありません。私の輸出業者がなんらかの理由で失敗したとします。私は この行動を再生することはできません。
  1. 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." 
    

失敗しました。これに対処する方法はありますか?

答えて

0

作成している(作成済みの)ロググループの数はいくつですか? 1つのアカウントあたり5000のロググループがあると私は思うが限界があります。このエラーは、「Lambdaは「LimitExceededException」のためロググループを作成できません。

CloudWatchでは、「/ aws/lambda /」で始まる名前を探します。CLIを使用してロググループとその後、数をカウントする「WC」のようなプログラム。

あなたはこの制限を増やすためにアマゾンのサポートに連絡することができます。

Limit Increase

+0

したがって、Awsは各ラムダ関数に対してロググループを作成します。私は問題をロググループを作成していない。私は問題をエクスポートタスクを作成している。 –

+0

私は、2番目のcreate_export_taskを呼び出す前に遅延を追加する必要があると思います。 –

+0

ええ..しかし、より洗練されたソリューションを探しています。 –

関連する問題