CLI di Trino
Importante
Azure HDInsight su AKS (Azure Kubernetes Service) è stato ritirato il 31 gennaio 2025. Scopri di più con questo annuncio.
È necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare la chiusura brusca dei carichi di lavoro.
Importante
Questa funzionalità è attualmente in anteprima. Le condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure in versione beta, in anteprima o altrimenti non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere informazioni sull'anteprima di Azure HDInsight su AKS. Per domande o suggerimenti sulle funzionalità, inviare una richiesta su AskHDInsight con i dettagli e seguirci per altri aggiornamenti su Community di Azure HDInsight.
L'interfaccia della riga di comando di Trino per HDInsight su AKS offre una shell interattiva basata su terminale per eseguire query.
Installare in Windows
Per Windows, l'interfaccia della riga di comando di Trino per HDInsight su AKS è installata tramite un file MSI, che consente di accedere all'interfaccia della riga di comando tramite il Prompt dei comandi di Windows (CMD) o PowerShell. Quando si installa per sottosistema Windows per Linux (WSL), vedere Installare in Linux.
Requisiti
Aggiungere java.exe a PATH o definire JAVA_HOME variabile di ambiente che punta alla directory di installazione di JRE, in modo che
%JAVA_HOME%\bin\java.exe
esista.
Installare o aggiornare
Il pacchetto MSI viene usato per installare o aggiornare l'interfaccia della riga di comando di Trino per HDInsight su AKS su Windows.
Scaricare e installare la versione più recente dell'interfaccia della riga di comando di Trino. Quando il programma di installazione chiede se può apportare modifiche al computer, fare clic sulla casella "Sì". Al termine dell'installazione, è necessario chiudere e riaprire tutti i prompt dei comandi di Windows o le finestre di PowerShell attivi per usare l'interfaccia della riga di comando di Trino.
Scarica l'interfaccia della riga di comando di Trino: https://aka.ms/InstallTrinoCLIWindows
Eseguire la CLI di Trino
È ora possibile eseguire l'interfaccia della riga di comando di Trino usando "trino-cli" nel prompt dei comandi e connettersi al cluster:
trino-cli --server <cluster_endpoint>
Nota
Se si esegue in un sistema operativo senza interfaccia grafica, privo di browser Web, la CLI di Trino richiederà di usare il codice del dispositivo per l'autenticazione. È anche possibile specificare il parametro della riga di comando --auth AzureDeviceCode
per forzare l'uso del codice del dispositivo. In questo caso, è necessario aprire un browser in un altro dispositivo/sistema operativo, immettere il codice visualizzato e autenticarsi e quindi tornare all'interfaccia della riga di comando.
Risoluzione dei problemi
Ecco alcuni problemi comuni riscontrati durante l'installazione dell'interfaccia della riga di comando di Trino in Windows.
Proxy blocca la connessione
Se non è possibile scaricare il programma di installazione msi perché il proxy blocca la connessione, assicurarsi di avere configurato correttamente il proxy. Per Windows 10, queste impostazioni vengono gestite nel riquadro Impostazioni > Rete & Internet > Proxy. Contattare l'amministratore di sistema per le impostazioni necessarie o per le situazioni in cui il computer può essere gestito dalla configurazione o richiedere l'installazione avanzata.
Per ottenere il MSI, il proxy deve consentire le connessioni HTTPS agli indirizzi seguenti:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Disinstallare
È possibile disinstallare l'interfaccia della riga di comando di Trino dall'elenco "App e funzionalità" di Windows. Per disinstallare:
Piattaforma | Disposizioni |
---|---|
Windows 10 | Avvia > Impostazioni > App |
Windows 8 e Windows 7 | Avviare > Pannello di controllo > Programmi > Disinstallare un programma |
Una volta visualizzata questa schermata, digitare Trino nella barra di ricerca del programma. Il programma da disinstallare è "HDInsight Trino CLI <versione>". Selezionare questa applicazione, quindi fare clic sul pulsante Disinstalla.
Installare in Linux
L'interfaccia della riga di comando di Trino offre una shell interattiva basata su terminale per l'esecuzione di query. È possibile installare manualmente l'interfaccia della riga di comando di Trino in Linux selezionando l'opzione Installa script.
Requisiti
Aggiungere java a PATH o definire JAVA_HOME variabile di ambiente che punta alla directory di installazione JRE, in modo che $JAVA_HOME/bin/java esista.
Installare o aggiornare
Sia l'installazione che l'aggiornamento dell'interfaccia della riga di comando richiedono la ripetizione dello script di installazione. Installare il CLI eseguendo il comando curl.
curl -L https://aka.ms/InstallTrinoCli | bash
Lo script può anche essere scaricato ed eseguito in locale. Potrebbe essere necessario riavviare la shell per rendere effettive le modifiche.
Eseguire la CLI di Trino
È ora possibile eseguire l'interfaccia della riga di comando di Trino con il comando "trino-cli" dalla shell e connettersi al cluster:
trino-cli --server <cluster_endpoint>
Nota
Se si esegue su un sistema operativo headless (nessun Web browser), Trino CLI suggerirà di utilizzare un codice dispositivo per l'autenticazione. È anche possibile specificare il parametro della riga di comando --auth AzureDeviceCode
per forzare l'uso del codice del dispositivo. In questo caso è necessario aprire un browser in un altro dispositivo/sistema operativo, immettere il codice visualizzato e autenticarsi e quindi tornare all'interfaccia della riga di comando.
Risoluzione dei problemi
Ecco alcuni problemi comuni riscontrati durante un'installazione manuale.
errore curl "Object Moved"
Se viene visualizzato un errore da curl correlato al parametro -L o un messaggio di errore che include il testo "Object Moved", tenta di usare l'URL completo anziché il reindirizzamento aka.ms:
curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash
comando trino-cli non trovato
hash -r
Il problema può verificarsi anche se la shell non è stata riavviata dopo l'installazione. Assicurarsi che la posizione del comando trino-cli ($HOME/bin) sia presente nel $PATH.
Proxy blocca la connessione
Per ottenere gli script di installazione, il proxy deve consentire le connessioni HTTPS agli indirizzi seguenti:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Disinstallare
Per rimuovere tutti i file trino-cli eseguire:
rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli
Autenticazione
L'interfaccia della riga di comando di Trino supporta vari metodi di autenticazione di Microsoft Entra usando i parametri della riga di comando. Nella tabella seguente vengono descritti i parametri e i metodi di autenticazione importanti. Per altre informazioni, vedere Authentication.
Descrizione dei parametri disponibile anche nell'interfaccia della riga di comando:
trino-cli --help
Parametro | Significato | Obbligatorio | Descrizione |
---|---|---|---|
Autenticazione | Nome del metodo di autenticazione | No | Determina il modo in cui vengono fornite le credenziali utente. Se non specificato, usa AzureDefault . |
cliente di Azure | ID Cliente | Sì per AzureClientSecret, AzureClientCertificate . |
ID cliente dell'entità principale del servizio/applicazione. |
azure-tenant | ID del locatario | Sì per AzureClientSecret, AzureClientCertificate . |
ID tenant di Microsoft Entra. |
azure-certificato-percorso | Percorso del file del certificato | Sì per AzureClientCertificate . |
Percorso del file pfx/pem con certificato. |
cache-uso-token-azure | Usare o meno la cache dei token | No | Se specificato, il token di accesso viene memorizzato nella cache e riutilizzato nelle modalità AzureDefault, AzureInteractive, AzureDeviceCode . |
azure-scope | Ambito del token | No | Stringa di ambito di Microsoft Entra con cui richiedere un token. |
usa-codice-dispositivo | Usare o meno il metodo di codice del dispositivo | No | Equivalente a --auth AzureDeviceCode . |
parola d’ordine | Segreto del client per il principale del servizio | Sì per AzureClientSecret . |
Segreto/password per il principale del servizio quando si utilizza la modalità AzureClientSecret . |
token di accesso | Token di accesso JWT | No | Se il token di accesso ottenuto esternamente, può essere fornito usando questo parametro. In questo caso, auth parametro non è consentito. |
Esempi
Descrizione | Comando CLI |
---|---|
AzureDefault | trino-cli --server cluster1.pool1.region.projecthilo.net |
Autenticazione interattiva del browser | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive |
Usare la cache dei token | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache |
Principale di servizio con chiave segreta | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureClientSecret --azure-client 11111111-1111-1111-1111-111111111111 --azure-tenant 11111111-1111-1111-1111-111111111111 --password |
Entità servizio e certificato protetto (viene richiesta la password) | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureClientCertificate --azure-client 11111111-1111-1111-1111-111111111111 --azure-certificate-path d:\tmp\cert.pfx --azure-tenant 11111111-1111-1111-1111-111111111111 --password |
Risoluzione dei problemi
MissingAccessToken o InvalidAccessToken
L'interfaccia della riga di comando mostra uno degli errori:
Error running command: Authentication failed: {
"code": "MissingAccessToken",
"message": "Unable to find the token or get the required claims from it."
}
Error running command: Error starting query at https://<cluster-endpoint>/v1/statement returned an invalid response: JsonResponse{statusCode=500, statusMessage=, headers={content-type=[application/json; charset=utf-8], date=[Fri, 16 Jun 2023 18:25:23 GMT], strict-transport-security=[max-age=15724800; includeSubDomains]}, hasValue=false} [Error: {
"code": "InvalidAccessToken",
"message": "Unable to find the token or get the required claims from it"
}]
Per risolvere il problema, provare i passaggi seguenti:
- Esci dal CLI di Trino.
- Eseguire
az logout
- Eseguire
az login -t <your-trino-cluster-tenantId>
- Ora questo comando dovrebbe funzionare:
trino-cli --server <cluster-endpoint>
- In alternativa, specificare i parametri auth/tenant:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>
403 Vietato
CLI mostra errore:
Error running command: Error starting query at https://<cluster-endpoint>/v1/statement returned an invalid response: JsonResponse{statusCode=403, statusMessage=, headers={content-length=[146], content-type=[text/html], date=[Wed, 25 May 2023 16:49:24 GMT], strict-transport-security=[max-age=15724800; includeSubDomains]}, hasValue=false} [Error: <html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
]
Per risolvere il problema, aggiungere un utente o un gruppo al profilo di autorizzazione .