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.
Validierung des Ablaufs von Protokollereignissen
Nachdem Sie den Abonnementfilter erstellt haben, leitet CloudWatch Logs alle eingehenden Protokollereignisse, die dem Filtermuster entsprechen, an den Stream weiter, der im Zielstream mit dem Namen "" gekapselt ist. RecipientStream Der Zielbesitzer kann überprüfen, ob dies geschieht, indem er den get-shard-iterator Befehl aws kinesis verwendet, um einen Kinesis Data Streams Streams-Shard abzurufen, und den Befehl aws kinesis get-records verwendet, um einige Kinesis Data Streams Streams-Datensätze abzurufen:
aws kinesis get-shard-iterator \ --stream-name RecipientStream \ --shard-id shardId-000000000000 \ --shard-iterator-type TRIM_HORIZON
{ "ShardIterator": "AAAAAAAAAAFGU/kLvNggvndHq2UIFOw5PZc6F01s3e3afsSscRM70JSbjIefg2ub07nk1y6CDxYR1UoGHJNP4m4NFUetzfL+wev+e2P4djJg4L9wmXKvQYoE+rMUiFq+p4Cn3IgvqOb5dRA0yybNdRcdzvnC35KQANoHzzahKdRGb9v4scv+3vaq+f+OIK8zM5My8ID+g6rMo7UKWeI4+IWiKEXAMPLE" }aws kinesis get-records \ --limit 10 \ --shard-iterator "AAAAAAAAAAFGU/kLvNggvndHq2UIFOw5PZc6F01s3e3afsSscRM70JSbjIefg2ub07nk1y6CDxYR1UoGHJNP4m4NFUetzfL+wev+e2P4djJg4L9wmXKvQYoE+rMUiFq+p4Cn3IgvqOb5dRA0yybNdRcdzvnC35KQANoHzzahKdRGb9v4scv+3vaq+f+OIK8zM5My8ID+g6rMo7UKWeI4+IWiKEXAMPLE"
Anmerkung
Sie müssen den Befehl „get-records“ möglicherweise einige Male erneut ausführen, bevor Kinesis Data Streams Daten zurückgibt.
Sie sollten eine Antwort mit einem Array von Kinesis-Data-Streams-Datensätzen erhalten. Das Datenattribut im Kinesis-Data-Streams-Datensatz wird im GZIP-Format komprimiert und dann base64-kodiert. Sie können die Rohdaten über die Befehlszeile mit dem folgenden Unix-Befehl überprüfen:
echo -n "<
Content of Data
>" | base64 -d | zcat
Die dekodierten und dekomprimierten base64-Daten sind als JSON mit folgender Struktur formatiert:
{
"owner": "111111111111",
"logGroup": "CloudTrail/logs",
"logStream": "111111111111_CloudTrail/logs_us-east-1",
"subscriptionFilters": [
"RecipientStream"
],
"messageType": "DATA_MESSAGE",
"logEvents": [
{
"id": "3195310660696698337880902507980421114328961542429EXAMPLE",
"timestamp": 1432826855000,
"message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}"
},
{
"id": "3195310660696698337880902507980421114328961542429EXAMPLE",
"timestamp": 1432826855000,
"message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}"
},
{
"id": "3195310660696698337880902507980421114328961542429EXAMPLE",
"timestamp": 1432826855000,
"message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}"
}
]
}
Die wichtigsten Elemente in dieser Datenstruktur lauten wie folgt:
- owner
-
Die AWS Konto-ID der ursprünglichen Protokolldaten.
- logGroup
-
Der Name der Protokollgruppe der ursprünglichen Protokolldaten.
- logStream
-
Der Name des Protokoll-Stream der ursprünglichen Protokolldaten.
- subscriptionFilters
-
Die Namenliste der Abonnementfilter, die mit den ursprünglichen Protokolldaten übereingestimmt haben.
- messageType
-
Datennachrichten verwenden den Typ „DATA_MESSAGE“. Manchmal geben CloudWatch Logs Kinesis Data Streams Streams-Datensätze mit dem Typ „CONTROL_MESSAGE“ aus, hauptsächlich um zu überprüfen, ob das Ziel erreichbar ist.
- logEvents
-
Die tatsächlichen Protokolldaten, die als Array von Protokollereignis-Datensätzen dargestellt werden. Die ID-Eigenschaft ist eine eindeutige Kennung für jedes Protokollereignis.