Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Exemples d’utilisation d’Amazon S3 Select au niveau d’un objet

Mode de mise au point
Exemples d’utilisation d’Amazon S3 Select au niveau d’un objet - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Important

Amazon S3 Select n’est plus disponible pour les nouveaux clients. Les clients existants d’Amazon S3 Select peuvent continuer à utiliser cette fonctionnalité comme d’habitude. En savoir plus

Vous pouvez utiliser S3 Select pour sélectionner le contenu d'un objet à l'aide de la console Amazon S3, de l'API REST et du AWS SDKs.

Pour plus d’informations sur les fonctions SQL prises en charge pour S3 Select, consultez Fonctions SQL.

Pour sélectionner du contenu à partir d’un objet dans la console Amazon S3
  1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le panneau de navigation de gauche, choisissez Compartiments.

  3. Choisissez le compartiment qui contient l’objet dont vous souhaitez sélectionner le contenu, puis choisissez le nom de l’objet.

  4. Choisissez Actions d’objet, puis Requête avec S3 Select.

  5. Configurez Paramètres d’entrée en fonction du format de vos données d’entrée.

  6. Configurez Paramètres de sortie en fonction du format de sortie que vous souhaitez recevoir.

  7. Pour extraire des enregistrements de l'objet choisi, sous Requête SQL, entrez SELECT SQL commandes. Pour plus d’informations sur la procédure d’écriture de commandes SQL, consultez Référence SQL pour Amazon S3 Select.

  8. Après avoir saisi des requêtes SQL, choisissez Exécuter la requête SQL. Ensuite, sous Résultats de la requête, vous pouvez voir les résultats de vos requêtes SQL.

Pour sélectionner du contenu à partir d’un objet dans la console Amazon S3
  1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le panneau de navigation de gauche, choisissez Compartiments.

  3. Choisissez le compartiment qui contient l’objet dont vous souhaitez sélectionner le contenu, puis choisissez le nom de l’objet.

  4. Choisissez Actions d’objet, puis Requête avec S3 Select.

  5. Configurez Paramètres d’entrée en fonction du format de vos données d’entrée.

  6. Configurez Paramètres de sortie en fonction du format de sortie que vous souhaitez recevoir.

  7. Pour extraire des enregistrements de l'objet choisi, sous Requête SQL, entrez SELECT SQL commandes. Pour plus d’informations sur la procédure d’écriture de commandes SQL, consultez Référence SQL pour Amazon S3 Select.

  8. Après avoir saisi des requêtes SQL, choisissez Exécuter la requête SQL. Ensuite, sous Résultats de la requête, vous pouvez voir les résultats de vos requêtes SQL.

Vous pouvez utiliser le AWS SDKs pour sélectionner le contenu d'un objet. Toutefois, si l’application l’exige, vous pouvez envoyer directement des demandes REST. Pour plus d'informations sur le format de demande et de réponse, voir SelectObjectContent.

Vous pouvez utiliser le AWS SDKs pour sélectionner le contenu d'un objet. Toutefois, si l’application l’exige, vous pouvez envoyer directement des demandes REST. Pour plus d'informations sur le format de demande et de réponse, voir SelectObjectContent.

Vous pouvez utiliser Amazon S3 Select pour sélectionner une partie du contenu d’un objet à l’aide de la méthode selectObjectContent. Si cette méthode aboutit, elle renvoie les résultats de l’expression SQL.

Java

Le code Java suivant retourne la valeur de la première colonne de chaque enregistrement stocké dans un objet contenant les données stockées au format CSV. Il demande également que les messages Progress et Stats soient retournés. Vous devez fournir un nom de compartiment valide, ainsi qu’un objet contenant les donnes au format CSV.

Pour obtenir des instructions sur la création et le test d'un échantillon de travail, voir Getting Started dans le guide du AWS SDK pour Java développeur.

