aws-s3-Schritt-Funktion - Konstrukte für AWS S-Lösungen

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.

aws-s3-Schritt-Funktion

Alle Klassen befinden sich in aktiver Entwicklung und unterliegen nicht abwärtskompatiblen Änderungen oder Entfernen in jeder zukünftigen Version. Diese unterliegen nicht derSemantic VersionierungModell. Dies bedeutet, dass Sie möglicherweise Ihren Quellcode aktualisieren müssen, wenn Sie ein Upgrade auf eine neuere Version dieses Pakets durchführen.

Hinweis: Um eine ordnungsgemäße Funktionalität sicherzustellen, müssen die AWS Solutions Constructs Pakete und AWS CDK-Pakete in Ihrem Projekt dieselbe Version aufweisen.

Sprache Paket
Python
aws_solutions_constructs.aws_s3_step_function
Typoskript
@aws-solutions-constructs/aws-s3-step-function
Java
software.amazon.awsconstructs.services.s3stepfunction

Overview

Dieses AWS Solutions Construct implementiert einen Amazon S3 Bucket, der mit einer AWS Step Function verbunden ist.

Anmerkung

Dieses Konstrukt verwendet Amazon EventBridge (Amazon CloudWatch Events), um AWS Step Functions auszulösen. EventBridge ist flexibler, aber das Auslösen von Step Functions mit S3-Ereignisbenachrichtigungen hat weniger Latenz und ist kostengünstiger. Wenn Kosten und/oder Latenz ein Problem darstellen, sollten Sie die Bereitstellungaws-s3-lambdaundaws-lambda-stepfunctionsanstelle dieses Konstrukt.

Hier ist eine minimale bereitstellbare Musterdefinition in TypeScript:

import { S3ToStepFunction, S3ToStepFunctionProps } from '@aws-solutions-constructs/aws-s3-step-function'; import * as stepfunctions from '@aws-cdk/aws-stepfunctions'; const startState = new stepfunctions.Pass(this, 'StartState'); new S3ToStepFunction(this, 'test-s3-step-function-stack', { stateMachineProps: { definition: startState } });

Initializer

new S3ToStepFunction(scope: Construct, id: string, props: S3ToStepFunctionProps);

Parameter

Muster-Konstrukt

Name Typ Beschreibung
Bestehend BuckeObj? s3.IBucket Vorhandene Instanz des S3 Bucket-Objekts Wenn dies zur Verfügung gestellt wird, dann wird auchbucketPropsist ein Fehler.
BucketProps? s3.BucketProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für den Bucket zu überschreiben. Wird ignoriert, wenn einexistingBucketObjwird bereitgestellt.
StateMachineProps sfn.StateMachineProps Optional vom Benutzer bereitgestellte Requisiten, um die Standard-Requisiten für SFN.StateMachine zu überschreiben.
EventRuleProps? events.RuleProps Optionaler Benutzer hat EventRuleProps bereitgestellt, um die Standardwerte zu überschreiben.
DeployCloudTrail? boolean Gibt an, ob ein Trail in AWS CloudTrail bereitgestellt wird, um API-Ereignisse in Amazon S3 zu protokollieren. Standardeinstellung: true.
CreateCloudWatchalarms boolean Gibt an, ob empfohlene CloudWatch Alarme erstellt werden sollen.
LogGroupProps? logs.LogGroupProps Optionale, vom Benutzer bereitgestellte Requisiten, um die Standardprops für die CloudWatch Logs s-Protokollgruppe zu überschreiben.

Muster-Eigenschaften

Name Typ Beschreibung
cloudtrail? cloudtrail.Trail Gibt eine Instanz des durch das Muster erstellten Cloudtrail zurück.
CloudTrailBucket? s3.Bucket Gibt eine Instanz des Buckets zurück, der durch das Muster zum Speichern von Cloudtrail Traildaten erstellt wurde.
CloudTrailLoggingBucket? s3.Bucket Gibt eine Instanz des Protokollierungsbuckets zurück, der durch das Muster für den primären Bucket erstellt wurde, der vom Cloudtrail Trail verwendet wird.
Cloudwatchalarms? cloudwatch.Alarm[] Gibt eine Liste eines oder mehrerer CloudWatch Alarme zurück, die durch das Muster erstellt wurden.
S3Eimer? s3.Bucket Gibt eine Instanz des S3-Buckets zurück, der durch das Muster erstellt wurde.
s3loggingBucket? s3.Bucket Gibt eine Instanz des Protokollierungsbuckets zurück, der durch das Muster für den S3-Bucket erstellt wurde.
StateMachine sfn.StateMachine Gibt eine Instanz der Zustandsmaschine zurück, die durch das Muster erstellt wurde.
StateMachineLogGroup logs.LogGroup Gibt eine Instanz der Protokollgruppe zurück, die durch das Muster für den Zustandsmaschine erstellt wurde.

Standardeinstellungen

Die vorgefertigte Implementierung dieses Musters ohne Überschreibungen setzt die folgenden Standardwerte:

Amazon S3 Bucket

  • Konfigurieren Sie die Zugriffsprotokollierung für S3 Bucket.

  • Aktivieren Sie die serverseitige Verschlüsselung für S3 Bucket mit AWS verwaltetem KMS-Schlüssel.

  • Aktivieren Sie die Versionierung für S3 Bucket.

  • Erlauben Sie keinen öffentlichen Zugriff für S3 Bucket.

  • Behalten Sie den S3-Bucket beim Löschen des CloudFormation-Stacks bei.

  • Erzwingen der Verschlüsselung von Daten während der Übertragung

  • Wendet die Lebenszyklusregel an, um nicht aktuelle Objektversionen nach 90 Tagen in den Glacier-Speicher zu verschieben.

AWS CloudTrail

  • Konfigurieren Sie einen Trail in AWS CloudTrail, um API-Ereignisse in Amazon S3 zu protokollieren, die sich auf den Bucket beziehen, der vom Construct erstellt wurde.

Amazon CloudWatch Events regel

  • Erteilen Sie CloudWatch Ereignissen die geringsten Berechtigungen, um die Lambda Funktion auszulösen.

AWS Step Function

  • Aktivieren Sie die CloudWatch Protokollierung für API Gateway.

  • Stellen Sie Best Practices CloudWatch Alarme für die Step-Funktion bereit.

Architecture

GitHub

Um den Code für dieses Muster anzuzeigen, erstellen/anzeigen Probleme und Pull-Anforderungen usw.:
@aws -solutions-Konstrukte/aws-s3-Schritt-Funktion