Normalerweise führen wir mehrere Vorgänge über einen S3 -Eimer aus. Dies kann mit S3 -Ereignisbenachrichtigungen erreicht werden. Diese Ereignisbenachrichtigungen können so eingestellt werden, dass die Dateien hochgeladen, die Versionen von Dateien aktualisiert, ältere Objekte, S3 -Lebenszyklus -Transaktionen und viele andere Operationen gelöscht werden. Der S3 -Bucket benachrichtigt das Ziel über diese bestimmte Aktion mit aktivierten Ereignisbenachrichtigungen. Die Benachrichtigungsdelieferzeit ist kurz und im Bereich von Sekunden und Minuten.
Gegenwärtig können drei AWS -Dienste mit AWS S3 ausgelöst werden.
Nehmen wir nun einen tieferen Tauchgang und sehen, wie es praktisch gemacht wird.
Konfigurieren Sie S3 -Benachrichtigungen für AWS SQS
Zunächst erstellen wir einen S3 -Bucket, für den wir Ereignisbenachrichtigungen konfigurieren werden. Melden Sie sich einfach in Ihrem AWS -Konto an und suchen Sie nach dem S3 -Dienst mit der Suchleiste oben in Ihrer Verwaltungskonsole.
Die S3 -Konsole erscheint vor Ihnen; Klicken Sie einfach auf den Bucket erstellen.
In diesem Abschnitt müssen Sie einen Eimernamen angeben, der universell eindeutig sein muss.
Als nächstes müssen Sie die AWS -Region angeben, in der Ihr S3 -Eimer platziert werden soll. Wir wissen, dass S3 ein globaler Service ist und aus jeder Region zugänglich ist. Sie müssen jedoch definieren, in welcher Region Sie Ihre Daten speichern möchten.
Als nächstes gibt es einige andere Einstellungen, die Sie wie Versioning, Verschlüsselung und öffentlichen Zugriff verwalten können, aber Sie können sie einfach als Standardeinstellung lassen, da wir derzeit nichts mit ihnen zu tun haben. Ziehen Sie einfach einfach nach unten und klicken Sie in der unteren rechten Ecke auf den Eimer erstellen.
Schließlich haben wir in unserem AWS -Konto einen neuen S3 -Bucket erstellt.
Jetzt müssen wir ein Ziel für unsere Veranstaltungsbenachrichtigungen erstellen, und wir werden den SQS -Dienst auswählen. Suchen Sie in der obersten Suchleiste der AWS -Konsole nach dem einfachen Warteschlangenservice von Amazon.
Klicken Sie auf die Warteschlange erstellen, um ein neues SQS -Thema zu erstellen.
Die erste Option besteht darin.e., der Standard.
Als nächstes müssen wir den SQS -Themennamen angeben.
Um es unserem S3 -Bucket zu ermöglichen, in diesen SQS -Service zu schreiben, müssen wir SQS die richtige Richtlinie zur Verfügung stellen. Wählen Sie dazu im Bereich der Zugriffsrichtlinie erweitert.
Die Richtlinie kann direkt bearbeitet werden, wenn Sie gute Fähigkeiten mit JSON und anderen Dingen haben, aber zum Einfachheit halber werden wir den AWS-bereitgestellten Richtliniengenerator verwenden. Klicken Sie einfach auf den Link unten, um den Richtliniengenerator zu öffnen.
Wählen Sie im Richtliniengenerator zunächst den Richtlinientyp aus, der die SQS -Warteschlangenrichtlinie ist.
Als nächstes müssen wir den Effekt auswählen, der ist ERLAUBEN Hier. Das Prinzip wird unser S3 -Eimer sein, für den wir die Ereignisbenachrichtigungen konfigurieren. Daher müssen wir den Eimer Arn hier einstellen. Die Ressource ist der Service, auf dem wir diese Richtlinie angewendet werden müssen. Dies muss also unser SQS -Thema ARN sein.
Die Aktion, die wir aus der Dropdown-Liste auswählen müssen, besteht.
Klicken Sie nun auf die Anweisung hinzufügen und wählen Sie die Richtlinie erstellen, um die Richtlinie im JSON -Format zu erhalten.
Kopieren Sie einfach die Richtlinieninhalte von dort und legen Sie sie in die SQS -Richtlinie ein.
Scrollen Sie nun im Abschnitt "SQS CREATE CREATE. Lassen Sie alle anderen Einstellungen wie vorerst.
Kommen Sie jetzt zurück zu unserem S3 -Eimer und wählen Sie die Registerkarte Eigenschaften aus.
Ziehen Sie auf Ereignisbenachrichtigungen und klicken Sie auf Ereignisbenachrichtigungen erstellen.
Geben Sie zunächst den Namen Ihrer Veranstaltung an.
Sie müssen den Ereignisentyp auswählen, für den Sie die Benachrichtigungen aktivieren möchten. Es gibt eine lange Liste, aus der Sie auswählen können. Lassen Sie uns vorerst alle Ereignisse zur Erstellung von Objekten auswählen.
Wir müssen das Ziel für unsere Ereignisbenachrichtigungen auswählen. Wählen Sie dazu den SQS -Dienst aus und wählen Sie dann den Namen Ihres SQS -Themas aus.
Klicken Sie schließlich auf Speichern von Änderungen, um den Prozess abzuschließen.
Schließlich sind wir gut mit den S3 -Event -Benachrichtigungen einhergehen. Laden Sie nun ein Objekt in den S3 -Eimer hoch und überprüfen Sie, ob es den SQS auslöst.
Wir haben ein Objekt in unseren S3 -Eimer hochgeladen.
Wenn Sie zu unseren SQs und zur Umfrage nach Nachrichten gehen, erhalten Sie Benachrichtigungen für die Veranstaltungen, die wir aktiviert haben.
Wir haben also erfolgreich S3 -Ereignisbenachrichtigungen für ein SQS -Thema konfiguriert.
Konfigurieren Sie S3 -Benachrichtigungen für AWS SNS
Wir werden ein weiteres Beispiel für S3-Ereignisbenachrichtigungen für SNS sehen, aber diesmal verwenden wir die AWS-Befehlszeilenschnittstelle (CLI), anstatt die Verwaltungskonsole zu verwenden. Der erste Schritt besteht also darin, einfach die Eimer in unserem AWS -Konto zu erstellen, für die wir einfach den folgenden Befehl verwenden müssen.
$: AWS S3API CREATE-BUCKET-BUCKET--Region
Um die verfügbaren S3 -Eimer in Ihrem Konto anzuzeigen, können Sie diesen Befehl verwenden
$: AWS S3API LIST-BICKETS
Jetzt müssen wir ein SNS -Thema erstellen. Verwenden Sie dafür den folgenden Befehl auf CLI
$: AWS SNS Create-topic-Name
Wir benötigen eine Konfigurationsdatei, um den Ereignistyp und das SNS -Thema ARN zu definieren. Die Datei wird im JSON -Format erfolgen.
"Topicconfiguration":
"Ereignis": "S3: ObjectCreated:*", "Thema": "ARN: AWS: SNS: US-West-2: 123456789012: S3-Notification-Topic"
Jetzt können wir jetzt die Ereignisbenachrichtigung mithilfe des folgenden Befehls aktivieren.
$: AWS S3API Put-Bucket-Notifikation-Bucket--Benachrichtigungs-Konfigurationsdatei: //
Wir haben also erfolgreich S3 -Veranstaltungsbenachrichtigungen für unser SNS -Thema ermöglicht.
Abschluss:
Mit S3 -Ereignisbenachrichtigungen können wir andere Dienste über den Betrieb unseres S3 -Eimers informieren. Diese Benachrichtigungen können verwendet werden, um Lambda -Funktionen auszulösen, wobei wir REST -APIs aufrufen können, um eine weitere automatisierte Aufgabe auszuführen. Die Benachrichtigungen können auch an SQS oder SNS gesendet werden, die für die Entkopplung unserer Anwendungen sehr nützlich sind. Mit SQS und SNS kann dieses Schema weiter mit RDS verknüpft werden, damit wir unsere Datenbank für bestimmte S3 -Ereignisse entwickeln können.