

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Aplicar patches a bibliotecas para instrumentar chamadas downstream
<a name="xray-sdk-python-patching"></a>

**nota**  
Aviso de SDK/Daemon manutenção do X-Ray — Em 25 de fevereiro de 2026, o AWS X-Ray SDKs/Daemon entrará no modo de manutenção, onde AWS limitará as versões do X-Ray SDK e do Daemon para tratar apenas de problemas de segurança. Para obter mais informações sobre a linha do tempo do suporte, consulte [Cronograma de suporte do X-Ray SDK e do Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar para o. OpenTelemetry Para obter mais informações sobre a migração para OpenTelemetry, consulte [Migrando da instrumentação X-Ray para a instrumentação](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Para instrumentar chamadas subsequentes, use o X-Ray SDK para Python para aplicar patches às bibliotecas usadas pela aplicação. O X-Ray SDK para Python pode corrigir as bibliotecas a seguir.

**Bibliotecas com suporte**
+ `[botocore](https://pypi.python.org/pypi/botocore)`, `[boto3](https://pypi.python.org/pypi/boto3)` — AWS SDK para Python (Boto) Clientes de instrumentos.
+ `[pynamodb](https://pypi.python.org/pypi/pynamodb/)`: instrumentar a versão do PynamoDB de clientes do Amazon DynamoDB.
+ `[aiobotocore](https://pypi.python.org/pypi/aiobotocore)`, `[aioboto3](https://pypi.python.org/pypi/aioboto3)`: instrumentar as versões integradas ao [asyncio](https://docs.python.org/3/library/asyncio.html) de clientes do SDK para Python.
+ `[requests](https://pypi.python.org/pypi/requests)`, `[aiohttp](https://pypi.python.org/pypi/aiohttp)`: instrumentar clientes HTTP de nível superior.
+ `[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): instrumentar clientes HTTP de nível inferior e as bibliotecas de nível superior que os utilizam.
+ `[sqlite3](https://docs.python.org/3/library/sqlite3.html)`— SQLite Clientes de instrumentos.
+ `[mysql-connector-python](https://pypi.python.org/pypi/mysql-connector-python)`: instrumentar clientes do MySQL.
+ `[pg8000](https://pypi.org/project/pg8000/)`: instrumentar a interface PostgreSQL Pure-Python.
+ `[psycopg2](https://pypi.org/project/psycopg2/)`: instrumentar o adaptador de banco de dados PostgreSQL.
+ `[pymongo](https://pypi.org/project/pymongo/)`: instrumentar clientes do MongoDB.
+ `[pymysql](https://pypi.org/project/PyMySQL/)`— Instrumente clientes baseados em PyMy SQL para MySQL e MariaDB.

Quando você usa uma biblioteca com patches aplicados, o X-Ray SDK para Python cria um subsegmento para a chamada e grava informações da solicitação e da resposta. Um segmento deve estar disponível para o SDK para criar o subsegmento, no middleware do SDK ou no AWS Lambda.

**nota**  
Se você usa SQLAlchemy ORM, pode instrumentar suas consultas SQL importando a versão do SDK das classes SQLAlchemy de sessão e consulta. Consulte [Usar SQLAlchemy ORM](https://github.com/aws/aws-xray-sdk-python/blob/master/README.md#use-sqlalchemy-orm) para obter instruções.

Para aplicar patch a todas as bibliotecas disponíveis, use a função `patch_all` em `aws_xray_sdk.core`. Algumas bibliotecas, como `httplib` e `urllib`, podem precisar habilitar a aplicação de patch dupla chamando `patch_all(double_patch=True)`.

**Example main.py: aplicar patch a todas as bibliotecas compatíveis**  

```
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 um patch a uma única biblioteca, chame `patch` com uma tupla do nome da biblioteca. Para isso, você precisará fornecer uma única lista de elementos.

**Example main.py: aplicar patch 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**  
Em alguns casos, a chave que você usa para aplicar um patch a uma biblioteca não corresponde ao nome da biblioteca. Algumas chaves servem como aliases para uma ou mais bibliotecas.  
`httplib`: `[httplib](https://docs.python.org/2/library/httplib.html)` e [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)`

## Rastrear contexto para trabalhos assíncronos
<a name="xray-sdk-python-patching-async"></a>

Para bibliotecas integradas `asyncio` ou para [criar subsegmentos para funções assíncronas](xray-sdk-python-subsegments.md), você também deve configurar o X-Ray SDK para Python com um contexto assíncrono. Importe a classe `AsyncContext` e passe um exemplo dela para o gravador do X-Ray.

**nota**  
As bibliotecas de suporte a framework da Web, como AIOHTTP, não são tratadas pelo módulo `aws_xray_sdk.core.patcher`. Elas não serão exibidas no catálogo de `patcher` de bibliotecas com suporte.

**Example main.py: aplicar patch 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)
```