package com.amazonaws; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.CSVInput; import com.amazonaws.services.s3.model.CSVOutput; import com.amazonaws.services.s3.model.CompressionType; import com.amazonaws.services.s3.model.ExpressionType; import com.amazonaws.services.s3.model.InputSerialization; import com.amazonaws.services.s3.model.OutputSerialization; import com.amazonaws.services.s3.model.SelectObjectContentEvent; import com.amazonaws.services.s3.model.SelectObjectContentEventVisitor; import com.amazonaws.services.s3.model.SelectObjectContentRequest; import com.amazonaws.services.s3.model.SelectObjectContentResult; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.concurrent.atomic.AtomicBoolean; import static com.amazonaws.util.IOUtils.copy; /** * This example shows how to query data from S3Select and consume the response in the form of an * InputStream of records and write it to a file. */ public class RecordInputStreamExample { private static final String BUCKET_NAME = "${my-s3-bucket}"; private static final String CSV_OBJECT_KEY = "${my-csv-object-key}"; private static final String S3_SELECT_RESULTS_PATH = "${my-s3-select-results-path}"; private static final String QUERY = "select s._1 from S3Object s"; public static void main(String[] args) throws Exception { final AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient(); SelectObjectContentRequest request = generateBaseCSVRequest(BUCKET_NAME, CSV_OBJECT_KEY, QUERY); final AtomicBoolean isResultComplete = new AtomicBoolean(false); try (OutputStream fileOutputStream = new FileOutputStream(new File (S3_SELECT_RESULTS_PATH)); SelectObjectContentResult result = s3Client.selectObjectContent(request)) { InputStream resultInputStream = result.getPayload().getRecordsInputStream( new SelectObjectContentEventVisitor() { @Override public void visit(SelectObjectContentEvent.StatsEvent event) { System.out.println( "Received Stats, Bytes Scanned: " + event.getDetails().getBytesScanned() + " Bytes Processed: " + event.getDetails().getBytesProcessed()); } /* * An End Event informs that the request has finished successfully. */ @Override public void visit(SelectObjectContentEvent.EndEvent event) { isResultComplete.set(true); System.out.println("Received End Event. Result is complete."); } } ); copy(resultInputStream, fileOutputStream); } /* * The End Event indicates all matching records have been transmitted. * If the End Event is not received, the results may be incomplete. */ if (!isResultComplete.get()) { throw new Exception("S3 Select request was incomplete as End Event was not received."); } } private static SelectObjectContentRequest generateBaseCSVRequest(String bucket, String key, String query) { SelectObjectContentRequest request = new SelectObjectContentRequest(); request.setBucketName(bucket); request.setKey(key); request.setExpression(query); request.setExpressionType(ExpressionType.SQL); InputSerialization inputSerialization = new InputSerialization(); inputSerialization.setCsv(new CSVInput()); inputSerialization.setCompressionType(CompressionType.NONE); request.setInputSerialization(inputSerialization); OutputSerialization outputSerialization = new OutputSerialization(); outputSerialization.setCsv(new CSVOutput()); request.setOutputSerialization(outputSerialization); return request; } }
JavaScript

Pour un JavaScript exemple d'utilisation de l'opération AWS SDK pour JavaScript avec l'SelectObjectContentAPI S3 pour sélectionner des enregistrements à partir de fichiers JSON et CSV stockés dans Amazon S3, consultez le billet de blog Introducing support for Amazon S3 Select dans le AWS SDK pour JavaScript.

Python

Pour un exemple Python sur l’utilisation de requêtes SQL pour effectuer des recherches dans des données chargées sur Amazon S3 en tant que fichier CSV (valeur séparée par des virgules) à l’aide de S3 Select, consultez le billet de blog Interrogation de données sans serveur ou base de données à l’aide d’Amazon S3 Select.

Vous pouvez utiliser Amazon S3 Select pour sélectionner une partie du contenu d’un objet à l’aide de la méthode selectObjectContent. Si cette méthode aboutit, elle renvoie les résultats de l’expression SQL.

