Wie erstelle ich eine SQS-Warteschlange in Amazon Web Services, um Daten zu Live-Ereignissen von Canvas zu erhalten?

Um Daten von Canvas zu empfangen, müssen Sie eine Warteschlange in Amazon Web Services einrichten und verwalten. Außerdem müssen Sie der Warteschlange die entsprechenden Berechtigungen für den Empfang von Daten erteilen.

Nachdem Sie eine Warteschlange mit den entsprechenden Berechtigungen eingerichtet haben, können Sie Ereignisse in Data Services abonnieren und beginnen, Daten zu empfangen.

Hinweise:

  • FIFO-Warteschlangen werden derzeit nicht unterstützt.
  • Beim Einrichten einer SQS-Warteschlange können Sie Long Polling in einer Standard-Warteschlange aktivieren. Long Polling hilft, die Anzahl leerer Antworten und falscher leerer Antworten zu vermeiden. Weitere Informationen zu Long Polling finden Sie in der Dokumentation zu Long Polling mit Amazon SQS.

Amazon SQS-Konsole öffnen

Öffnen Sie in der Amazon Webservices-Konsole die „Simple Queue Service (SQS)“-Konsole, indem Sie den Namen in das Feld Services [1] eingeben. Wenn „Simple Queue Service“ in der Liste angezeigt wird, klicken Sie auf den Namen [2]. 

Neue Warteschlange erstellen

Neue Warteschlange erstellen

Klicken Sie in der Amazon SQS-Konsole auf die Schaltfläche Create queue (Warteschlange erstellen).

Wählen Sie Standard-Warteschlange

Wählen Sie Standard-Warteschlange

Wählen Sie im Abschnitt Typ die Option Standard.

Hinweis: FIFO-Warteschlangen werden derzeit nicht unterstützt.

Name der Warteschlange eingeben

Name der Warteschlange eingeben

Geben Sie einen Namen für die Warteschlange ein. Der Name der Warteschlange muss mit canvas-live-events beginnen.

Konfigurationsdetails eingeben

Konfigurationsdetails eingeben

Geben Sie die Konfigurationsdetails ein. Sie können Ihre gewünschten Einstellungen für die Zeitüberschreitung für die Sichtbarkeit [1], die Zustellungsverzögerung [2], die Wartezeit für den Empfang von Nachrichten [3], die Aufbewahrungszeit für Nachrichten [4] und die maximale Nachrichtengröße [5] eingeben.

Details zur Zugriffsrichtlinie eingeben

Details zur Berechtigung eingeben

Geben Sie die Details für Ihre Zugriffsrichtlinie ein.

Wählen Sie im Abschnitt Methode auswählen die Option Basic [1].

Wählen Sie im Abschnitt Define who can send messages to the queue (Definieren, wer Nachrichten an die Warteschlange senden darf) die Option Only the specified AWS accounts, IAM users and roles (Nur die angegebenen AWS-Konten, IAM-Benutzer und Rollen) [2].

Geben Sie in das Feld Konto-ID die Kontonummer 636161780776 [3] ein. Diese Kontonummer ist erforderlich, damit die Warteschlange Daten zu Live-Ereignissen empfangen kann.

Außerdem können Sie im Abschnitt Define who can receive messages from the queue (Festlegen, wer Nachrichten aus der Warteschlange empfangen darf) [4] auswählen, wer die Nachrichten erhalten soll.

Warteschlange speichern

Warteschlange speichern

Sie können zusätzliche Details in den Bereichen Encryption settings (Verschlüsselungseinstellungen) [1], Dead-letter queue (Warteschlange für unzustellbare Nachrichten) [2] und Einstellungen für Tags [3] hinzufügen. Alle diese Einstellungen sind optional.

Um Ihre Warteschlange zu erstellen, klicken Sie auf die Schaltfläche Create queue (Warteschlange erstellen) [4].

Berechtigung für Warteschlangen anzeigen

Berechtigung für Warteschlangen anzeigen

