AWS IoT TwinMaker Datenkonnektoren - AWS IoT TwinMaker

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.

AWS IoT TwinMaker Datenkonnektoren

Konnektoren benötigen Zugriff auf Ihren zugrunde liegenden Datenspeicher, um gesendete Abfragen zu lösen und entweder Ergebnisse oder einen Fehler zurückzugeben.

Informationen zu den verfügbaren Konnektoren, ihren Anforderungs- und Antwortschnittstellen finden Sie in den folgenden Themen.

Weitere Informationen zu den in den Konnektorschnittstellen verwendeten Eigenschaften finden Sie in der GetPropertyValueHistoryAPI-Aktion.

Anmerkung

Einige Konnektoren verfügen sowohl in der Anforderungs- als auch in der Antwortschnittstelle über zwei Zeitstempelfelder für die Eigenschaften der Startzeit und der Endzeit. Beide startDateTime endDateTime verwenden eine lange Zahl, um die Epochensekunde darzustellen, was nicht mehr unterstützt wird. Aus Gründen der Abwärtskompatibilität senden wir immer noch einen Zeitstempelwert an dieses Feld. Wir empfehlen jedoch, die endTime Felder startTime und zu verwenden, die mit unserem API-Zeitstempelformat übereinstimmen.

Konnektor für den Schema-Initialisierer

Sie können den Schemainitialisierer im Komponententyp- oder Entitätslebenszyklus verwenden, um den Komponententyp oder die Komponenteneigenschaften aus der zugrunde liegenden Datenquelle abzurufen. Der Schemainitialisierer importiert automatisch Komponententyp- oder Komponenteneigenschaften, ohne explizit eine API-Aktion zur Einrichtung aufzurufen. properties

SchemaInitializer Schnittstelle anfordern

