Sammeln Sie Amazon S3 S3-Bucket-Informationen mit AWS SDK-Serviceintegrationen - AWS Step Functions

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Sammeln Sie Amazon S3 S3-Bucket-Informationen mit AWS SDK-Serviceintegrationen

Dieses Tutorial zeigt Ihnen, wie Sie ein AWS SDKIntegration mit Amazon Simple Storage Service. Der Zustandsmaschine, den Sie in diesem Tutorial erstellen, sammelt Informationen über Ihre Amazon S3 S3-Buckets und listet dann Ihre Buckets zusammen mit Versionsinformationen für jeden Bucket in der aktuellen Region auf.

Schritt 1: Erstellen Sie den State Machine

Mithilfe der Step Functions Functions-Konsole erstellen Sie eine Zustandsmaschine, die einen Task Status enthält, um alle Amazon S3 S3-Buckets im aktuellen Konto und in der aktuellen Region aufzulisten. Anschließend fügen Sie einen weiteren Task Status hinzu, der den aufruft, HeadBucket API um zu überprüfen, ob der zurückgegebene Bucket in der aktuellen Region zugänglich ist. Wenn auf den Bucket nicht zugegriffen werden kann, gibt der HeadBucket API Aufruf den S3.S3Exception Fehler zurück. Sie fügen einen Catch Block zum Abfangen dieser Ausnahme und einen Pass Status als Fallback-Status hinzu.

  1. Öffnen Sie die Step Functions Functions-Konsole und wählen Sie Create State Machine.

  2. Wählen Sie im Dialogfeld Vorlage auswählen die Option Leer aus.

  3. Wählen Sie „Auswählen“, um Workflow Studio in zu öffnenEntwurfsmodus.

  4. Für dieses Tutorial schreiben Sie die Amazon States Language (ASL) -Definition Ihrer Zustandsmaschine in denCode-Editor. Wählen Sie dazu Code.

  5. Entfernen Sie den vorhandenen Standardcode und fügen Sie die folgende State-Machine-Definition ein.

    { "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. Geben Sie einen Namen für Ihre Zustandsmaschine an. Wählen Sie dazu das Bearbeitungssymbol neben dem Standardnamen der Zustandsmaschine von MyStateMachine. Geben Sie dann unter State-Machine-Konfiguration einen Namen in das Feld State-Machine-Name ein.

    Geben Sie für dieses Tutorial den Namen Gather-S3-Bucket-Info-Standard ein.

  7. (Optional) Geben Sie unter State-Machine-Konfiguration weitere Workflow-Einstellungen an, z. B. den Zustandsmaschinentyp und seine Ausführungsrolle.

    Behalten Sie alle Standardauswahlen in den State-Machine-Einstellungen bei.

    Wenn Sie zuvor eine IAM Rolle mit den richtigen Berechtigungen für Ihren Zustandsmaschine erstellt haben und diese verwenden möchten, wählen Sie unter Berechtigungen die Option Vorhandene Rolle auswählen und dann eine Rolle aus der Liste aus. Oder wählen Sie Rolle eingeben aus ARN und geben Sie dann eine Rolle ARN für diese IAM Rolle ein.

  8. Wählen Sie im Dialogfeld „Rollenerstellung bestätigen“ die Option Bestätigen aus, um fortzufahren.

    Sie können auch Rolleneinstellungen anzeigen wählen, um zur State-Machine-Konfiguration zurückzukehren.

    Anmerkung

    Wenn Sie die von Step Functions erstellte IAM Rolle löschen, kann Step Functions sie später nicht mehr neu erstellen. Ebenso kann Step Functions ihre ursprünglichen Einstellungen später nicht wiederherstellen, wenn Sie die Rolle ändern (z. B. indem Sie Step Functions aus den Prinzipalen in der IAM Richtlinie entfernen).

    In Schritt 2 fügen Sie der State-Machine-Rolle die fehlenden Berechtigungen hinzu.

Schritt 2: Fügen Sie die erforderlichen IAM Rollenberechtigungen hinzu

Um Informationen über die Amazon S3 S3-Buckets in Ihrer aktuellen Region zu sammeln, müssen Sie Ihrem State Machine die erforderlichen Berechtigungen für den Zugriff auf die Amazon S3 S3-Buckets gewähren.

  1. Wählen Sie auf der Zustandsmaschinenseite IAMRolle aus, ARN um die Seite Rollen für die Zustandsmaschine-Rolle zu öffnen.

  2. Wählen Sie Add permissions (Berechtigungen hinzufügen) und dann Create inline policy (Inline-Richtlinie erstellen) aus.

  3. Wählen Sie die JSONRegisterkarte und fügen Sie dann die folgenden Berechtigungen in den JSON Editor ein.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketVersioning" ], "Resource": "*" } ] }
  4. Wählen Sie Richtlinie prüfen.

  5. Geben Sie unter Review policy (Richtlinie prüfen) für den Richtlinien-Namen s3-bucket-permissions ein.

  6. Wählen Sie Create Policy (Richtlinie erstellen) aus.

Schritt 3: Führen Sie eine Standard-State-Machine-Ausführung aus

  1. Wählen Sie auf der Seite Gather-S3-Bucket-Info-Standard die Option Ausführung starten aus.

  2. Gehen Sie im Dialogfeld Ausführung starten wie folgt vor:

    1. (Optional) Geben Sie einen benutzerdefinierten Ausführungsnamen ein, um den generierten Standard zu überschreiben.

      ASCIINichtnamen und Protokollierung

      Step Functions akzeptiert Namen für Zustandsmaschinen, Ausführungen, Aktivitäten und Beschriftungen, die ASCII Nichtzeichen enthalten. Da solche Zeichen nicht mit Amazon funktionieren, empfehlen wir CloudWatch, nur ASCII Zeichen zu verwenden, damit Sie die Messwerte verfolgen können CloudWatch.

    2. Wählen Sie Start execution (Ausführung starten) aus.

    3. Die Step Functions Functions-Konsole leitet Sie zu einer Seite weiter, die mit Ihrer Ausführungs-ID betitelt ist. Diese Seite wird als Seite mit den Ausführungsdetails bezeichnet. Auf dieser Seite können Sie die Ausführungsergebnisse im Verlauf der Ausführung oder nach deren Abschluss überprüfen.

      Um die Ausführungsergebnisse zu überprüfen, wählen Sie in der Diagrammansicht einzelne Status aus und wählen Sie dann die einzelnen Registerkarten im Einzelheiten zu den Schritten Bereich, um die Details der einzelnen Status, einschließlich Eingabe, Ausgabe und Definition, anzuzeigen. Einzelheiten zu den Ausführungsinformationen, die Sie auf der Seite mit den Ausführungsdetails einsehen können, finden Sie unterÜberblick über die Ausführungsdetails.

Schritt 4: Führen Sie eine Express-State-Machine-Ausführung aus

  1. Erstellen Sie eine Express-Zustandsmaschine mithilfe der in Schritt 1 bereitgestellten Zustandsmaschinen-Definition. Stellen Sie sicher, dass Sie auch die erforderlichen IAM Rollenberechtigungen angeben, wie in Schritt 2 beschrieben.

    Tipp

    Benennen Sie den Express-Zustandsmaschine als, um ihn von dem zuvor erstellten Standardcomputer zu unterscheidenGather-S3-Bucket-Info-Express.

  2. Wählen Sie auf der Seite Gather-S3-Bucket-Info-Standard die Option Ausführung starten aus.

  3. Gehen Sie im Dialogfeld Ausführung starten wie folgt vor:

    1. (Optional) Geben Sie einen benutzerdefinierten Ausführungsnamen ein, um den generierten Standard zu überschreiben.

      ASCIINichtnamen und Protokollierung

      Step Functions akzeptiert Namen für Zustandsmaschinen, Ausführungen, Aktivitäten und Beschriftungen, die ASCII Nichtzeichen enthalten. Da solche Zeichen nicht mit Amazon funktionieren, empfehlen wir CloudWatch, nur ASCII Zeichen zu verwenden, damit Sie die Messwerte verfolgen können CloudWatch.

    2. Wählen Sie Start execution (Ausführung starten) aus.

    3. Die Step Functions Functions-Konsole leitet Sie zu einer Seite weiter, die mit Ihrer Ausführungs-ID betitelt ist. Diese Seite wird als Seite mit den Ausführungsdetails bezeichnet. Auf dieser Seite können Sie die Ausführungsergebnisse im Verlauf der Ausführung oder nach deren Abschluss überprüfen.

      Um die Ausführungsergebnisse zu überprüfen, wählen Sie in der Diagrammansicht einzelne Status aus und wählen Sie dann die einzelnen Registerkarten im Einzelheiten zu den Schritten Bereich, um die Details der einzelnen Status, einschließlich Eingabe, Ausgabe und Definition, anzuzeigen. Einzelheiten zu den Ausführungsinformationen, die Sie auf der Seite mit den Ausführungsdetails einsehen können, finden Sie unterÜberblick über die Ausführungsdetails.