Java

Le code Java suivant retourne la valeur de la première colonne de chaque enregistrement stocké dans un objet contenant les données stockées au format CSV. Il demande également que les messages Progress et Stats soient retournés. Vous devez fournir un nom de compartiment valide, ainsi qu’un objet contenant les donnes au format CSV.

Pour obtenir des instructions sur la création et le test d'un échantillon de travail, voir Getting Started dans le guide du AWS SDK pour Java développeur.

package com.amazonaws; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.CSVInput; import com.amazonaws.services.s3.model.CSVOutput; import com.amazonaws.services.s3.model.CompressionType; import com.amazonaws.services.s3.model.ExpressionType; import com.amazonaws.services.s3.model.InputSerialization; import com.amazonaws.services.s3.model.OutputSerialization; import com.amazonaws.services.s3.model.SelectObjectContentEvent; import com.amazonaws.services.s3.model.SelectObjectContentEventVisitor; import com.amazonaws.services.s3.model.SelectObjectContentRequest; import com.amazonaws.services.s3.model.SelectObjectContentResult; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.concurrent.atomic.AtomicBoolean; import static com.amazonaws.util.IOUtils.copy; /** * This example shows how to query data from S3Select and consume the response in the form of an * InputStream of records and write it to a file. */ public class RecordInputStreamExample { private static final String BUCKET_NAME = "${my-s3-bucket}"; private static final String CSV_OBJECT_KEY = "${my-csv-object-key}"; private static final String S3_SELECT_RESULTS_PATH = "${my-s3-select-results-path}"; private static final String QUERY = "select s._1 from S3Object s"; public static void main(String[] args) throws Exception { final AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient(); SelectObjectContentRequest request = generateBaseCSVRequest(BUCKET_NAME, CSV_OBJECT_KEY, QUERY); final AtomicBoolean isResultComplete = new AtomicBoolean(false); try (OutputStream fileOutputStream = new FileOutputStream(new File (S3_SELECT_RESULTS_PATH)); SelectObjectContentResult result = s3Client.selectObjectContent(request)) { InputStream resultInputStream = result.getPayload().getRecordsInputStream( new SelectObjectContentEventVisitor() { @Override public void visit(SelectObjectContentEvent.StatsEvent event) { System.out.println( "Received Stats, Bytes Scanned: " + event.getDetails().getBytesScanned() + " Bytes Processed: " + event.getDetails().getBytesProcessed()); } /* * An End Event informs that the request has finished successfully. */ @Override public void visit(SelectObjectContentEvent.EndEvent event) { isResultComplete.set(true); System.out.println("Received End Event. Result is complete."); } } ); copy(resultInputStream, fileOutputStream); } /* * The End Event indicates all matching records have been transmitted. * If the End Event is not received, the results may be incomplete. */ if (!isResultComplete.get()) { throw new Exception("S3 Select request was incomplete as End Event was not received."); } } private static SelectObjectContentRequest generateBaseCSVRequest(String bucket, String key, String query) { SelectObjectContentRequest request = new SelectObjectContentRequest(); request.setBucketName(bucket); request.setKey(key); request.setExpression(query); request.setExpressionType(ExpressionType.SQL); InputSerialization inputSerialization = new InputSerialization(); inputSerialization.setCsv(new CSVInput()); inputSerialization.setCompressionType(CompressionType.NONE); request.setInputSerialization(inputSerialization); OutputSerialization outputSerialization = new OutputSerialization(); outputSerialization.setCsv(new CSVOutput()); request.setOutputSerialization(outputSerialization); return request; } }
JavaScript

Pour un JavaScript exemple d'utilisation de l'opération AWS SDK pour JavaScript avec l'SelectObjectContentAPI S3 pour sélectionner des enregistrements à partir de fichiers JSON et CSV stockés dans Amazon S3, consultez le billet de blog Introducing support for Amazon S3 Select dans le AWS SDK pour JavaScript.