{ "workspaceId": "string", "entityId": "string", "componentName": "string", "properties": { // property name as key, // value is of type PropertyRequest "string": "PropertyRequest" } }
Anmerkung

Die Zuordnung der Eigenschaften in dieser Anforderungsschnittstelle ist einePropertyRequest. Weitere Informationen finden Sie unter PropertyRequest.

SchemaInitializer Antwortschnittstelle

{ "properties": { // property name as key, // value is of type PropertyResponse "string": "PropertyResponse" } }
Anmerkung

Die Zuordnung der Eigenschaften in dieser Anforderungsschnittstelle ist einePropertyResponse. Weitere Informationen finden Sie unter PropertyResponse.

DataReaderByEntity

DataReaderByEntity ist ein Datenebenenanschluss, der verwendet wird, um die Zeitreihenwerte von Eigenschaften in einer einzelnen Komponente abzurufen.

Informationen zu den Eigenschaftstypen, der Syntax und dem Format dieses Konnektors finden Sie in der GetPropertyValueHistoryAPI-Aktion.

DataReaderByEntitySchnittstelle anfordern

{ "startDateTime": long, // In epoch sec, deprecated "startTime": "string", // ISO-8601 timestamp format "endDateTime": long, // In epoch sec, deprecated "endTime": "string", // ISO-8601 timestamp format "properties": { // A map of properties as in the get-entity API response // property name as key, // value is of type PropertyResponse "string": "PropertyResponse" }, "workspaceId": "string", "selectedProperties": List:"string", "propertyFilters": List:PropertyFilter, "entityId": "string", "componentName": "string", "componentTypeId": "string", "interpolation": InterpolationParameters, "nextToken": "string", "maxResults": int, "orderByTime": "string" }

DataReaderByEntityAntwortschnittstelle

{ "propertyValues": [ { "entityPropertyReference": EntityPropertyReference, // The same as EntityPropertyReference "values": [ { "timestamp": long, // Epoch sec, deprecated "time": "string", // ISO-8601 timestamp format "value": DataValue // The same as DataValue } ] } ], "nextToken": "string" }

DataReaderByComponentType

Verwenden Sie den Datenebenenanschluss DataReaderByEntity, um die Zeitreihenwerte gemeinsamer Eigenschaften zu ermitteln, die aus demselben Komponententyp stammen. Wenn Sie beispielsweise Zeitreiheneigenschaften für den Komponententyp definieren und mehrere Komponenten diesen Komponententyp verwenden, können Sie diese Eigenschaften für alle Komponenten in einem bestimmten Zeitraum abfragen. Ein häufiger Anwendungsfall hierfür ist, wenn Sie den Alarmstatus mehrerer Komponenten abfragen möchten, um eine globale Ansicht Ihrer Entitäten zu erhalten.

Informationen zu den Eigenschaftstypen, der Syntax und dem Format dieses Konnektors finden Sie in der GetPropertyValueHistoryAPI-Aktion.

DataReaderByComponentType Schnittstelle anfordern

{ "startDateTime": long, // In epoch sec, deprecated "startTime": "string", // ISO-8601 timestamp format "endDateTime": long, // In epoch sec, deprecated "endTime": "string", // ISO-8601 timestamp format "properties": { // A map of properties as in the get-entity API response // property name as key, // value is of type PropertyResponse "string": "PropertyResponse" }, "workspaceId": "string", "selectedProperties": List:"string", "propertyFilters": List:PropertyFilter, "componentTypeId": "string", "interpolation": InterpolationParameters, "nextToken": "string", "maxResults": int, "orderByTime": "string" }

DataReaderByComponentType Antwortschnittstelle

{ "propertyValues": [ { "entityPropertyReference": EntityPropertyReference, // The same as EntityPropertyReference "entityId": "string", "componentName": "string", "values": [ { "timestamp": long, // Epoch sec, deprecated "time": "string", // ISO-8601 timestamp format "value": DataValue // The same as DataValue } ] } ], "nextToken": "string" }

DataReader

DataReader ist ein Datenebenenanschluss, der sowohl den Fall von DataReaderByEntity als auch verarbeiten kann DataReaderByComponentType.

Informationen zu den Eigenschaftstypen, der Syntax und dem Format dieses Konnektors finden Sie in der GetPropertyValueHistoryAPI-Aktion.

DataReader Schnittstelle anfordern

EntityId und componentName sind optional.

{ "startDateTime": long, // In epoch sec, deprecated "startTime": "string", // ISO-8601 timestamp format "endDateTime": long, // In epoch sec, deprecated "endTime": "string", // ISO-8601 timestamp format "properties": { // A map of properties as in the get-entity API response // property name as key, // value is of type PropertyRequest "string": "PropertyRequest" }, "workspaceId": "string", "selectedProperties": List:"string", "propertyFilters": List:PropertyFilter, "entityId": "string", "componentName": "string", "componentTypeId": "string", "interpolation": InterpolationParameters, "nextToken": "string", "maxResults": int, "orderByTime": "string" }

DataReader Antwortschnittstelle

{ "propertyValues": [ { "entityPropertyReference": EntityPropertyReference, // The same as EntityPropertyReference "values": [ { "timestamp": long, // Epoch sec, deprecated "time": "string", // ISO-8601 timestamp format "value": DataValue // The same as DataValue } ] } ], "nextToken": "string" }

AttributePropertyValueReaderByEntity

AttributePropertyValueReaderByEntity ist ein Datenebenen-Konnektor, mit dem Sie den Wert statischer Eigenschaften in einer einzelnen Entität abrufen können.

Informationen zu den Eigenschaftstypen, der Syntax und dem Format dieses Konnektors finden Sie in der GetPropertyValueAPI-Aktion.

AttributePropertyValueReaderByEntity Schnittstelle anfordern

{ "properties": { // property name as key, // value is of type PropertyResponse "string": "PropertyResponse" } "workspaceId": "string", "entityId": "string", "componentName": "string", "selectedProperties": List:"string", }

AttributePropertyValueReaderByEntity Antwortschnittstelle

{ "propertyValues": { "string": { // property name as key "propertyReference": EntityPropertyReference, // The same as EntityPropertyReference "propertyValue": DataValue // The same as DataValue } }

DataWriter

DataWriter ist ein Datenebenenanschluss, mit dem Sie Zeitreihen-Datenpunkte für Eigenschaften in einer einzelnen Komponente in den zugrunde liegenden Datenspeicher zurückschreiben können.

Informationen zu den Eigenschaftstypen, der Syntax und dem Format dieses Konnektors finden Sie in der BatchPutPropertyValuesAPI-Aktion.

DataWriter Schnittstelle anfordern

{ "workspaceId": "string", "properties": { // entity id as key "String": { // property name as key, // value is of type PropertyResponse "string": PropertyResponse } }, "entries": [ { "entryId": "string", "entityPropertyReference": EntityPropertyReference, // The same as EntityPropertyReference "propertyValues": [ { "timestamp": long, // Epoch sec, deprecated "time": "string", // ISO-8601 timestamp format "value": DataValue // The same as DataValue } ] } ] }

DataWriter Antwortschnittstelle

{ "errorEntries": [ { "errors": List:BatchPutPropertyError // The value is a list of type BatchPutPropertyError } ] }

Beispiele

Die folgenden JSON-Beispiele sind Beispiele für die Antwort- und Anforderungssyntax für mehrere Konnektoren.

  • SchemaInitializer:

    Die folgenden Beispiele zeigen den Schemainitialisierer in einem Lebenszyklus eines Komponententyps.

    Anfrage:

    { "workspaceId": "myWorkspace", "properties": { "modelId": { "definition": { "dataType": { "type": "STRING" }, "isExternalId": true, "isFinal": true, "isImported": false, "isInherited": false, "isRequiredInEntity": true, "isStoredExternally": false, "isTimeSeries": false, "defaultValue": { "stringValue": "myModelId" } }, "value": { "stringValue": "myModelId" } }, "tableName": { "definition": { "dataType": { "type": "STRING" }, "isExternalId": false, "isFinal": false, "isImported": false, "isInherited": false, "isRequiredInEntity": false, "isStoredExternally": false, "isTimeSeries": false, "defaultValue": { "stringValue": "myTableName" } }, "value": { "stringValue": "myTableName" } } } }

    Antwort:

    { "properties": { "myProperty1": { "definition": { "dataType": { "type": "DOUBLE", "unitOfMeasure": "%" }, "configuration": { "myProperty1Id": "idValue" }, "isTimeSeries": true } }, "myProperty2": { "definition": { "dataType": { "type": "STRING" }, "isTimeSeries": false, "defaultValue": { "stringValue": "property2Value" } } } } }
  • Schemainitialisierer im Entitätslebenszyklus:

    Anfrage:

    { "workspaceId": "myWorkspace", "entityId": "myEntity", "componentName": "myComponent", "properties": { "assetId": { "definition": { "dataType": { "type": "STRING" }, "isExternalId": true, "isFinal": true, "isImported": false, "isInherited": false, "isRequiredInEntity": true, "isStoredExternally": false, "isTimeSeries": false }, "value": { "stringValue": "myAssetId" } }, "tableName": { "definition": { "dataType": { "type": "STRING" }, "isExternalId": false, "isFinal": false, "isImported": false, "isInherited": false, "isRequiredInEntity": false, "isStoredExternally": false, "isTimeSeries": false }, "value": { "stringValue": "myTableName" } } } }

    Antwort:

    { "properties": { "myProperty1": { "definition": { "dataType": { "type": "DOUBLE", "unitOfMeasure": "%" }, "configuration": { "myProperty1Id": "idValue" }, "isTimeSeries": true } }, "myProperty2": { "definition": { "dataType": { "type": "STRING" }, "isTimeSeries": false }, "value": { "stringValue": "property2Value" } } } }
  • DataReaderByEntity und: DataReader

    Anfrage:

    { "workspaceId": "myWorkspace", "entityId": "myEntity", "componentName": "myComponent", "selectedProperties": [ "Temperature", "Pressure" ], "startTime": "2022-04-07T04:04:42Z", "endTime": "2022-04-07T04:04:45Z", "maxResults": 4, "orderByTime": "ASCENDING", "properties": { "assetId": { "definition": { "dataType": { "type": "STRING" }, "isExternalId": true, "isFinal": true, "isImported": false, "isInherited": false, "isRequiredInEntity": true, "isStoredExternally": false, "isTimeSeries": false }, "value": { "stringValue": "myAssetId" } }, "Temperature": { "definition": { "configuration": { "temperatureId": "xyz123" }, "dataType": { "type": "DOUBLE", "unitOfMeasure": "DEGC" }, "isExternalId": false, "isFinal": false, "isImported": true, "isInherited": false, "isRequiredInEntity": false, "isStoredExternally": false, "isTimeSeries": true } }, "Pressure": { "definition": { "configuration": { "pressureId": "xyz456" }, "dataType": { "type": "DOUBLE", "unitOfMeasure": "MPA" }, "isExternalId": false, "isFinal": false, "isImported": true, "isInherited": false, "isRequiredInEntity": false, "isStoredExternally": false, "isTimeSeries": true } } } }

    Antwort:

    { "propertyValues": [ { "entityPropertyReference": { "entityId": "myEntity", "componentName": "myComponent", "propertyName": "Temperature" }, "values": [ { "time": "2022-04-07T04:04:42Z", "value": { "doubleValue": 588.168 } }, { "time": "2022-04-07T04:04:43Z", "value": { "doubleValue": 592.4224 } } ] } ], "nextToken": "qwertyuiop" }
  • AttributePropertyValueReaderByEntity:

    Anfrage:

    { "workspaceId": "myWorkspace", "entityId": "myEntity", "componentName": "myComponent", "selectedProperties": [ "manufacturer", ], "properties": { "assetId": { "definition": { "dataType": { "type": "STRING" }, "isExternalId": true, "isFinal": true, "isImported": false, "isInherited": false, "isRequiredInEntity": true, "isStoredExternally": false, "isTimeSeries": false }, "value": { "stringValue": "myAssetId" } }, "manufacturer": { "definition": { "dataType": { "type": "STRING" }, "configuration": { "manufacturerPropId": "M001" }, "isExternalId": false, "isFinal": false, "isImported": false, "isInherited": false, "isRequiredInEntity": false, "isStoredExternally": true, "isTimeSeries": false } } } }

    Antwort:

    { "propertyValues": { "manufacturer": { "propertyReference": { "propertyName": "manufacturer", "entityId": "myEntity", "componentName": "myComponent" }, "propertyValue": { "stringValue": "Amazon" } } } }
  • DataWriter:

    Anfrage:

    { "workspaceId": "myWorkspaceId", "properties": { "myEntity": { "Temperature": { "definition": { "configuration": { "temperatureId": "xyz123" }, "dataType": { "type": "DOUBLE", "unitOfMeasure": "DEGC" }, "isExternalId": false, "isFinal": false, "isImported": true, "isInherited": false, "isRequiredInEntity": false, "isStoredExternally": false, "isTimeSeries": true } } } }, "entries": [ { "entryId": "myEntity", "entityPropertyReference": { "entityId": "myEntity", "componentName": "myComponent", "propertyName": "Temperature" }, "propertyValues": [ { "timestamp": 1626201120, "value": { "doubleValue": 95.6958 } }, { "timestamp": 1626201132, "value": { "doubleValue": 80.6959 } } ] } ] }

    Antwort:

    { "errorEntries": [ { "errors": [ { "errorCode": "409", "errorMessage": "Conflict value at same timestamp", "entry": { "entryId": "myEntity", "entityPropertyReference": { "entityId": "myEntity", "componentName": "myComponent", "propertyName": "Temperature" }, "propertyValues": [ "time": "2022-04-07T04:04:42Z", "value": { "doubleValue": 95.6958 } ] } } ] } ] }