Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Interrogazione dei dati sul posto con Amazon S3 Select
Importante
Amazon S3 Select non è più disponibile per i nuovi clienti. I clienti esistenti di Amazon S3 Select possono continuare a utilizzare la funzionalità come di consueto. Ulteriori informazioni
Con Amazon S3 Select, puoi utilizzare istruzioni Structured Query Language (SQL) per filtrare il contenuto di un oggetto Amazon S3 e recuperare solo il sottoinsieme di dati di cui hai bisogno. Utilizzando Amazon S3 Select per filtrare questi dati, è possibile ridurre la quantità di dati trasferiti da Amazon S3, riducendo il costo e la latenza di recupero dei dati.
Amazon S3 Select consente di eseguire query su un solo oggetto alla volta. Funziona su un oggetto memorizzato in CSVJSON, o Apache Parquet . Funziona anche con un oggetto compresso con GZIP or BZIP2 (solo per JSON oggetti CSV e) e un oggetto crittografato sul lato server. È possibile specificare il formato dei risultati in uno dei due CSV modi o JSON determinare la modalità di delimitazione dei record nel risultato.
Nella richiesta si passano SQL espressioni ad Amazon S3. Amazon S3 Select supporta un sottoinsieme di. SQL Per ulteriori informazioni sugli SQL elementi supportati da Amazon S3 Select, consulta. SQLriferimento per Amazon S3 Select
È possibile eseguire SQL query utilizzando la console Amazon S3, AWS Command Line Interface il AWS CLI(), l'operazione o SelectObjectContent
REST API il. AWS SDKs
Nota
La console di Amazon S3 limita la quantità di dati restituiti a 40 MB. Per recuperare più dati, usa o il AWS CLI . API
Requisiti e limiti
Di seguito vengono riportati i requisiti per l'utilizzo di Amazon S3 Select:
-
Devi disporre delle autorizzazioni
s3:GetObject
per l'oggetto su esegui la query. -
Se l'oggetto da interrogare è crittografato con crittografia lato server con chiavi fornite dal cliente (SSE-C), è necessario utilizzare
https
e fornire la chiave di crittografia nella richiesta.
Per l'utilizzo di Amazon S3 Select si applicano i seguenti limiti:
-
S3 Select può interrogare solo un oggetto per richiesta.
-
La lunghezza massima di un'SQLespressione è 256 KB.
-
La lunghezza massima di un record nell'input o nel risultato è di 1 MB.
-
Amazon S3 Select può emettere dati annidati solo utilizzando il formato di output. JSON
-
Non è possibile interrogare un oggetto archiviato nelle classi di storage S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive o Reduced Redundancy Storage (). RRS Inoltre, non è possibile interrogare un oggetto archiviato nel livello S3 Intelligent-Tiering Archive Access o nel livello S3 Intelligent-Tiering Deep Archive Access. Per ulteriori informazioni sulle classi di storage, consulta Comprensione e gestione delle classi di storage Amazon S3.
Si applicano limitazioni aggiuntive quando si utilizza Amazon S3 Select con un Parquet oggetto:
-
Amazon S3 Select supporta solo la compressione colonnare utilizzando o GZIP Snappy. Amazon S3 Select non supporta la compressione di oggetti interi per Parquet oggetto.
-
Amazon S3 Select non supporta Parquet uscita. È necessario specificare il formato di output come CSV oJSON.
-
La dimensione massima del gruppo di righe non compresso è 256 MB.
-
È necessario utilizzare i tipi di dati specificati nello schema dell'oggetto.
-
Se si seleziona un campo ripetuto, viene restituito solo l'ultimo valore.
Costruzione di una richiesta
Quando costruisci una richiesta, devi fornire i dettagli dell'oggetto su cui si sta eseguendo la query utilizzando un oggetto InputSerialization
. Fornisci i dettagli del modo in cui i risultati vengono restituiti utilizzando un oggetto OutputSerialization
. Includi anche l'SQLespressione utilizzata da Amazon S3 per filtrare la richiesta.
Per ulteriori informazioni sulla creazione di una richiesta Amazon S3 Select, consulta SelectObjectContentnell'Amazon Simple Storage Service API Reference. Puoi anche vedere uno degli esempi di SDK codice nelle seguenti sezioni.
Richieste che utilizzano intervalli di scansione
Amazon S3 Select consente di eseguire la scansione di un sottoinsieme di un oggetto specificando un intervallo di byte su cui eseguire la query. Ciò consente di parallelizzare la scansione dell'intero oggetto dividendo il lavoro tra due richieste Amazon S3 Select separate per una serie di intervalli di scansione senza sovrapposizione.
Gli intervalli di scansione non devono essere allineati con i limiti di record. Una richiesta Amazon S3 Select di intervallo di scansione viene eseguita nell'intervallo di byte specificato. Un record che inizia nell'intervallo di scansione specificato ma che si estende oltre verrà elaborato dalla query. Ad esempio, quanto segue mostra un oggetto Amazon S3 che contiene una serie di record in un formato delimitato da righeCSV:
A,B C,D D,E E,F G,H I,J
Viene utilizzato il parametro ScanRange
di Amazon S3 Select e Start a (Byte) 1 ed End a (Byte) 4. Pertanto, l'intervallo di scansione inizia a ",
" e la scansione verrà eseguita fino alla fine del record che inizia a C
. La richiesta dell'intervallo di scansione restituirà il risultato C, D
perché questa è la fine del record.
Supporto per le richieste di intervallo di scansione di Amazon S3 Select Parquet, CSV (senza delimitatori tra virgolette) o JSON oggetti (solo in LINES
modalità). CSVe JSON gli oggetti devono essere decompressi. Per JSON oggetti CSV e basati su linee, quando viene specificato un intervallo di scansione come parte della richiesta Amazon S3 Select, vengono elaborati tutti i record che iniziano all'interno dell'intervallo di scansione. In Parquet oggetti, vengono elaborati tutti i gruppi di righe che iniziano all'interno dell'intervallo di scansione richiesto.
Le richieste di intervallo di scansione di Amazon S3 Select possono essere utilizzate con Amazon API S3 e. AWS CLI AWS SDKs Per questa caratteristica, è possibile utilizzare il parametro ScanRange
nella richiesta Amazon S3 Select. Per ulteriori informazioni, consulta SelectObjectContentnell'Amazon Simple Storage Service API Reference.
Errori
Amazon S3 Select restituisce un codice di errore e un messaggio di errore associato quando si verifica un problema durante il tentativo di esecuzione di una query. Per un elenco di codici di errore e descrizioni, consulta la sezione Elenco dei codici di errore del contenuto degli SELECT oggetti della pagina Risposte agli errori in Amazon Simple Storage Service API Reference.
Per maggiori informazioni su Amazon S3 Select, consulta gli argomenti seguenti: