Mappe di Azure libreria client del pacchetto di georilevazione per Python - versione 1.0.0b1
Questo pacchetto contiene un SDK Python per i servizi di Mappe di Azure per la georilevazione. Altre informazioni sui servizi Mappe di Azure qui
Codice | sorgente Documentazione di | riferimento sulle API Documentazione del prodotto
Dichiarazione di non responsabilità
Il supporto dei pacchetti Python di Azure SDK per Python 2.7 è terminato 01 gennaio 2022. Per altre informazioni e domande, vedere https://github.com/Azure/azure-sdk-for-python/issues/20691
Introduzione
Prerequisiti
- Python 3.7 o versione successiva è necessario per usare questo pacchetto.
- Una sottoscrizione di Azure e un account Mappe di Azure.
- Risorsa di Maps Services distribuita. È possibile creare la risorsa tramite il portale di Azure o l'interfaccia della riga di comando di Azure.
Se si usa l'interfaccia della riga di comando di Azure, sostituire <resource-group-name>
e <account-name>
scegliere un piano tariffario appropriato in base alle esigenze tramite il <sku-name>
parametro . Per altre informazioni, vedere questa pagina .
az maps account create --resource-group <resource-group-name> --account-name <account-name> --sku <sku-name>
Installare il pacchetto
Installare Mappe di Azure Service Geolocation SDK.
pip install azure-maps-geolocation
Creare ed autenticare MapsGeolocationClient
Per creare un oggetto client per accedere all'API Mappe di Azure Geolocation, sarà necessario un oggetto credenziale. Mappe di Azure client geolocation supportano anche due modi per eseguire l'autenticazione.
1. Eseguire l'autenticazione con una credenziale della chiave di sottoscrizione
È possibile eseguire l'autenticazione con la chiave di sottoscrizione Mappe di Azure.
Dopo aver creato la chiave di sottoscrizione Mappe di Azure, impostare il valore della chiave come variabile di ambiente: AZURE_SUBSCRIPTION_KEY
.
Passare quindi come AZURE_SUBSCRIPTION_KEY
parametro in un'istanza credential
di AzureKeyCredential.
from azure.core.credentials import AzureKeyCredential
from azure.maps.geolocation import MapsGeolocationClient
credential = AzureKeyCredential(os.environ.get("AZURE_SUBSCRIPTION_KEY"))
geolocation_client = MapsGeolocationClient(
credential=credential,
)
2. Eseguire l'autenticazione con una credenziale di Azure Active Directory
È possibile eseguire l'autenticazione con le credenziali del token di Azure Active Directory (AAD) usando la libreria di identità di Azure. L'autenticazione tramite AAD richiede una configurazione iniziale:
- Installare azure-identity
- Registrare una nuova applicazione AAD
- Concedere l'accesso alle Mappe di Azure assegnando il ruolo appropriato all'entità servizio. Fare riferimento alla pagina Gestisci autenticazione.
Dopo la configurazione, è possibile scegliere il tipo di credenziale da azure.identity
usare.
Ad esempio, DefaultAzureCredential può essere usato per autenticare il client:
Impostare quindi i valori dell'ID client, dell'ID tenant e del segreto client dell'applicazione AAD come variabili di ambiente: AZURE_CLIENT_ID
, , AZURE_TENANT_ID
AZURE_CLIENT_SECRET
È anche necessario specificare la risorsa Mappe di Azure che si intende usare specificando le clientId
opzioni del client. L'ID client della risorsa Mappe di Azure è disponibile nelle sezioni Autenticazione nella risorsa Mappe di Azure. Per informazioni su come trovarlo, vedere la documentazione .
from azure.maps.geolocation import MapsGeolocationClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
geolocation_client = MapsGeolocationClient(
client_id="<Azure Maps Client ID>",
credential=credential
)
Concetti chiave
La libreria client Mappe di Azure Geolocation per Python consente di interagire con ognuno dei componenti tramite l'uso di un oggetto client dedicato.
Client di sincronizzazione
MapsGeolocationClient
è il client principale per gli sviluppatori che usano la libreria client Mappe di Azure Geolocation per Python.
Dopo aver inizializzato una MapsGeolocationClient
classe, è possibile esplorare i metodi in questo oggetto client per comprendere le diverse funzionalità del servizio Mappe di Azure Geolocation a cui è possibile accedere.
Client asincroni
Questa libreria include un'API asincrona completa supportata in Python 3.5+. Per usarlo, è prima necessario installare un trasporto asincrono, ad esempio aiohttp. Per altre informazioni, vedere la documentazione di azure-core .
I client e le credenziali asincroni devono essere chiusi quando non sono più necessari. Questi oggetti sono gestioni contesto asincrone e definiscono metodi asincroni close
.
Esempio
Le sezioni seguenti forniscono diversi frammenti di codice che coprono alcune delle attività di georilevazione più comuni Mappe di Azure, tra cui:
Ottenere la georilevazione
Questo servizio restituirà il codice paese ISO per l'indirizzo IP specificato. Gli sviluppatori possono usare queste informazioni per bloccare o modificare determinati contenuti in base alle posizioni geografiche da cui viene visualizzata l'applicazione.
from azure.maps.geolocation import MapsGeolocationClient
BLOCK_COUNTRY_LIST = ['US', 'TW', 'AF', 'AX', 'DL']
INCOME_IP_ADDRESS = "2001:4898:80e8:b::189"
geolocation_result = client.get_country_code(ip_address=INCOME_IP_ADDRESS)
result_country_code = geolocation_result.iso_code
if result_country_code in BLOCK_COUNTRY_LIST:
raise Exception("These IP address is from forebiden country")
Risoluzione dei problemi
Generale
I client di Mapping Geolocation generano eccezioni definite in Azure Core.
Questo elenco può essere usato per riferimento per rilevare le eccezioni generate. Per ottenere il codice di errore specifico dell'eccezione, usare l'attributo error_code
, ad esempio exception.error_code
.
Registrazione
Questa libreria usa la libreria di registrazione standard per la registrazione. Le informazioni di base sulle sessioni HTTP (URL, intestazioni e così via) vengono registrate a livello di INFO.
La registrazione dettagliata del livello DEBUG, inclusi i corpi di richiesta/risposta e le intestazioni non attendibili, può essere abilitata in un client con l'argomento logging_enable
:
import sys
import logging
from azure.maps.geolocation import MapsGeolocationClient
# Create a logger for the 'azure.maps.geolocation' SDK
logger = logging.getLogger('azure.maps.geolocation')
logger.setLevel(logging.DEBUG)
# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)
Altro
Problemi ancora in corso? Se si verificano bug o suggerimenti, segnalare un problema nella sezione Problemi del progetto.
Passaggi successivi
Altro codice di esempio
Introduzione agli esempi di Geolocation di Mappe (esempi di versione asincrona).
Sono disponibili diversi esempi di Python SDK di Geolocation Mappe di Azure nel repository GitHub dell'SDK. Questi esempi forniscono codice di esempio per scenari aggiuntivi comunemente rilevati durante l'uso di Mappe Geolocation
set AZURE_SUBSCRIPTION_KEY="<RealSubscriptionKey>"
pip install azure-maps-geolocation --pre
python samples/sample_authentication.py
python sample/sample_get_country_code.py
Note:
--pre
il flag può essere aggiunto facoltativamente, è includere versioni non definitive e di sviluppo perpip install
. Per impostazione predefinita,pip
trova solo versioni stabili.
Ulteriori dettagli sono disponibili nell'introduzione agli esempi
Documentazione aggiuntiva
Per una documentazione più completa su Mappe di Azure Geolocation, vedere la documentazione Mappe di Azure Geolocation su docs.microsoft.com.
Contributo
In questo progetto sono benvenuti i contributi e i suggerimenti. Per la maggior parte dei contenuti è necessario sottoscrivere un contratto di licenza di collaborazione (CLA, Contributor License Agreement) che stabilisce che l'utente ha il diritto di concedere, e di fatto concede a Microsoft i diritti d'uso del suo contributo. Per informazioni dettagliate, vedere https://cla.microsoft.com.
Quando si invia una richiesta pull, un bot CLA determina automaticamente se è necessario specificare un contratto CLA e completare la richiesta pull in modo appropriato (ad esempio con un'etichetta e un commento). Seguire le istruzioni specificate dal bot. È sufficiente eseguire questa operazione una sola volta per tutti i repository che usano il contratto CLA Microsoft.
Questo progetto ha adottato il Codice di comportamento di Microsoft per l'open source. Per altre informazioni, vedere Code of Conduct FAQ (Domande frequenti sul Codice di comportamento Open Source di Microsoft) oppure contattare opencode@microsoft.com per eventuali altre domande o commenti.
Azure SDK for Python