Python

Pour un exemple Python sur l’utilisation de requêtes SQL pour effectuer des recherches dans des données chargées sur Amazon S3 en tant que fichier CSV (valeur séparée par des virgules) à l’aide de S3 Select, consultez le billet de blog Interrogation de données sans serveur ou base de données à l’aide d’Amazon S3 Select.

Le code Java suivant retourne la valeur de la première colonne de chaque enregistrement stocké dans un objet contenant les données stockées au format CSV. Il demande également que les messages Progress et Stats soient retournés. Vous devez fournir un nom de compartiment valide, ainsi qu’un objet contenant les donnes au format CSV.

Pour obtenir des instructions sur la création et le test d'un échantillon de travail, voir Getting Started dans le guide du AWS SDK pour Java développeur.

package com.amazonaws; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.CSVInput; import com.amazonaws.services.s3.model.CSVOutput; import com.amazonaws.services.s3.model.CompressionType; import com.amazonaws.services.s3.model.ExpressionType; import com.amazonaws.services.s3.model.InputSerialization; import com.amazonaws.services.s3.model.OutputSerialization; import com.amazonaws.services.s3.model.SelectObjectContentEvent; import com.amazonaws.services.s3.model.SelectObjectContentEventVisitor; import com.amazonaws.services.s3.model.SelectObjectContentRequest; import com.amazonaws.services.s3.model.SelectObjectContentResult; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.concurrent.atomic.AtomicBoolean; import static com.amazonaws.util.IOUtils.copy; /** * This example shows how to query data from S3Select and consume the response in the form of an * InputStream of records and write it to a file. */ public class RecordInputStreamExample { private static final String BUCKET_NAME = "${my-s3-bucket}"; private static final String CSV_OBJECT_KEY = "${my-csv-object-key}"; private static final String S3_SELECT_RESULTS_PATH = "${my-s3-select-results-path}"; private static final String QUERY = "select s._1 from S3Object s"; public static void main(String[] args) throws Exception { final AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient(); SelectObjectContentRequest request = generateBaseCSVRequest(BUCKET_NAME, CSV_OBJECT_KEY, QUERY); final AtomicBoolean isResultComplete = new AtomicBoolean(false); try (OutputStream fileOutputStream = new FileOutputStream(new File (S3_SELECT_RESULTS_PATH)); SelectObjectContentResult result = s3Client.selectObjectContent(request)) { InputStream resultInputStream = result.getPayload().getRecordsInputStream( new SelectObjectContentEventVisitor() { @Override public void visit(SelectObjectContentEvent.StatsEvent event) { System.out.println( "Received Stats, Bytes Scanned: " + event.getDetails().getBytesScanned() + " Bytes Processed: " + event.getDetails().getBytesProcessed()); } /* * An End Event informs that the request has finished successfully. */ @Override public void visit(SelectObjectContentEvent.EndEvent event) { isResultComplete.set(true); System.out.println("Received End Event. Result is complete."); } } ); copy(resultInputStream, fileOutputStream); } /* * The End Event indicates all matching records have been transmitted. * If the End Event is not received, the results may be incomplete. */ if (!isResultComplete.get()) { throw new Exception("S3 Select request was incomplete as End Event was not received."); } } private static SelectObjectContentRequest generateBaseCSVRequest(String bucket, String key, String query) { SelectObjectContentRequest request = new SelectObjectContentRequest(); request.setBucketName(bucket); request.setKey(key); request.setExpression(query); request.setExpressionType(ExpressionType.SQL); InputSerialization inputSerialization = new InputSerialization(); inputSerialization.setCsv(new CSVInput()); inputSerialization.setCompressionType(CompressionType.NONE); request.setInputSerialization(inputSerialization); OutputSerialization outputSerialization = new OutputSerialization(); outputSerialization.setCsv(new CSVOutput()); request.setOutputSerialization(outputSerialization); return request; } }

Rubrique suivante :

Référence SQL
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.