Im Bereich „Details der Warteschlange“ wird die Berechtigung auf der Registerkarte „Berechtigungen angezeigt“.

Um die Berechtigung zu bearbeiten, klicken Sie auf das Symbol Ändern [1]. Um die Berechtigung zu löschen, klicken Sie auf das Symbol Löschen [2].

Verwendung der SSE-Einstellung mit Ihrer SQS (optional)

Der Live-Events-Dienst von Canvas unterstützt SSE mit SQS. Damit SSE verwendet werden kann, muss die folgende Einstellung für das SQS des Kunden aktiviert sein:

1. Erstellen Sie einen CMK oder einen benutzerdefinierten Schlüssel mit dieser Richtlinie. Diese kann generiert werden, indem Sie die Schritte zur Erstellung eines CMK befolgen und in Schritt 4 (Schlüsselverwendungsberechtigungen definieren) auf „Anderes AWS-Konto hinzufügen“ klicken und die Instructure-Kontonummer 636161780776 eingeben.

{
 "Id": "key-consolepolicy-3",
 "Version": "2012-10-17",
 "Statement": [
 {
 "Sid": "Enable IAM User Permissions",
 "Effect": "Allow",
 "Principal": {
 "AWS": "arn of the customer account root"
 },
 "Action": "kms:*",
 "Resource": "*"
 },
 {
 "Sid": "Allow access for Key Administrators",
 "Effect": "Allow",
 "Principal": {
 "AWS": "arn of admin user"
 },
 "Action": [
 "kms:Create*",
 "kms:Describe*",
 "kms:Enable*",
 "kms:List*",
 "kms:Put*",
 "kms:Update*",
 "kms:Revoke*",
 "kms:Disable*",
 "kms:Get*",
 "kms:Delete*",
 "kms:TagResource",
 "kms:UntagResource",
 "kms:ScheduleKeyDeletion",
 "kms:CancelKeyDeletion"
 ],
 "Resource": "*"
 },
 {
 "Sid": "Allow use of the key",
 "Effect": "Allow",
 "Principal": {
 "AWS": [
 "arn of admin user",
 "arn:aws:iam::636161780776:root" // instructure account
 ]
 },
 "Action": [
 "kms:Encrypt",
 "kms:Decrypt",
 "kms:ReEncrypt*",
 "kms:GenerateDataKey*",
 "kms:DescribeKey"
 ],
 "Resource": "*"
 },
 {
 "Sid": "Allow attachment of persistent resources",
 "Effect": "Allow",
 "Principal": {
 "AWS": [
 "arn of admin user",
 "arn:aws:iam::636161780776:root" // instructure account
 ]
 },
 "Action": [
 "kms:CreateGrant",
 "kms:ListGrants",
 "kms:RevokeGrant"
 ],
 "Resource": "*",
 "Condition": {
 "Bool": {
 "kms:GrantIsForAWSResource": "true"
 }
 }
 }
 ]
}??????????????????????????????????????????????????????????????????????????????

2. Erstellen Sie eine SQS-Warteschlange und aktivieren Sie SSE. Geben Sie den ARN des neu erstellten CMK an.

3. Erstellen Sie eine neue IAM-Richtlinie, die Zugriff auf die Warteschlange und den Schlüssel gewährt. Die Richtlinie muss genau so aussehen:

{
 "Version": "2012-10-17",
 "Statement": [{
 "Effect": "Allow",
 "Action": [
 "kms:GenerateDataKey",
 "kms:Decrypt"
 ],
 "Resource": "CMK arn"
 }, {
 "Effect": "Allow",
 "Action": [
 "sqs:SendMessage",
 "sqs:SendMessageBatch"
 ],
 "Resource": "queue arn"
 }]???????????????????????????????????????????????????

4. Erstellen Sie einen neuen IAM-Benutzer und fügen Sie die oben genannte Richtlinie hinzu. Speichern Sie den Zugriffsschlüssel und den geheimen Schlüssel und stellen Sie sie uns im Rahmen des Abonnements zur Verfügung.