Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida include le procedure consigliate per le soluzioni create usando la versione più recente di Python SDK per Azure Cosmos DB per NoSQL. Le procedure consigliate incluse qui consentono di migliorare la latenza, migliorare la disponibilità e migliorare le prestazioni complessive per le soluzioni.
Configurazione dell'account
Parametri di configurazione dell'account
| Parametro | Predefinito o vincolo | Quando utilizzare |
|---|---|---|
| Coubicazione dell'area | Uguale all'area dell'app | Ridurre la latenza |
| Replica in più aree | Disattivato per impostazione predefinita | Abilitare 2+ regioni per la disponibilità |
| Failover gestito dal servizio | Opzionale | Abilitare per i carichi di lavoro di produzione |
from azure.cosmos import CosmosClient
client = CosmosClient(url, credential)
print(client.client_connection._global_endpoint_manager.write_endpoint)
# Expected: write endpoint resolves to configured write region
Per altre informazioni su come aggiungere più aree usando Python SDK, vedere l'esercitazione sulla distribuzione globale.
Uso dell'SDK
Parametri di utilizzo dell'SDK
| Parametro | Vincolo o predefinito | Quando utilizzare |
|---|---|---|
| Versione dell'SDK | Ultima versione disponibile | Sempre per ottenere prestazioni ottimali |
| Istanza di CosmosClient | Uno per app | Riutilizzare per tutta la durata dell'app |
| ubicazioni_preferite | None | Ottimizzare le letture e il failover |
client = CosmosClient(
url,
credential,
preferred_locations=["East US", "West US"]
)
print(client.client_connection._preferred_locations)
# Expected: ['East US', 'West US']
Un errore temporaneo è un errore che ha una causa sottostante che si risolve presto da sola. Le applicazioni che si connettono al database devono essere sviluppate in modo da prevedere tali errori temporanei. Per gestirli, implementare la logica di ripetizione dei tentativi nel codice invece di mostrarli agli utenti come errori dell'applicazione. L'SDK ha una logica predefinita per gestire questi errori temporanei nelle richieste ripetibili, come le operazioni di lettura o query. L'SDK non può riprovare a scrivere per errori temporanei perché le scritture non sono idempotenti. L'SDK consente agli utenti di configurare la logica di ripetizione dei tentativi per le limitazioni. Per informazioni dettagliate sugli errori da riprovare, vedere indicazioni sulle applicazioni resilienti.
Usare la registrazione dell'SDK per acquisire informazioni di diagnostica e risolvere i problemi di latenza.
Progettazione dei dati
Parametri di progettazione dei dati
| Parametro | Predefinito o vincolo | Quando utilizzare |
|---|---|---|
| Dimensioni del documento | N/A | Mantenere piccole dimensioni per ridurre i costi delle UR |
| Caratteri di identificazione | Nessun carattere speciale | Evitare comportamenti imprevisti |
| Percorsi di indicizzazione | Tutti i percorsi indicizzati | Escludere percorsi inutilizzati per scritture più veloci |
container_properties = {
"id": "items",
"indexingPolicy": {
"excludedPaths": [{"path": "/*"}]
}
}
print(container_properties["indexingPolicy"])
# Expected: excludedPaths configured
Per altre informazioni, vedere Creazione di indici con l'esempio SDK.
Caratteristiche dell'host
Parametri delle caratteristiche dell'host
| Parametro | Predefinito o vincolo | Quando utilizzare |
|---|---|---|
| utilizzo della CPU | <70% consigliato | Aumentare o ridurre le risorse se la domanda è elevata |
| Rete accelerata | Disabled | Abilitare sulle macchine virtuali per un traffico elevato |
| Dimensione della pagina di query | 100 elementi / 4 MB | Aumentare per ridurre i round trip |
items = container.query_items(
query="SELECT * FROM c",
max_item_count=500
)
print("Page size set to 500")
# Expected: fewer round trips
Passaggi successivi
Per altre informazioni sui suggerimenti sulle prestazioni per Python SDK, vedere Suggerimenti sulle prestazioni per Azure Cosmos DB Python SDK.
Per altre informazioni sulla progettazione dell'applicazione per scalabilità e prestazioni elevate, vedere l'articolo relativo a partizionamento e ridimensionamento in Azure Cosmos DB.
Si sta tentando di pianificare la capacità per una migrazione ad Azure Cosmos DB? È possibile usare le informazioni del cluster di database esistente per la pianificazione della capacità.
- Se si conoscono solo il numero di vCore e i server nel cluster di database esistente, leggere le informazioni sulla stima delle unità richieste con vCore o vCPU
- Se si conosce la frequenza delle richieste tipiche per il carico di lavoro corrente del database, leggere le informazioni sulla stima delle unità richieste con lo strumento di pianificazione della capacità di Azure Cosmos DB