You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python Lambda获取最新CloudWatch日志流完整URL

获取Lambda对应CloudWatch日志流的完整URL

核心思路

不需要调用describe_log_streams接口,直接通过Lambda的context对象获取必要参数,拼接CloudWatch日志流的固定格式URL即可,步骤如下:

  • 从context中提取日志组名(context.log_group_name)和当前执行的日志流名(context.log_stream_name)
  • 获取Lambda所在的AWS区域
  • 按照CloudWatch控制台的URL规则拼接完整链接(注意转义日志组/流名中的斜杠为%2F)

代码实现

import os

def lambda_handler(event, context):
    # 从context获取日志组和日志流名称
    log_group = context.log_group_name
    log_stream = context.log_stream_name
    
    # 提取Lambda所在区域(从函数ARN中解析)
    region = context.invoked_function_arn.split(':')[3]
    
    # 拼接并转义URL中的特殊字符
    encoded_log_group = log_group.replace('/', '%2F')
    encoded_log_stream = log_stream.replace('/', '%2F')
    log_url = f"https://console.aws.amazon.com/cloudwatch/home?region={region}#logsV2:log-groups/log-group/{encoded_log_group}/log-events/{encoded_log_stream}"
    
    print(f"CloudWatch日志流完整URL: {log_url}")
    
    # 此处添加你的业务逻辑
    return {
        'statusCode': 200,
        'body': '执行完成'
    }

补充说明

  • 区域也可以通过环境变量AWS_REGION获取,代码替换为:region = os.environ.get('AWS_REGION')
  • 如果需要获取该日志组下最新创建的日志流(而非当前执行的日志流),才需要调用describe_log_streams,示例如下:
import boto3

def get_latest_log_stream_url(context):
    log_group = context.log_group_name
    region = context.invoked_function_arn.split(':')[3]
    client = boto3.client('logs', region_name=region)
    
    # 查询最新的日志流(按创建时间倒序,取第一个)
    response = client.describe_log_streams(
        logGroupName=log_group,
        orderBy='LastEventTime',
        descending=True,
        limit=1
    )
    latest_stream = response['logStreams'][0]['logStreamName']
    
    # 拼接URL
    encoded_log_group = log_group.replace('/', '%2F')
    encoded_log_stream = latest_stream.replace('/', '%2F')
    return f"https://console.aws.amazon.com/cloudwatch/home?region={region}#logsV2:log-groups/log-group/{encoded_log_group}/log-events/{encoded_log_stream}"

内容的提问来源于stack exchange,提问作者Ravichandran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:42:21