Collectez des informations sur le compartiment Amazon S3 à l'aide de AWS SDKIntégrations de service - AWS Step Functions

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.

Collectez des informations sur le compartiment Amazon S3 à l'aide de AWS SDKIntégrations de service

Ce didacticiel vous montre comment effectuer une AWS SDKintégration avec Amazon Simple Storage Service. La machine d'état que vous créez dans ce didacticiel collecte des informations sur vos compartiments Amazon S3, puis répertorie vos compartiments ainsi que les informations de version pour chaque compartiment de la région actuelle.

Étape 1 : Création de la machine à états

À l'aide de la console Step Functions, vous allez créer une machine à Task états qui inclut un état répertoriant tous les buckets Amazon S3 du compte et de la région actuels. Ensuite, vous ajouterez un autre Task état qui invoquera le HeadBucket API pour vérifier si le compartiment renvoyé est accessible dans la région actuelle. Si le compartiment n'est pas accessible, l'HeadBucketAPIappel renvoie l'S3.S3Exceptionerreur. Vous allez inclure un Catch bloc pour intercepter cette exception et un Pass état comme état de secours.

  1. Ouvrez la console Step Functions et choisissez Create state machine.

  2. Dans la boîte de dialogue Choisir un modèle, sélectionnez Vide.

  3. Choisissez Sélectionner pour ouvrir Workflow Studio dansMode de conception.

  4. Pour ce didacticiel, vous allez écrire la définition Amazon States Language (ASL) de votre machine à états dans leÉditeur de code. Pour ce faire, sélectionnez Code.

  5. Supprimez le code standard existant et collez la définition de machine à états suivante.

    { "Comment": "A description of my state machine", "StartAt": "ListBuckets", "States": { "ListBuckets": { "Type": "Task", "Parameters": {}, "Resource": "arn:aws:states:::aws-sdk:s3:listBuckets", "Next": "Map" }, "Map": { "Type": "Map", "ItemsPath": "$.Buckets", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "HeadBucket", "States": { "HeadBucket": { "Type": "Task", "ResultPath": null, "Parameters": { "Bucket.$": "$.Name" }, "Resource": "arn:aws:states:::aws-sdk:s3:headBucket", "Catch": [ { "ErrorEquals": [ "S3.S3Exception" ], "ResultPath": null, "Next": "Pass" } ], "Next": "GetBucketVersioning" }, "GetBucketVersioning": { "Type": "Task", "End": true, "Parameters": { "Bucket.$": "$.Name" }, "ResultPath": "$.BucketVersioningInfo", "Resource": "arn:aws:states:::aws-sdk:s3:getBucketVersioning" }, "Pass": { "Type": "Pass", "End": true, "Result": { "Status": "Unknown" }, "ResultPath": "$.BucketVersioningInfo" } } }, "End": true } } }
  6. Spécifiez un nom pour votre machine à états. Pour ce faire, cliquez sur l'icône d'édition à côté du nom de la machine à états par défaut de MyStateMachine. Ensuite, dans Configuration de la machine d'état, spécifiez un nom dans le champ Nom de la machine d'état.

    Pour ce didacticiel, saisissez le nom Gather-S3-Bucket-Info-Standard.

  7. (Facultatif) Dans Configuration de la machine à états, spécifiez d'autres paramètres de flux de travail, tels que le type de machine à états et son rôle d'exécution.

    Conservez toutes les sélections par défaut dans les paramètres State Machine.

    Si vous avez déjà créé un IAM rôle avec les autorisations appropriées pour votre machine d'état et que vous souhaitez l'utiliser, dans Autorisations, sélectionnez Choisir un rôle existant, puis sélectionnez un rôle dans la liste. Vous pouvez également sélectionner Entrer un rôle, ARN puis fournir un ARN pour ce IAM rôle.

  8. Dans la boîte de dialogue Confirmer la création du rôle, choisissez Confirmer pour continuer.

    Vous pouvez également choisir Afficher les paramètres des rôles pour revenir à la configuration de la machine State.

    Note

    Si vous supprimez le IAM rôle créé par Step Functions, Step Functions ne pourra pas le recréer ultérieurement. De même, si vous modifiez le rôle (par exemple, en supprimant Step Functions des principes de la IAM politique), Step Functions ne pourra pas restaurer ses paramètres d'origine ultérieurement.

    À l'étape 2, vous allez ajouter les autorisations manquantes au rôle de machine à états.

