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
nota
End-of-support aviso — Em 25 de fevereiro de 2027, o AWS X-Ray interromperá o suporte para AWS X-Ray SDKs o daemon. Depois de 25 de fevereiro de 2027, você não receberá mais atualizações ou lançamentos. Para obter mais informações sobre o cronograma de suporte, consulteCronograma de fim do suporte do X-Ray SDK e do daemon. 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. 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,boto3— AWS SDK for Python (Boto) Clientes de instrumentos.
- 
    pynamodb: instrumentar a versão do PynamoDB de clientes do Amazon DynamoDB.
- 
    aiobotocore,aioboto3: instrumentar as versões integradas ao asynciode clientes do SDK para Python. 
- 
    requests,aiohttp: instrumentar clientes HTTP de nível superior.
- 
    httplib,http.client: instrumentar clientes HTTP de nível inferior e as bibliotecas de nível superior que os utilizam. 
- 
    sqlite3— SQLite Clientes de instrumentos.
- 
    mysql-connector-python: instrumentar clientes do MySQL.
- 
    pg8000: instrumentar a interface PostgreSQL Pure-Python.
- 
    psycopg2: instrumentar o adaptador de banco de dados PostgreSQL.
- 
    pymongo: instrumentar clientes do MongoDB.
- 
    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
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).
exemplo 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.
exemplo 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.
Aliases de bibliotecas
- 
    httplib:httplibehttp.client
- 
    mysql–mysql-connector-python
Rastrear contexto para trabalhos assíncronos
Para bibliotecas integradas asyncio ou para criar subsegmentos para funções assíncronas, 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.
exemplo 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)