今、CloudwatchのログをLambdaを使ってストリーミング形式でAmazon S3にエクスポートする必要があります。私はインターネットを検索し、いくつかのコードを作ります。AWSラムダをストリーミング方式で使用してCloudwatchログをAmazon S3にエクスポートする方法はありますか? (Pythonで)
import boto3
import calendar
import
def lambda_handler(event, context):
# TODO: create a export task from cloudwatch logs
# and export the logs into Amazon S3
# create client
client= boto3.client("logs")
# create export task
response= client.create_export_task(
taskName='logs-to-s3-task',
logGroupName='ec2',
fromTime= 123, # begin-time
to=123, # end-time
destination='some-s3',
destinationPrefix='ec2-logs'
)
print("Response of logs-to-s3 lambda function: "+response)
また、エクスポートしたいクラウドログのログにトリガーを設定しました。しかし、ここでいくつかの質問に来る:
にはどうすればCloudWatchのログに変更があった後、S3の更新があることを確認することができます。
ラムダのトリガーの論理は何ですか?その名前によって、何か/変更のリスナーのように動作するはずです。
クラウドウォッチログに変更があったときにリスナーとして機能する場合は、時間範囲内のすべてのログではなく、新しく追加されたログのみをS3に更新するにはどうすればよいですか。あるいは、別の方法として、S3で最新のアップデートを知ることができるので、それ以降のデータをS3にエクスポートすることができます。
ありがとうございます!
基本的に、私が正しく理解すれば、生成された各ログはラムダのコードをトリガーするイベントになりますか?そして、私がする必要があるのは、このイベントをS3にインポートすることです(このようにして、1つのイベントがログに記録されるため、タイムスタンプを気にする必要はありません)。これは正しいです? – lhan
はい、イベントベースで処理されます。 –