

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.

# Timestream
<a name="timestream-rule-action"></a>

Die Timestream-Regelaktion schreibt Attribute (Kennzahlen) aus einer MQTT-Nachricht in eine Amazon Timestream-Tabelle. Für weitere Informationen über Amazon Timestream, siehe [Was ist Amazon Timestream?](https://docs.aws.amazon.com/timestream/latest/developerguide/what-is-timestream.html)

**Anmerkung**  
Amazon Timestream ist nicht in allen AWS-Region s verfügbar. Wenn Amazon Timestream in Ihrer Region nicht verfügbar ist, wird es nicht in der Liste der Regelaktionen angezeigt.

Die Attribute, die diese Regel in der Timestream-Datenbank speichert, sind diejenigen, die sich aus der Abfrageanweisung der Regel ergeben. Der Wert jedes Attributs im Ergebnis der Abfrageanweisung wird analysiert, um auf seinen Datentyp zu schließen (wie bei einer [Dynamo DBv2](dynamodb-v2-rule-action.md) Aktion). Der Wert jedes Attributs wird in einen eigenen Datensatz in der Timestream-Tabelle geschrieben. Um den Datentyp eines Attributs anzugeben oder zu ändern, verwenden Sie die [`cast()`](iot-sql-functions.md#iot-sql-function-cast) Funktion in der Abfrageanweisung. Weitere Informationen zum Inhalt der einzelnen Timestream-Datensätze finden Sie unter [Timestream-Datensatzinhalte](#timestream-rule-action-data).

**Anmerkung**  
Mit SQL V2 (23.03.2016) werden numerische Werte, die ganze Zahlen sind, wie z. B. `10.0`, in ihre Integer-Darstellung (`10`) umgewandelt. Sie explizit in einen `Decimal` Wert umzuwandeln, z. B. mithilfe der Funktion [cast ()](iot-sql-functions.md#iot-sql-function-cast), verhindert dieses Verhalten nicht — das Ergebnis ist immer noch ein `Integer` Wert. Dies kann zu Typkonflikten führen, die verhindern, dass Daten in der Timestream-Datenbank aufgezeichnet werden. Um ganzzahlige numerische Werte als `Decimal` Werte zu verarbeiten, verwenden Sie SQL V1 (2015-10-08) für die Regelabfrageanweisung.

**Anmerkung**  
Die maximale Anzahl von Werten, die eine Timestream-Regelaktion in eine Amazon Timestream-Tabelle schreiben kann, ist 100. Weitere Informationen finden Sie unter [Amazon Timestream Quota's Referenz](https://docs.aws.amazon.com//timestream/latest/developerguide/ts-limits.html#limits.default). 

## Voraussetzungen
<a name="timestream-rule-action-requirements"></a>

Diese Regelaktion hat die folgenden Anforderungen:
+ Eine IAM-Rolle, die die Ausführung der `timestream:DescribeEndpoints` AND-Operationen übernehmen AWS IoT kann. `timestream:WriteRecords` Weitere Informationen finden Sie unter [Gewähren Sie einer AWS IoT Regel den Zugriff, den sie benötigt](iot-create-role.md).

  In der AWS IoT Konsole können Sie eine Rolle auswählen, aktualisieren oder erstellen, um die Ausführung dieser Regelaktion AWS IoT zu ermöglichen.
+ Wenn Sie einen Kunden verwenden AWS KMS , um Daten im Ruhezustand in Timestream zu verschlüsseln, muss der Dienst die Erlaubnis haben, das im Namen des AWS KMS key Anrufers zu verwenden. Weitere Informationen finden Sie unter [So verwenden AWS Dienste KMS](https://docs.aws.amazon.com/kms/latest/developerguide/service-integration.html). AWS 

## Parameters
<a name="timestream-rule-action-parameters"></a>

Wenn Sie mit dieser Aktion eine AWS IoT Regel erstellen, müssen Sie die folgenden Informationen angeben:

`databaseName`  
Der Name einer Amazon-Timestream-Datenbank, die über die Tabelle verfügt, in der die von dieser Aktion erstellten Datensätze empfangen werden sollen. Siehe auch `tableName`.  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): API und nur AWS CLI 

`dimensions`  
Metadatenattribute der Zeitreihen, die in jedem Messdatensatz geschrieben werden. Beispielsweise sind der Name und die Availability Zone einer EC2-Instance oder der Name des Herstellers einer Windkraftanlage Dimensionen.    
`name`  
Der Name der Metadatendimension. Dies ist der Name der Spalte im Datensatz der Datenbanktabelle.  
Dimensionen können nicht benannt werden: `measure_name`, `measure_value`, oder `time`. Diese Namen sind vorbehalten. Dimensionsnamen dürfen nicht mit `ts_` oder `measure_value` beginnen und dürfen keinen Doppelpunkt (`:`) enthalten.  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Nein  
`value`  
Der Wert, der in diese Spalte des Datenbankdatensatzes geschrieben werden soll.  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Ja

`roleArn`  
Der Amazon-Ressourcenname (ARN) der Rolle, die AWS IoT die Berechtigung zum Schreiben in die Timestream-Datenbanktabelle gewährt. Weitere Informationen finden Sie unter [Voraussetzungen](#timestream-rule-action-requirements).  
Unterstützt [Ersatzvorlagen](iot-substitution-templates.md): Nein

`tableName`  
Der Name der Datenbanktabelle, in die die Messdatensätze geschrieben werden sollen. Siehe auch `databaseName`.  
Unterstützt [Substitutionsvorlagen](iot-substitution-templates.md): API und nur AWS CLI 

`timestamp`  
 Der Wert, der für den Zeitstempel des Eintrags verwendet werden soll. Wenn das Feld leer ist, wird die Zeit verwendet, zu der der Eintrag verarbeitet wurde.     
`unit`  
Die Genauigkeit des Zeitstempelwerts, die sich aus dem unter `value` beschriebenen Ausdruck ergibt.  
Zulässige Werte: `SECONDS` \$1 `MILLISECONDS` \$1 `MICROSECONDS` \$1 `NANOSECONDS`. Der Standardwert ist `MILLISECONDS`.  
`value`  
Ein Ausdruck, der einen Wert für lange Epochenzeit zurückgibt.  
Sie können die [time\$1to\$1epoch (Zeichenfolge, Zeichenfolge)](iot-sql-functions.md#iot-sql-function-time-to-epoch) Funktion verwenden, um einen gültigen Zeitstempel aus einem Datums- oder Uhrzeitwert zu erstellen, der in der Nachrichtennutzlast übergeben wurde. 

## Timestream-Datensatzinhalte
<a name="timestream-rule-action-data"></a>

Die durch diese Aktion in die Amazon Timestream-Tabelle geschriebenen Daten umfassen einen Zeitstempel, Metadaten aus der Timestream-Regelaktion und das Ergebnis der Abfrageanweisung der Regel.

Für jedes Attribut (Kennzahl) im Ergebnis der Abfrageanweisung schreibt diese Regelaktion einen Datensatz mit diesen Spalten in die angegebene Timestream-Tabelle.


|  Name der Spalte  |  Attribut Typ  |  Wert  |  Kommentare  | 
| --- | --- | --- | --- | 
|  *dimension-name*  |  DIMENSION  |  Der im Aktionseintrag für die Timestream-Regel angegebene Wert.  |  Jede im Regelaktionseintrag angegebene **Dimension** erstellt eine Spalte in der Timestream-Datenbank mit dem Namen der Dimension.  | 
|  measure\$1name  |  MEASURE\$1NAME  |  Der Name des Attributs  |  Der Name des Attributs im Ergebnis der Abfrageanweisung, dessen Wert in der `measure_value::data-type` Spalte angegeben ist.  | 
|  Messwert:: *data-type*  |  MESS\$1WERT  |  Der Wert des Attributs im Ergebnis der Abfrageanweisung. Der Name des Attributs steht in der `measure_name` Spalte.  |  Der Wert wird interpretiert\$1 und als die am besten geeignete Übereinstimmung von: `bigint`, `boolean`, `double`, oder `varchar` gewertet. Amazon Timestream erstellt für jeden Datentyp eine separate Spalte. Der Wert in der Nachricht kann mithilfe der [`cast()`](iot-sql-functions.md#iot-sql-function-cast) Funktion in der Abfrageanweisung der Regel in einen anderen Datentyp umgewandelt werden.  | 
|  time  |  TIMESTAMP (ZEITSTEMPEL)  |  Das Datum und die Uhrzeit des Datensatzes in der Datenbank.  |  Dieser Wert wird von der Regel-Engine oder der `timestamp` Eigenschaft zugewiesen, sofern sie definiert ist.  | 

\$1 Der aus der Nachrichtennutzlast gelesene Attributwert wird wie folgt interpretiert. Eine Veranschaulichung der einzelnen Fälle finden Sie in der [Beispiele](#timestream-rule-action-examples).
+ Ein Wert von `true` oder `false` ohne Anführungszeichen wird als `boolean` Typ interpretiert.
+ Eine dezimale Zahl wird als `double` Typ interpretiert.
+ Ein numerischer Wert ohne Dezimalpunkt wird als `bigint` Typ interpretiert.
+ Eine Zeichenfolge in Anführungszeichen wird als `varchar` Typ interpretiert.
+ Objekte und Array-Werte werden in JSON-Zeichenketten konvertiert und als `varchar` Typ gespeichert.

## Beispiele
<a name="timestream-rule-action-examples"></a>

Das folgende JSON-Beispiel definiert eine Timestream-Regelaktion mit einer Ersatzvorlage in einer Regel. AWS IoT 

```
{
  "topicRulePayload": {
    "sql": "SELECT * FROM 'iot/topic'",
    "ruleDisabled": false,
    "awsIotSqlVersion": "2016-03-23",
    "actions": [
      {
        "timestream": {
          "roleArn": "arn:aws:iam::123456789012:role/aws_iot_timestream",
          "tableName": "devices_metrics",
          "dimensions": [
            {
              "name": "device_id",
              "value": "${clientId()}"
            },
            {
              "name": "device_firmware_sku",
              "value": "My Static Metadata"
            }
          ],
          "databaseName": "record_devices"
        }
      }
    ]
  }
}
```

Die Verwendung der im vorherigen Beispiel definierten Timestream-Themenregelaktion mit der folgenden Nachrichtennutzlast führt zu den Amazon Timestream-Datensätzen, die in der folgenden Tabelle aufgeführt sind.

```
{
  "boolean_value": true,
  "integer_value": 123456789012,
  "double_value": 123.456789012,
  "string_value": "String value",
  "boolean_value_as_string": "true",
  "integer_value_as_string": "123456789012",
  "double_value_as_string": "123.456789012",
  "array_of_integers": [23,36,56,72],
  "array of strings": ["red", "green","blue"],
  "complex_value": {
    "simple_element": 42,
    "array_of_integers": [23,36,56,72],
    "array of strings": ["red", "green","blue"]
  }
}
```

In der folgenden Tabelle werden die Datenbankspalten und Datensätze angezeigt, die durch die Verwendung der angegebenen Themenregelaktion zur Verarbeitung der vorherigen Nachrichtennutzlast erstellt wurden. Die `device_firmware_sku` und `device_id` Spalten sind die DIMENSIONEN, die in der Themenregelaktion definiert sind. Die Timestream-Themenregelaktion erstellt die `time` Spalte und die `measure_name` und `measure_value::*` Spalten, die sie mit den Werten aus dem Ergebnis der Abfrageanweisung der Themenregelaktion füllt. 


| device\$1firmware\$1sku | Gerät\$1ID | measure\$1name | Messwert::bigint | Messwert::varchar | Messwert::doppelt | Messwert::boolean | time | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Meine statischen Metadaten | iotconsole-159 -0 EXAMPLE738 | komplexer\$1Wert | - | \$1"simple\$1element":42,"array\$1of\$1integers":[23,36,56,72],"array of strings":["red","green","blue"]\$1 | - | - | 2020-08-26 22:42:16.423000000 | 
| Meine statischen Metadaten | iot-Konsole-159 -0 EXAMPLE738 | Integer\$1Wert\$1als\$1Zeichenfolge | - | 123456789012 | - | - | 2020-08-26 22:42:16.423000000 | 
| Meine statischen Metadaten | iot-Konsole-159 -0 EXAMPLE738 | boolescher\$1Wert | - | - | - | TRUE | 2020-08-26 22:42:16.423000000 | 
| Meine statischen Metadaten | iot-Konsole-159 -0 EXAMPLE738 | Integer\$1Wert | 123456789012 | - | - | - | 2020-08-26 22:42:16.423000000 | 
| Meine statischen Metadaten | iot-Konsole-159 -0 EXAMPLE738 | Zeichenfolge\$1Wert | - | Zeichenfolge\$1Wert | - | - | 2020-08-26 22:42:16.423000000 | 
| Meine statischen Metadaten | iot-Konsole-159 -0 EXAMPLE738 | Array\$1von\$1ganzen\$1Zahlen | - | [23,36,56,72] | - | - | 2020-08-26 22:42:16.423000000 | 
| Meine statischen Metadaten | iot-Konsole-159 -0 EXAMPLE738 | Zeichenfolgen-Array | - | ["red","green","blue"] | - | - | 2020-08-26 22:42:16.423000000 | 
| Meine statischen Metadaten | iot-Konsole-159 -0 EXAMPLE738 | boolescher\$1Wert\$1als\$1Zeichenfolge | - | TRUE | - | - | 2020-08-26 22:42:16.423000000 | 
| Meine statischen Metadaten | iot-Konsole-159 -0 EXAMPLE738 | doppelter\$1Wert | - | - | 123,456789012 | - | 2020-08-26 22:42:16.423000000 | 
| Meine statischen Metadaten | IoT-Konsole-159 -0 EXAMPLE738 | doppelter Wert\$1als\$1Zeichenfolge | - | 123,45679 | - | - | 2020-08-26 22:42:16.423000000 | 