Jak skonfigurować powiadomienia o zdarzeniach w S3 Bucket

Jak skonfigurować powiadomienia o zdarzeniach w S3 Bucket
W AWS S3 to prosta usługa pamięci, która umożliwia przechowywanie plików i innych danych jako obiekty S3 w chmurze bez zarządzania leżącym u podstaw sprzętu. Usługa AWS S3 jest bez serwera, co oznacza, że ​​nie musisz zapewniać żadnego rozmiaru pamięci dla wiadra S3, więc za każdym razem, gdy umieszczasz obiekt w wiadrze, sama pojemność wiadra wzrasta, aby pomieścić nowo dodany obiekt. Maksymalny rozmiar wiadra S3 jest teoretycznie nieograniczony z pojedynczym rozmiarem pliku do 5 TB i możesz przesłać pojedynczy plik lub obiekt do 5 GB, więc musisz podzielić dowolny plik większy niż 5 GB w rozmiarze.

Zwykle wykonujemy wiele operacji nad wiadrem S3, więc w pewnym momencie może być konieczne uruchomienie innej funkcji, operacji lub serwisu, gdy na naszym wiadrze jest wykonywana jakaś operacja. Można to osiągnąć za pomocą powiadomień o zdarzeniach S3. Te powiadomienia o zdarzeniach można skonfigurować w celu przesłania plików, aktualizacji wersji plików, usuwania starszych obiektów, transakcji cyklu życia S3 i wielu innych operacji. S3 Bucket powiadomi cel o tej konkretnej akcji z włączonymi powiadomieniami zdarzeń. Czas dostarczania powiadomień jest krótki i w zakresie sekund i minut.

Obecnie trzy usługi AWS można wywołać AWS S3.

  • Prosta usługa kolejki (SQS)
  • Prosta usługa powiadomień (SNS)
  • Funkcje Lambda

Teraz weźmy głębsze nurkowanie i zobaczmy, jak to jest praktycznie zrobione.

Skonfiguruj powiadomienia S3 dla SQS AWS

Najpierw utworzymy wiadro S3, dla których skonfigurujemy powiadomienia o zdarzeniach. W tym celu po prostu zaloguj się na swoje konto AWS i wyszukaj usługę S3 za pomocą paska wyszukiwania dostępnego u góry konsoli zarządzania.

Konsola S3 pojawi się przed tobą; Po prostu kliknij Utwórz Bucket.

W tej sekcji musisz podać nazwę wiadra, która musi być powszechnie unikalna.

Następnie musisz określić region AWS, w którym chcesz umieścić wiadro S3. Wiemy, że S3 jest globalną usługą i jest dostępny z dowolnego regionu, ale nadal musisz zdefiniować w którym regionie chcesz przechowywać swoje dane.

Następnie istnieją inne ustawienia, które możesz zarządzać jak wersja, szyfrowanie i dostęp publiczny, ale możesz po prostu zostawić je tak domyślnie, ponieważ obecnie nie mamy z nimi nic wspólnego. Po prostu po prostu przeciągnij w dół i kliknij Bucket Utwórz w prawym dolnym rogu, aby zakończyć proces tworzenia wiadra.

Wreszcie, stworzyliśmy nowy wiadro S3 na naszym koncie AWS.

Teraz musimy utworzyć cel naszych powiadomień o zdarzeniach i wybierzemy usługę SQS. W górnym pasku wyszukiwania konsoli AWS poszukaj prostej usługi kolejki Amazon.

Kliknij Kolejkę Utwórz, aby utworzyć nowy temat SQS.

Pierwszą opcją jest wybór tutaj, to rodzaj naszych SQ, które zostawimy, aby domyślnie, tj.mi., Standardowy.

Następnie musimy podać nazwę tematu SQS.

Teraz, aby umożliwić naszemu wiadrze S3 do napisania do tej usługi SQS, musimy podać odpowiednie zasady dla SQS. W tym celu wybierz Advanced w sekcji Polityka dostępu.

Polityka może być edytowana bezpośrednio, jeśli masz dobre umiejętności z JSON i innymi rzeczami, ale dla uproszczenia użyjemy generatora zasad dostarczonych przez AWS. Po prostu kliknij poniższy link, aby otworzyć generator zasad.

W generatorze zasad najpierw wybierz typ zasad, który będzie zasadami SQS kolejki.

