是的,Amazon CloudWatch Logs Insights可以访问JSON字段。您可以使用以下代码示例来查询和访问JSON字段:
import boto3
client = boto3.client('logs')
response = client.start_query(
logGroupName='your-log-group-name',
queryString='fields @timestamp, @message, your_json_field',
startTime=int(startTime),
endTime=int(endTime)
)
query_id = response['queryId']
response = client.get_query_results(
queryId=query_id
)
results = response['results']
import json
for row in results:
timestamp = row[0]['value']
message = row[1]['value']
json_data = json.loads(row[2]['value'])
your_json_field_value = json_data['your_json_field']
print(f'Timestamp: {timestamp}, Message: {message}, Your JSON Field: {your_json_field_value}')
在上述示例中,您需要将“your-log-group-name”替换为您要查询的日志组名称,并指定查询中需要返回的字段(包括JSON字段)。然后,您可以解析结果并访问JSON字段的值。
请确保您具有适当的AWS凭证,并已安装boto3库。