

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pustaka patching ke instrumen panggilan hilir
<a name="xray-sdk-python-patching"></a>

**catatan**  
Pemberitahuan SDK/Daemon Pemeliharaan X-Ray - Pada 25 Februari 2026, AWS SDKs/Daemon X-Ray akan memasuki mode pemeliharaan, di mana AWS akan membatasi rilis X-Ray SDK dan Daemon untuk mengatasi masalah keamanan saja. Untuk informasi selengkapnya tentang garis waktu dukungan, lihat[Garis waktu Dukungan X-Ray SDK dan Daemon](xray-sdk-daemon-timeline.md). Kami merekomendasikan untuk bermigrasi ke OpenTelemetry. Untuk informasi lebih lanjut tentang migrasi ke OpenTelemetry, lihat [Migrasi dari instrumentasi X-Ray ke instrumentasi](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Untuk instrumen panggilan hilir, gunakan X-Ray SDK for Python untuk patch pustaka yang menggunakan aplikasi Anda. X-Ray SDK for Python dapat patch pustaka berikut.

**Pustaka yang didukung**
+ `[botocore](https://pypi.python.org/pypi/botocore)`, `[boto3](https://pypi.python.org/pypi/boto3)` — AWS SDK for Python (Boto) Klien instrumen.
+ `[pynamodb](https://pypi.python.org/pypi/pynamodb/)` – Versi PynamoDB Instrumen dari klien Amazon DynamoDB.
+ `[aiobotocore](https://pypi.python.org/pypi/aiobotocore)`, `[aioboto3](https://pypi.python.org/pypi/aioboto3)` – Instrumen [asyncio](https://docs.python.org/3/library/asyncio.html)-versi terintegrasi dari klien SDK for Python.
+ `[requests](https://pypi.python.org/pypi/requests)`, `[aiohttp](https://pypi.python.org/pypi/aiohttp)` – Instrumen klien HTTP tingkat tinggi.
+ `[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) – Instrumen klien HTTP tingkat rendah dan pustaka tingkat yang lebih tinggi yang menggunakannya.
+ `[sqlite3](https://docs.python.org/3/library/sqlite3.html)`— SQLite Klien instrumen.
+ `[mysql-connector-python](https://pypi.python.org/pypi/mysql-connector-python)` – Instrumen klien MySQL.
+ `[pg8000](https://pypi.org/project/pg8000/)` – Instrumen antarmuka Pure-Python PostgreSQL.
+ `[psycopg2](https://pypi.org/project/psycopg2/)` – Adaptor basis data Instrumen PostgreSQL.
+ `[pymongo](https://pypi.org/project/pymongo/)` – Instrumen klien MongoDB.
+ `[pymysql](https://pypi.org/project/PyMySQL/)`— Instrumen klien berbasis PyMy SQL untuk MySQL dan MariaDB.

Ketika Anda menggunakan pustaka yang dipatch, X-Ray SDK for Python membuat subsegmen untuk panggilan dan catatan informasi dari permintaan dan respons. Segmen harus tersedia untuk SDK untuk membuat subsegmen, baik dari SDK middleware atau dari AWS Lambda.

**catatan**  
Jika Anda menggunakan SQLAlchemy ORM, Anda dapat menginstrumentasikan kueri SQL Anda dengan mengimpor versi sesi dan kelas kueri SDK. SQLAlchemy Lihat [Gunakan SQLAlchemy ORM](https://github.com/aws/aws-xray-sdk-python/blob/master/README.md#use-sqlalchemy-orm) untuk instruksi.

Untuk patch semua pustaka yang tersedia, gunakan fungsi `patch_all` di `aws_xray_sdk.core`. Beberapa pustaka, seperti `httplib` dan `urllib`, mungkin perlu mengaktifkan patch ganda dengan memanggil `patch_all(double_patch=True)`.

**Example main.py - Patch semua pustaka yang didukung**  

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

Untuk patch sebuah pustaka tunggal, hubungi `patch` dengan tupel dari nama pustaka. Untuk mencapai hal ini, Anda perlu menyediakan daftar elemen tunggal.

**Example main.py - Patch pustaka tertentu**  

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

**catatan**  
Dalam beberapa kasus, kunci yang Anda gunakan untuk patch pustaka tidak cocok dengan nama pustaka. Beberapa kunci berfungsi sebagai alias untuk satu atau lebih pustaka.  
`httplib`— `[httplib](https://docs.python.org/2/library/httplib.html)` dan [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)`

## Menelusuri konteks untuk pekerjaan asynchronous
<a name="xray-sdk-python-patching-async"></a>

Untuk pustaka terintegrasi `asyncio`, atau untuk [membuat subsegment bagi fungsi asynchronous](xray-sdk-python-subsegments.md), Anda juga harus mengonfigurasi X-Ray SDK for Python dengan konteks async. Mengimpor kelas `AsyncContext` dan lulus instans nya untuk pencatat X-Ray.

**catatan**  
Pustaka dukungan kerangka kerja web, seperti AIOHTTP, tidak ditangani melalui modul `aws_xray_sdk.core.patcher`. Mereka tidak akan muncul dalam katalog `patcher` dari pustaka yang didukung.

**Example main.py – Patch 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)
```