Nachrichten-Metadaten für Amazon SQS - Amazon Simple Queue Service

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.

Nachrichten-Metadaten für Amazon SQS

Sie können Nachrichtenattribute verwenden, um benutzerdefinierte Metadaten an Amazon-SQS-Nachrichten für Ihre Anwendungen anzufügen. Sie können Nachrichtensystemattribute verwenden, um Metadaten für andere AWS -Services wie AWS X-Ray zu speichern.

Amazon-SQS-Nachrichtenattribute

Sie können mit Amazon SQS strukturierte Metadaten (wie etwa Zeitstempel, geospatiale Daten, Signaturen und Kennungen) in Nachrichten einschließen, indem Sie Nachrichtenattribute verwenden. Jede Nachricht kann bis zu 10 Attribute aufweisen. Nachrichtenattribute sind optional und separat vom Nachrichtentext (werden aber mit diesem versendet). Ihr Konsument kann Nachrichtenattribute für die Verarbeitung einer Nachricht auf eine bestimmte Weise verwenden, ohne erst den Nachrichtentext verarbeiten zu müssen. Weitere Informationen über das Senden von Nachrichten mit Attributen mithilfe der Amazon-SQS-Konsole finden Sie unter Senden einer Nachricht mit Attributen.

Anmerkung

Verwechseln Sie Nachrichtenattribute nicht mit Nachrichtensystemattributen: Während Sie Nachrichtenattribute verwenden können, um benutzerdefinierte Metadaten an Amazon SQS SQS-Nachrichten für Ihre Anwendungen anzuhängen, können Sie Nachrichtensystemattribute verwenden, um Metadaten für andere AWS Dienste zu speichern, z. AWS X-Ray

Nachrichtenattributkomponenten

Wichtig

Alle Komponenten eines Nachrichtenattributs sind in der Größenbeschränkung der Nachricht von 256 KB enthalten.

Name, Type, Value und der Nachrichtentext dürfen nicht leer oder null sein.

Jedes Nachrichtenattribut besteht aus den folgenden Komponenten:

  • Name – Der Name des Nachrichtenattributs kann die folgenden Zeichen enthalten: A-Z, a-z, 0-9, Unterstrich (_), Bindestrich (-) und Punkt (.). Beachten Sie die folgenden Einschränkungen:

    • Kann bis zu 256 Zeichen lang sein.

    • Darf nicht mit AWS. oder Amazon. (oder beliebige Varianten in Groß-/Kleinschreibung) beginnen

    • Berücksichtigt Groß- und Kleinschreibung

    • Muss unter allen Attributnamen für die Nachricht eindeutig sein

    • Darf nicht mit einem Punkt beginnen oder enden

    • Darf keine Punkte in einer Sequenz enthalten

  • Typ – Der Datentyp des Nachrichtenattributs. Unterstützte Typen sind u. a.: String, Number und Binary. Sie können auch benutzerdefinierte Informationen für alle Datentypen hinzufügen. Der Datentyp weist dieselben Einschränkungen wie der Nachrichtentext auf (weitere Informationen finden Sie unter SendMessage in der Amazon-Simple-Queue-Service-API-Referenz). Darüber hinaus gelten die folgenden Einschränkungen:

    • Kann bis zu 256 Zeichen lang sein.

    • Berücksichtigt Groß- und Kleinschreibung

  • Value – Der Wert des Nachrichtenattributs. Für den Datentyp String unterliegen die Attributwerte denselben Beschränkungen wie der Nachrichtentext.

Datentypen für Nachrichtenattribute

Über den Datentyp des Nachrichtenattributs wird Amazon SQS angewiesen, wie die entsprechenden Nachrichtenattributwerte verarbeitet werden. Beispiel: Wenn der Typ Number ist, überprüft Amazon SQS numerische Werte.

Amazon SQS unterstützt die logischen Datentypen String, Number und Binary, mit optionalen benutzerdefinierten Datentypenbezeichnungen im Format .custom-data-type.

  • ZeichenfolgeString-Attribute können Unicode-Text unter Verwendung beliebiger gültiger XML-Zeichen speichern.

  • ZahlNumber-Attribute können positive oder negative numerische Werte speichern. Zahlen können bis zu 38 Ziffern und Werte von 10^-128 bis 10^+126 umfassen.

    Anmerkung

    Amazon SQS entfernt voranstehende und nachgestellte Nullen.

  • Binär – Binäre Attribute können beliebige binäre Daten speichern, wie etwa komprimierte Daten, verschlüsselte Daten oder Bilder.

  • Benutzerdefiniert – Hängen Sie eine benutzerdefinierte Typenbezeichnung an jeden unterstützten Datentyp an, um einen benutzerdefinierten Datentyp zu erstellen. Beispielsweise:

    • Number.byte, Number.short, Number.int und Number.float können beim Unterscheiden zwischen den Zahlentypen helfen.

    • Binary.gif und Binary.png können beim Unterscheiden zwischen den Dateitypen helfen.

    Anmerkung

    Amazon SQS interpretiert, validiert oder verwendet die angefügten Daten nicht.

    Die benutzerdefinierte Typenbezeichnung unterliegt denselben Beschränkungen wie der Nachrichtentext.

