

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.

# Traitez les données dans un compartiment Amazon S3 avec Distributed Map
<a name="sample-dist-map-s3data-process"></a>

Cet exemple de projet montre comment utiliser l'[*état de la carte distribuée*](state-map-distributed.md) pour traiter des données à grande échelle, par exemple, analyser les données météorologiques historiques et identifier la station météo qui affiche la température moyenne la plus élevée de la planète chaque mois. Les données météorologiques sont enregistrées dans plus de 12 000 fichiers CSV, eux-mêmes stockés dans un compartiment Amazon S3.

Cet exemple de projet inclut deux *états de cartes distribuées* **nommés Distributed S3 copy NOA Data** and **Process NOAAData**. **Copie S3 distribuée NOA Data** itère sur les fichiers CSV d'un compartiment public Amazon S3 nommé **noaa-gsod-pds**et les copie dans un compartiment Amazon S3 de votre. Compte AWS Le **processus NOAAData** itère sur les fichiers copiés et inclut une fonction Lambda qui effectue l'analyse de température.

L'exemple de projet vérifie d'abord le contenu du compartiment Amazon S3 en appelant l'action d'API [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html). Sur la base du nombre de [clés](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html#AmazonS3-ListObjectsV2-response-MaxKeys) renvoyées en réponse à cet appel, l'exemple de projet prend l'une des décisions suivantes : 
+ Si le nombre de clés est supérieur ou égal à 1, le projet passe à l'NOAADataétat **Processus**. Cet *état de carte distribuée* inclut une Lambda fonction nommée **TemperatureFunction**qui recherche la station météo ayant enregistré la température moyenne la plus élevée chaque mois. Cette fonction renvoie un dictionnaire avec `year-month` comme clé et un dictionnaire contenant des informations sur la station météo comme valeur.
+ Si le nombre de clés renvoyées ne dépasse pas 1, l'état des **données NOA de copie S3 distribuée** répertorie tous les objets du compartiment public **noaa-gsod-pds**et copie de manière itérative les objets individuels dans un autre compartiment de votre compte par lots de 100. Une [carte intégrée effectue la](state-map-inline.md) copie itérative des objets.

  Une fois tous les objets copiés, le projet passe à l'NOAADataétat **Processus** pour le traitement des données météorologiques.

L'exemple de projet passe enfin à une Lambda fonction réductrice qui effectue une agrégation finale des résultats renvoyés par la **TemperatureFunction**fonction et écrit les résultats dans un Amazon DynamoDB tableau.

Avec Distributed Map, vous pouvez exécuter jusqu'à 10 000 exécutions parallèles de flux de travail enfants à la fois. Dans cet exemple de projet, la simultanéité maximale de **Process NOAAData** Distributed Map est fixée à 3 000, ce qui la limite à 3 000 exécutions parallèles de flux de travail enfants.

Cet exemple de projet crée la machine d'état, les AWS ressources de support et configure les autorisations IAM associées. Explorez cet exemple de projet pour en savoir plus sur l'utilisation de la carte distribuée pour orchestrer des charges de travail parallèles à grande échelle, ou utilisez-la comme point de départ pour vos propres projets.

**Important**  
Cet exemple de projet n'est disponible que dans la région de l'est des États-Unis (Virginie du Nord).

## Étape 1 : Création de la machine à états
<a name="sample-dist-map-s3data-create"></a>

1. Ouvrez la [console Step Functions](https://console.aws.amazon.com/states/home?region=us-east-1#/) et choisissez **Create state machine**.

1. Choisissez **Créer à partir d'un modèle** et recherchez le modèle de démarrage correspondant. Choisissez **Next (Suivant)** pour continuer.

1. Choisissez le mode d'utilisation du modèle :

   1. **Exécuter une démonstration** : crée une machine d'état en lecture seule. Après révision, vous pouvez créer le flux de travail et toutes les ressources associées.

   1. **Développez-le** : fournit une définition de flux de travail modifiable que vous pouvez revoir, personnaliser et déployer avec vos propres ressources. (Les ressources associées, telles que les fonctions ou les files d'attente, **ne seront pas** créées automatiquement.)

1. Choisissez **Utiliser le modèle** pour poursuivre votre sélection.
**Note**  
*Les frais standard s'appliquent aux services déployés sur votre compte.*

## Étape 2 : Exécuter la machine à états de démonstration
<a name="sample-dist-map-s3data-run"></a>

Si vous avez choisi l'option **Exécuter une démonstration**, toutes les ressources associées seront déployées et prêtes à être exécutées. Si vous avez choisi l'option **Construire dessus**, vous devrez peut-être définir des valeurs d'espace réservé et créer des ressources supplémentaires avant de pouvoir exécuter votre flux de travail personnalisé.

1. Choisissez **Déployer et exécuter**.

1. Attendez que la CloudFormation pile soit déployée. Cela peut prendre jusqu'à 10 minutes.

1. Une fois que l'option **Démarrer l'exécution** apparaît, passez en revue l'**entrée** et choisissez **Démarrer l'exécution**.

**Félicitations \$1**  
Vous devriez maintenant avoir une démo en cours d'exécution de votre machine d'état. Vous pouvez choisir des états dans la **vue graphique pour consulter** les entrées, les sorties, les variables, les définitions et les événements.