Verwalten von AWS SNS-Themen mit aws-cli

Es ist sehr einfach, SNS-Themen, Abonnements zu erstellen und andere Operationen auf SNS-Themen vom Terminal aus mit dem Dienstprogramm aw-cli durchzuführen. In diesem Artikel zeige ich Ihnen die Befehle zum Erstellen eines SNS-Topics, einer Subscription, zum Bestätigen und zum Löschen der Subscription mit aws-cli. Es wird vorausgesetzt, dass Sie bereits mit dem AWS SNS Service vertraut sind.

Um mehr über die Operationen zu erfahren, die mit dem Kommandozeilenprogramm aws-cli an SNS-Topics durchgeführt werden können, besuchen Sie die offizielle Dokumentation hier.

Vorraussetzungen

  1. AWS-Konto (Erstellen Sie es, wenn Sie noch keines haben).
  2. Grundlegendes Verständnis von SNS Topics (Klicken Sie hier, umzu lernen, wie man ein SNS Topic mit Terraform erstellt).
  3. Grundlegendes Verständnis von SNS Subscription.
  4. AWS IAM-Benutzer mit der zugehörigen AmazonSNSFullAccess-Richtlinie und seinen Zugriffs- und Geheimschlüsseln (Klicken Sie hier, um zu lernen, wie man einen IAM-Benutzer erstellt).
  5. AWS CLI, installiert auf Ihrem lokalen Rechner.

Was müssen wir tun?

  1. Prüfen Sie aws cli und exportieren Sie den AWS-Zugangs- und Geheimschlüssel auf Ihrem lokalen Rechner.
  2. Verwalten Sie SNS-Themen mit aws cli.

Prüfen Sie aws cli und exportieren Sie den aws access & secret key auf Ihrem lokalen Rechner.

Wenn Sie den aws-cli nicht haben, lesen Sie die offizielle Dokumentation hier, um ihn auf Ihrem lokalen Rechner zu installieren und dann die Version mit dem folgenden Befehl zu überprüfen.

aws --version

Wenn Sie den folgenden Befehl ausführen, erhalten Sie einen Fehler, da Sie den Zugriff auf Ihr AWS-Konto im Terminal noch nicht konfiguriert haben.

aws sts get-caller-identity

Exportieren Sie den AWS IAM-Benutzerzugang und die geheimen Schlüssel auf Ihrem Terminal mit den folgenden Befehlen.

export AWS_ACCESS_KEY_ID=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>

Dieses Mal können Sie Ihre Identität überprüfen, indem Sie den folgenden Befehl ausführen. In der Ausgabe sollten Sie Benutzerdetails sehen.

aws sts get-caller-identity

Verwalten von SNS-Themen mit aws-cli

Lassen Sie uns die SNS Topics überprüfen, die wir in unserer aktuellen Region haben.

aws sns list-topics

SNS-Themen auflisten

Um einfach ein SNS-Topic zu erstellen, führen Sie den folgenden Befehl aus. Sie können jeden anderen Namen angeben, wenn Sie möchten.

aws sns create-topic --name my-sns-topic-by-cli

Beim Erstellen eines SNS-Topics können wir auch Tags dafür angeben. Sie können sogar mehrere Tags auf einmal angeben.

aws sns create-topic --name my-sns-topic-by-cli-with-tag --tags Key=env,Value=test

Wenn Sie die Themen auflisten, können Sie diesmal die neu erstellten Themen sehen.

aws sns list-topics

SNS-Themen erstellen

Sie können auch die Attribute eines bestimmten SNS-Themas überprüfen, indem Sie seine Nummer angeben. Um die arn des Themas zu erhalten, listen Sie zuerst die Themen auf und kopieren dann die arn des gewünschten Themas.

aws sns list-topics
aws sns get-topic-attributes --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli

Themenattribute abrufen

Sie können alle Abonnements in der aktuellen Region mit dem folgenden Befehl überprüfen.

aws sns list-subscriptions

Um eine Subscription zu erstellen, müssen Sie das Protokoll und die arn des SNS-Topics angeben. In diesem Fall werden wir eine Subscription mit E-Mail als Endpunkt erstellen. Es gibt verschiedene Endpunkte, die von der Subscription unterstützt werden, Sie können den gewünschten Endpunkt angeben.

aws sns subscribe --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli --protocol email --notification-endpoint <email-id>@<domain>
aws sns list-subscriptions

Ein Abonnement erstellen

Nachdem die Subscription erstellt wurde, erhalten Sie eine Bestätigungs-E-Mail. Das Abonnement kann durch Klicken auf den in der E-Mail angegebenen Link bestätigt werden oder es kann ein Token zur Bestätigung über die CLI verwendet werden. Kopieren Sie die Adresse des Links, um das Token zu erhalten, dann wird der Befehl zum Bestätigen des Abonnements im Terminal angezeigt.

E-Mail-Abonnement

Die Adresse des Bestätigungslinks enthält das Token, wie unten hervorgehoben. Kopieren Sie es, um über die CLI zu bestätigen.

Abonnement-Token

Um das Abonnement über die aws-cli zu bestätigen, verwenden Sie den folgenden Befehl und geben Sie das topic-arn und das Token im Befehl an.

aws sns list-subscriptions
aws sns confirm-subscription --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli --token 2336412f37fb687f5d51e6e2425e90ccf51427f70d347f743e373ed99c34222d699f93426571175db9bc0b81296ae69f53a889e1fbd11571c642308353d4648c67a2851b17a7f3cc1b7e1aaccae0881c5855df5d37bcae458305855d98fcd012d1ed4728a2064c6425b77b00e62b8d4fcf7fcccfb212d6850e3fa450c25cdf9a
aws sns list-subscriptions

Die Subskription kann gelöscht oder abbestellt werden, indem Sie die Subskriptionsarn angeben. Sobald der Endpunkt nicht mehr abonniert ist, werden die Benachrichtigungen den Endpunkt nicht mehr erreichen.

aws sns list-subscriptions
aws sns unsubscribe --subscription-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli:cde0b12a-437c-49da-ab25-bc467701156d
aws sns list-subscriptions

Abonnement löschen

Sobald Sie das Thema nicht mehr benötigen, ist es besser, es zu löschen. Seien Sie beim Löschen des Themas vorsichtig, da es, einmal gelöscht, nicht wiederhergestellt werden kann.

aws sns list-topics
aws sns delete-topic --topic-arn arn:aws:sns:us-east-1:<your-account-number>:my-sns-topic-by-cli
  614  aws sns list-topics

SNS-Thema löschen

Fazit

In diesem Artikel haben wir die Schritte zum Erstellen eines SNS-Topics, einer Subscription und zum Bestätigen einer Subscription gesehen. Wir haben auch gesehen, wie die Subscription und das SNS-Topic mit dem aws-cli-Befehl gelöscht werden können.

Das könnte dich auch interessieren …