Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Aplicación de parches a bibliotecas para instrumentar llamadas posteriores
nota
X-Ray SDK/Daemon Aviso de mantenimiento: el 25 de febrero de 2026, AWS X-Ray SDKs/Daemon entrarán en modo de mantenimiento, donde AWS se limitarán las versiones de X-Ray SDK y Daemon a problemas de seguridad únicamente. Para obtener más información sobre la cronología del soporte, consulte Cronología de X-Ray SDK y Daemon Support. Recomendamos migrar a. OpenTelemetry Para obtener más información sobre la migración a OpenTelemetry, consulte Migración de una X-Ray instrumentación a otra. OpenTelemetry
Para instrumentar las llamadas posteriores, usa el X-Ray SDK para Python a fin de aplicar parches a las bibliotecas que usa tu aplicación. El X-Ray SDK para Python puede aplicar parches a las siguientes bibliotecas.
Bibliotecas compatibles
-
botocore,boto3— AWS SDK for Python (Boto) Clientes de instrumentos. -
pynamodb: instrumente la versión de PynamoDB del cliente de Amazon DynamoDB. -
aiobotocore,aioboto3— Versiones integradas en instrumentasyncio del SDK para clientes de Python (Boto3). -
httplib,http.client: instrumente los clientes HTTP de bajo nivel y las bibliotecas de más alto nivel que los utilizan. -
sqlite3: instrumente los clientes de SQLite. -
mysql-connector-python: instrumente los clientes de MySQL. -
pg8000— Interfaz PostgreSQL del Pure-Python instrumento. -
psycopg2: instrumente el adaptador de base de datos PostgreSQL. -
pymongo: instrumente clientes de MongoDB. -
pymysql— Clientes instrumentados basados en PyMy SQL para MySQL y MariaDB.
Cuando utilizas una biblioteca parcheada, el X-Ray SDK para Python crea un subsegmento para la llamada y registra la información de la solicitud y la respuesta. Debe haber un segmento disponible para que el SDK cree el subsegmento, ya sea desde el middleware del SDK o desde AWS Lambda.
nota
Si utiliza el ORM de SQLAlchemy, puede instrumentar sus consultas SQL importando la versión del SDK de la sesión y las clases de consulta de SQLAlchemy. Consulte Use ORM SQLAlchemy
Para aplicar parches a todas las bibliotecas disponibles, utilice la función patch_all en aws_xray_sdk.core. Es posible que algunas bibliotecas, como httplib y urllib, necesiten habilitar la aplicación de parches dobles llamando a patch_all(double_patch=True).
ejemplo main.py: aplique parches a todas las bibliotecas compatibles
import boto3
import botocore
import requests
import sqlite3
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
patch_all()Para aplicar parches a una sola biblioteca, llame a patch con una tupla del nombre de la biblioteca. Para ello, deberá proporcionar una sola lista de elementos.
ejemplo main.py: aplique parches a bibliotecas específicas
import boto3
import botocore
import requests
import mysql-connector-python
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch
libraries = (['botocore'])
patch(libraries)nota
En algunos casos, la clave que se utiliza aplicar parches a una biblioteca no coincide con el nombre de la biblioteca. Algunas claves sirven como alias para una o varias bibliotecas.
Alias de las bibliotecas
-
httplib:httplibyhttp.client -
mysql–mysql-connector-python
Seguimiento del contexto para el funcionamiento asíncrono
En el caso de las bibliotecas asyncio integradas o para crear subsegmentos para funciones asíncronas, también debes configurar el X-Ray SDK para Python con un contexto asíncrono. Importe la AsyncContext clase y pase una instancia de la misma a la grabadora. X-Ray
nota
Las bibliotecas compatibles con el marco de trabajo web, como AIOHTTP, no se gestionan a través del módulo aws_xray_sdk.core.patcher. No aparecerán en el catálogo de bibliotecas admitidas depatcher.
ejemplo main.py: aplique parches a aioboto3
import asyncio
import aioboto3
import requests
from aws_xray_sdk.core.async_context import AsyncContext
from aws_xray_sdk.core import xray_recorder
xray_recorder.configure(service='my_service', context=AsyncContext())
from aws_xray_sdk.core import patch
libraries = (['aioboto3'])
patch(libraries)