@echo off
set AWS_ACCESS_KEY_ID=la_tua_access_key
set AWS_SECRET_ACCESS_KEY=la_tua_secret_key
set AWS_S3_ENDPOINT=s3.gra.io.cloud.ovh.net
start "" "C:\Program Files\QGIS 3.36.0\bin\qgis.bat"
Altra osservazione:
Se salvo il progetto dove funziona il caricamento della tiff e rilanciassi QGIS con lo stesso script bat, il file di progetto qgs non funziona più, ovvero non trova più la sorgente dati.
Ciao Salvatore,
non ho mai usato risorse cloud S3.
Mi pare che sia possibile aggiungere risorse da cloud S3 in vari modi: per esempio tramite il Browser, creando una connessione “Cloud” e tramite il Data Source Manager, impostando come tipo sorgente il protocollo “https, cloud, etc.”. In entrambi i casi è possibile impostare le opzioni di configurazione.
A quanto ho potuto leggere in alcuni report, dovrebbe funzionare anche impostando le opzioni di configurazione tramite variabili d’ambiente direttamente in QGIS.
Ma nel tuo caso sembrerebbe non funzionare.
Nel tuo messaggio comunque vedo che ci sono delle incongruenze: lo script lancia QGIS 3.36.0, ma la versione di QGIS indicata è 3.40.5. Sei sicuro di impostare le variabili d’ambiente per l’utente / versione di QGIS corrette? Hai verificato se il problema si presenta anche usando QGIS 3.40.9 con GDAL/OGR 3.11.3?
Dopo che hai impostato le variabili d’ambiente in QGIS e riavviato QGIS, le seguenti istruzioni eseguite nella console Python restituisco i valori delle opzioni di configurazione?
from osgeo import gdal
print(os.environ["AWS_ACCESS_KEY_ID"])
print(os.environ["AWS_SECRET_ACCESS_KEY"])
print(os.environ["AWS_S3_ENDPOINT"])
print(gdal.GetConfigOption('AWS_ACCESS_KEY_ID'))
print(gdal.GetConfigOption('AWS_SECRET_ACCESS_KEY'))
print(gdal.GetConfigOption('AWS_S3_ENDPOINT'))
è solo un errore di copia e incolla, in realtà lancio:
set AWS_ACCESS_KEY_ID=la_tua_access_key
set AWS_SECRET_ACCESS_KEY=la_tua_secret_key
set AWS_S3_ENDPOINT=s3.gra.io.cloud.ovh.net
"C:\OSGeo4W\bin\qgis-ltr-bin.exe"
Chiaramente non poteva funzionare se le variabili non avevano il nome corretto.
Ora che hai sistemato il nome delle variabili, dovresti verificare che il loro valore sia corretto e uguale a quello che utilizzi nello file bat (visto che era errato il nome della variabile, c’è la possibilità che sia errato uno o più valori).
Il colore non c’entra: dipende dal fatto che nella console di Python i numeri e le stringhe che iniziano con un numero vengono visualizzate di colore rosso.
Purtroppo non posso esserti di ulteriore aiuto perché non ho la possibilità di provare a connettermi al server S3.
verificato, tutto corretto.
Ma non riesco a trovare nessun modo per farlo funzionare aggiungendo le variabili di ambiente in QGIS, funziona solo se avvio QGIS tramite lo script bat.
Rimane il mistero sul perché impostando AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY e AWS_S3_ENDPOINT nel file bat funziona, mentre impostandole in QGIS non funziona e bisogna aggiungere anche AWS_REGION affinché funzioni.
Ciao @andyborruso,
anche tu hai verificato che, se impostate nel file .bat, sono sufficienti solo le 3 variabili AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY e AWS_S3_ENDPOINT per far funzionare la connessione, mentre, se impostate in QGIS, è necessario aggiungere anche la variabile AWS_REGION per far funzionare la connessione?
Queste variabili consentono di configurare Cloud AWS S3 in sola lettura, sarebbe utile poter usarlo al contrario, ovvero in scrittura, poter caricare con un semplice dragAndDrop i dati nel Cloud.
Ho fatto del ricerche on line ma credo non sia possibile farlo, soprattutto per questione di sicurezza.
saluti
È un peccato però che Cloud AWS S3 legga solo alcuni file, per esempio non legge i file di stile qml, rendendo meno utile l’uso di queste connessioni.