

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
<a name="xray-sdk-python-patching"></a>

**nota**  
Aviso de SDK/Daemon mantenimiento de X-Ray: el 25 de febrero de 2026, el AWS X-Ray SDKs/Daemon entrará en modo de mantenimiento, donde AWS se limitarán las versiones de X-Ray SDK y Daemon para abordar únicamente los problemas de seguridad. Para obtener más información sobre la cronología del soporte, consulte [Cronología de X-Ray SDK y Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar a. OpenTelemetry Para obtener más información sobre la migración a OpenTelemetry, consulte [Migración de una instrumentación de rayos X a una instrumentación](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Para instrumentar llamadas posteriores, utilice el SDK de X-Ray para Python para aplicar parches a las bibliotecas que utiliza la aplicación. El SDK de X-Ray para Python puede aplicar parches a las siguientes bibliotecas.

**Bibliotecas compatibles**
+ `[botocore](https://pypi.python.org/pypi/botocore)`, `[boto3](https://pypi.python.org/pypi/boto3)` — Clientes de instrumentos. AWS SDK para Python (Boto) 
+ `[pynamodb](https://pypi.python.org/pypi/pynamodb/)`: instrumente la versión de PynamoDB del cliente de Amazon DynamoDB.
+ `[aiobotocore](https://pypi.python.org/pypi/aiobotocore)`, `[aioboto3](https://pypi.python.org/pypi/aioboto3)`: instrumente las versiones integradas en [asyncio](https://docs.python.org/3/library/asyncio.html) de los clientes del SDK para Python.
+ `[requests](https://pypi.python.org/pypi/requests)`, `[aiohttp](https://pypi.python.org/pypi/aiohttp)`: instrumente clientes HTTP de alto nivel.
+ `[httplib](https://docs.python.org/2/library/httplib.html)`, [https://docs.python.org/3/library/http.client.html](https://docs.python.org/3/library/http.client.html): instrumente los clientes HTTP de bajo nivel y las bibliotecas de más alto nivel que los utilizan.
+ `[sqlite3](https://docs.python.org/3/library/sqlite3.html)`— SQLite Clientes de instrumentos.
+ `[mysql-connector-python](https://pypi.python.org/pypi/mysql-connector-python)`: instrumente los clientes de MySQL.
+ `[pg8000](https://pypi.org/project/pg8000/)`: instrumente la interfaz PostgreSQL Pure-Python.
+ `[psycopg2](https://pypi.org/project/psycopg2/)`: instrumente el adaptador de base de datos PostgreSQL.
+ `[pymongo](https://pypi.org/project/pymongo/)`: instrumente clientes de MongoDB.
+ `[pymysql](https://pypi.org/project/PyMySQL/)`— Clientes basados en Instrument PyMy SQL y MariaDB.

Al utilizar una biblioteca con parches, el SDK de X-Ray para Python crea un subsegmento para la llamada y registra información desde 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 utilizas SQLAlchemy ORM, puedes instrumentar tus consultas SQL importando la versión del SDK de las clases SQLAlchemy de sesión y consulta. Consulta Cómo [usar SQLAlchemy ORM](https://github.com/aws/aws-xray-sdk-python/blob/master/README.md#use-sqlalchemy-orm) para obtener instrucciones.

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)`.

**Example 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.

**Example 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.  
`httplib`: `[httplib](https://docs.python.org/2/library/httplib.html)` y [https://docs.python.org/3/library/http.client.html](https://docs.python.org/3/library/http.client.html)
`mysql` – `[mysql-connector-python](https://pypi.python.org/pypi/mysql-connector-python)`

## Seguimiento del contexto para el funcionamiento asíncrono
<a name="xray-sdk-python-patching-async"></a>

Para las bibliotecas integradas de `asyncio` o para [crear subsegmentos para funciones asíncronas](xray-sdk-python-subsegments.md), también debe configurar el SDK de X-Ray para Python con un contexto asíncrono. Importe la clase `AsyncContext` y pase una instancia de ella a la grabadora de 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 de`patcher`.

**Example 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)
```