Następnie musimy wybrać efekt, który jest UMOŻLIWIĆ Tutaj. Zasadą będzie naszą wiadro S3, dla której konfigurujemy powiadomienia zdarzeń, więc musimy umieścić TUTAJ ARN. Zasób to usługa, w której potrzebujemy tej zasady, aby zastosować się, więc musi to być nasz temat SQS ARN.

Działanie, które musimy wybrać z listy rozwijanej, to wysyłanie wiadomości, ponieważ chcemy, aby nasze wiadro S3 wysłało wiadomość do naszej kolejki SQS.

Teraz kliknij instrukcję Dodaj, a następnie wybierz zasadę Utwórz, aby uzyskać zasadę w formacie JSON.

Wystarczy skopiować stamtąd zawartość zasad i umieścić je w polityce SQS.

Teraz przewiń w dół w sekcji SQS Utwórz i kliknij Utwórz kolejkę. Zostaw wszystkie inne ustawienia, tak jak na razie.

Na koniec wróć do naszego wiadra S3 i wybierz kartę Właściwości.

Przeciągnij w dół do powiadomień o zdarzeniach i kliknij Utwórz powiadomienia o zdarzeniach.

Po pierwsze, podaj nazwę swojego wydarzenia.

Musisz wybrać typ zdarzenia, dla którego chcesz włączyć powiadomienia. Istnieje długa lista, z której możesz wybierać; Na razie wybierzmy wszystkie zdarzenia tworzenia obiektów.

Musimy wybrać miejsce docelowe naszych powiadomień o zdarzeniach. W tym celu wybierz usługę SQS, a następnie wybierz nazwę tematu SQS.

W końcu kliknij po prostu zapisz zmiany, aby ukończyć proces.

Wreszcie, dobrze możemy wybrać powiadomienia o zdarzeniach S3. Teraz prześlij obiekt w wiadrze S3 i sprawdź, czy uruchamia SQS.

Przesłaliśmy obiekt do naszego wiadra S3.

Jeśli pójdziesz do naszych SQ i ankiety w poszukiwaniu wiadomości, otrzymasz powiadomienia o tym wydarzeniach, które wymyślone.

Dlatego pomyślnie skonfigurowaliśmy powiadomienia o zdarzeniach S3 dla tematu SQS.

Skonfiguruj powiadomienia S3 dla SNS AWS

Zobaczymy kolejny przykład powiadomień o zdarzeniach S3 dla SNS, ale tym razem zamiast używać konsoli zarządzania, będziemy używać interfejsu wiersza polecenia AWS (CLI). Tak więc pierwszym krokiem jest po prostu utworzenie wiader na naszym koncie AWS, dla którego po prostu musimy użyć następującego polecenia.

$: AWS S3API Create-Bucket-Bucket --region

Aby wyświetlić dostępne wiadra S3 na swoim koncie, możesz użyć tego polecenia

$: AWS S3API-Buckets

Teraz musimy stworzyć temat SNS. W tym celu użyj następującego polecenia na CLI

$: AWS SNS Create-Topic-Nazwa

Potrzebujemy pliku konfiguracyjnego, aby zdefiniować typ zdarzenia i temat SNS ARN. Plik będzie w formacie JSON.


„TematConfiguration”:
„Wydarzenie”: „S3: Obiekt Created:*”, „Temat”: „ARN: AWS: SNS: US-West-2: 123456789012: S3-Notification-Topic”

Wreszcie możemy włączyć powiadomienie o zdarzeniu za pomocą następującego polecenia.

$: AWS S3API Put-Bucket-Notification-Bucket --Plik powiadomień-konfiguracyjny: //

Dlatego pomyślnie włączyliśmy powiadomienia o zdarzeniach S3 dla naszego tematu SNS.

Wniosek:

Powiadomienia o zdarzeniach S3 pozwalają nam powiadomić inne usługi o operacji przeprowadzonej na naszym wiadrze S3. Te powiadomienia mogą być używane do wyzwalania funkcji Lambda, przy użyciu których możemy wywołać interfejsy API REST, aby uruchomić inne zautomatyzowane zadanie. Powiadomienia można również wysłać do SQS lub SNS, które są bardzo przydatne do oddzielania naszych aplikacji. Korzystając z SQ i SNS, ten schemat można dalej połączyć z RDS, abyśmy mogli opracować naszą bazę danych dla poszczególnych zdarzeń S3.