Created
March 2, 2023 20:44
-
-
Save shankara-n/3573ee834ac0f3cb6d9d9abb35e1cd24 to your computer and use it in GitHub Desktop.
Paginate download AWS log stream
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ''' | |
| Script to paginate and fetch entire log stream | |
| USAGE | |
| * Make sure to set the correct aws region environment variable and have the creds loaded | |
| * Replace GROUP_NAME and STREAM_NAME variables | |
| * Untested | |
| @author: me | |
| ''' | |
| import boto3 | |
| GROUP_NAME = 'GROUP_NAME' | |
| STREAM_NAME = 'STREAM_NAME' | |
| def write_events(events): | |
| with open("output.log","a+") as f: | |
| for event in events: f.write(f"{event['timestamp']}, {event['message']} \n") | |
| client = boto3.client('logs') | |
| response = client.get_log_events(startFromHead= True, logGroupName=GROUP_NAME, logStreamName=STREAM_NAME) | |
| write_events(response['events']) | |
| oldNextForwardToken = None | |
| while response['nextForwardToken'] != oldNextForwardToken: | |
| oldNextForwardToken = response['nextForwardToken'] | |
| response = client.get_log_events(logGroupName=GROUP_NAME, logStreamName=STREAM_NAME, nextToken = response['nextForwardToken']) | |
| write_events(response['events']) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment