【AWS Lambda】create_export_taskの使い方を簡単解説!
今回は、boto3関数のcreate_export_taskについて解説します。
「どうやって使うの?」の解説からパラメータを入力したら自動でコード作成までお手伝いします。
「どうやって使うの?」の解説からパラメータを入力したら自動でコード作成までお手伝いします。
利用目的
CloudWatchLogsのロググループにからS3へのデータエクスポートタスクを作成します。
エクスポートタスクの作成には、LambdaのIAMロール権限とともにS3バケットのバケットポリシーにも設定が必要となります。
この関数では、エクスポートタスクの作成のみを行います。
実際にCloudWatchLogsからS3へのエクスポートはCloudWatchLogsにて実施されています。
処理は非同期にて実施されるため、Lambdaの実行完了後もCloudWatchLogsによりエクスポートは続けられます。
完了を確認するには、describe_export_tasksを実行する必要があります。
また、ログのエクスポート先となるS3バケットに以下のバケットポリシーを設定しておく必要があります。
「"Resource": "arn:aws:s3:::xxxxxxxxxxxxxx"」の部分はエクスポート先のS3バケット名に変更ください。
エクスポートタスクの作成には、LambdaのIAMロール権限とともにS3バケットのバケットポリシーにも設定が必要となります。
この関数では、エクスポートタスクの作成のみを行います。
実際にCloudWatchLogsからS3へのエクスポートはCloudWatchLogsにて実施されています。
処理は非同期にて実施されるため、Lambdaの実行完了後もCloudWatchLogsによりエクスポートは続けられます。
完了を確認するには、describe_export_tasksを実行する必要があります。
また、ログのエクスポート先となるS3バケットに以下のバケットポリシーを設定しておく必要があります。
「"Resource": "arn:aws:s3:::xxxxxxxxxxxxxx"」の部分はエクスポート先のS3バケット名に変更ください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "logs.ap-northeast-1.amazonaws.com"
},
"Action": "s3:GetBucketAcl",
"Resource": "arn:aws:s3:::xxxxxxxxxxxxxx"
},
{
"Effect": "Allow",
"Principal": {
"Service": "logs.ap-northeast-1.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::xxxxxxxxxxxxxx/*"
}
]
}
権限
Lambdaに付与するIAMロールに「logs:CreateExportTask」の権限を付与してください。
コード生成
パラメータを入力することで、コピーすればすぐに使えるLambdaコードを生成できます。
「*」のついている物は必須パラメータで、ついていないものはオプションです。
「*」のついている物は必須パラメータで、ついていないものはオプションです。
import boto3
cwl_client = boto3.client('logs')
def lambda_handler(event, context):
response = cwl_client.create_export_task(
logGroupName=' ',
fromTime= ,
to= ,
destination=' '
)
print(response)
return 0
▼基本設定
| タスク名 | |
|---|---|
| ロググループ名* | |
| ログストリーム名 | |
| 開始時刻* | |
| 終了時刻* | |
| 送信先* | |
| 送信先プレフィックス |
仕様