Berechnung des MD5-Nachrichtendigests für Nachrichtenattribute

Wenn Sie die verwenden AWS SDK for Java, können Sie diesen Abschnitt überspringen. Die MessageMD5ChecksumHandler-Klasse des SDK für Java unterstützt MD5-Nachrichten-Digests für Amazon-SQS-Nachrichtenattribute.

Wenn Sie entweder die Query-API oder eines der AWS SDKs verwenden, das keine MD5-Message Digests für Amazon SQS SQS-Nachrichtenattribute unterstützt, müssen Sie die folgenden Richtlinien verwenden, um die MD5-Nachrichtendigest-Berechnung durchzuführen.

Anmerkung

Nehmen Sie bei der Berechnung des MD5-Nachrichten-Digest immer benutzerdefinierte Suffixe des Datentyps mit auf.

Übersicht

Im Folgenden finden Sie eine Übersicht über den MD5-Nachrichtendigest-Berechnungsalgorithmus:

  1. Er sortiert alle Nachrichtenattribute in aufsteigender Reihenfolge nach ihrem Namen.

  2. Er verschlüsselt die einzelnen Teile der Attribute (Name, Type und Value) im Puffer.

  3. Er berechnet den Nachrichtendigest des gesamten Puffers.

In der folgenden Abbildung ist die Verschlüsselung des MD5-Nachrichtendigests für ein einzelnes Nachrichtenattribut dargestellt:

Kodierung des MD5-Nachrichtendigests für ein einzelnes Nachrichtenattribut.

So verschlüsseln Sie ein einzelnes SQS-Nachrichtenattribut

  1. Verschlüsselung des Namens: Länge (4 Bytes) und UTF-8-Bytes des Namens.

  2. Verschlüsselung des Datentyps: Länge (4 Bytes) und UTF-8-Bytes des Datentyps.

  3. Verschlüsselung des Übertragungstyps (String oder Binary) des Werts (1 Byte).

    Anmerkung

    Für die logischen Datentypen String und Number wird der Übertragungstyp String verwendet.

    Für den logischen Datentyp Binary wird der Übertragungstyp Binary verwendet.

    1. Verwenden Sie für den Transporttyp String die Verschlüsselung 1.

    2. Verwenden Sie für den Transporttyp Binary die Verschlüsselung 2.

  4. Verschlüsselung des Attributwerts

    1. Verschlüsselung des Attributwerts für den Übertragungstyp String: Länge (4 Bytes) und UTF-8 Bytes des Werts.

    2. Verschlüsselung des Attributwerts für den Übertragungstyp Binary: Länge (4 Bytes) und Rohbytes des Werts.

Attribute des Amazon-SQS-Nachrichtensystems

Während Sie Nachrichtenattribute verwenden können, um Amazon-SQS-Nachrichten benutzerdefinierte Metadaten für Ihre Anwendungen anzufügen, können Sie Nachrichtensystemattribute verwenden, um Metadaten für andere AWS -Services wie AWS X-Ray zu speichern. Für weitere Informationen siehe den MessageSystemAttribute-Anforderungsparameter der API-Aktionen SendMessage und SendMessageBatch, das AWSTraceHeader-Attribut der API-Aktion ReceiveMessage sowie den MessageSystemAttributeValue-Datentyp in der Amazon-Simple-Queue-Service-API-Referenz.

Nachrichtensystemattribute sind genau wie Nachrichtenattribute strukturiert, mit folgenden Ausnahmen:

  • Derzeit wird AWSTraceHeader als einziges Nachrichtensystemattribut unterstützt. Sein Typ muss sein String und sein Wert muss eine korrekt formatierte AWS X-Ray Trace-Header-Zeichenfolge sein.

  • Die Größe eines Nachrichtensystemattributs zählt nicht zur Gesamtgröße einer Nachricht.