Étape 2 : ajouter les autorisations de IAM rôle nécessaires

Pour recueillir des informations sur les compartiments Amazon S3 de votre région actuelle, vous devez fournir à votre machine d'état les autorisations nécessaires pour accéder aux compartiments Amazon S3.

  1. Sur la page State Machine, choisissez IAMrole ARN pour ouvrir la page Rôles correspondant au rôle State Machine.

  2. Sélectionnez Ajouter des autorisations, puis Ajouter la politique.

  3. Choisissez l'JSONonglet, puis collez les autorisations suivantes dans l'JSONéditeur.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketVersioning" ], "Resource": "*" } ] }
  4. Choisissez Review policy (Examiner une politique).

  5. Sous Examiner une stratégie, pour le Nom de la stratégie, saisissez s3-bucket-permissions.

  6. Choisissez Créer une stratégie.

Étape 3 : Exécuter une exécution automatique à état standard

  1. Sur la page Gather-S3-Bucket-Info-Standard, choisissez Démarrer l'exécution.

  2. Dans la boîte de dialogue Démarrer l'exécution, procédez comme suit :

    1. (Facultatif) Entrez un nom d'exécution personnalisé pour remplacer le nom par défaut généré.

      ASCIINon-noms et journalisation

      Step Functions accepte les noms des machines d'état, des exécutions, des activités et des étiquettes contenant des caractères autres que des ASCII caractères. Comme ces caractères ne fonctionneront pas avec Amazon CloudWatch, nous vous recommandons de n'utiliser que des ASCII caractères afin de pouvoir suivre les statistiques CloudWatch.

    2. Choisissez Start execution (Démarrer l'exécution).

    3. La console Step Functions vous dirige vers une page intitulée avec votre ID d'exécution. Cette page est connue sous le nom de page Détails de l'exécution. Sur cette page, vous pouvez consulter les résultats de l'exécution au fur et à mesure que l'exécution progresse ou une fois celle-ci terminée.

      Pour consulter les résultats de l'exécution, choisissez des états individuels dans la vue graphique, puis choisissez les onglets individuels du Détails de l'étape volet pour afficher les détails de chaque état, y compris les entrées, les sorties et la définition respectivement. Pour plus de détails sur les informations d'exécution que vous pouvez consulter sur la page Détails de l'exécution, voirVue d'ensemble des détails d'exécution.

Étape 4 : Exécuter une exécution par machine à états express

  1. Créez une machine à états Express en utilisant la définition de machine à états fournie à l'étape 1. Assurez-vous d'inclure également les autorisations de IAM rôle nécessaires, comme expliqué à l'étape 2.

    Astuce

    Pour la distinguer de la machine standard que vous avez créée précédemment, nommez la machine à états Express commeGather-S3-Bucket-Info-Express.

  2. Sur la page Gather-S3-Bucket-Info-Standard, choisissez Démarrer l'exécution.

  3. Dans la boîte de dialogue Démarrer l'exécution, procédez comme suit :

    1. (Facultatif) Entrez un nom d'exécution personnalisé pour remplacer le nom par défaut généré.

      ASCIINon-noms et journalisation

      Step Functions accepte les noms des machines d'état, des exécutions, des activités et des étiquettes contenant des caractères autres que des ASCII caractères. Comme ces caractères ne fonctionneront pas avec Amazon CloudWatch, nous vous recommandons de n'utiliser que des ASCII caractères afin de pouvoir suivre les statistiques CloudWatch.

    2. Choisissez Start execution (Démarrer l'exécution).

    3. La console Step Functions vous dirige vers une page intitulée avec votre ID d'exécution. Cette page est connue sous le nom de page Détails de l'exécution. Sur cette page, vous pouvez consulter les résultats de l'exécution au fur et à mesure que l'exécution progresse ou une fois celle-ci terminée.

      Pour consulter les résultats de l'exécution, choisissez des états individuels dans la vue graphique, puis choisissez les onglets individuels du Détails de l'étape volet pour afficher les détails de chaque état, y compris les entrées, les sorties et la définition respectivement. Pour plus de détails sur les informations d'exécution que vous pouvez consulter sur la page Détails de l'exécution, voirVue d'ensemble des détails d'exécution.