Endpunkte der AAS-Infrastruktur
Übersicht der Endpunkte, die gegenüber den AAS-Infrastruktur-Services aufgerufen werden –
aufgeschlüsselt nach Viewer-Zugriffen (lesend) und Bearbeitungs-Zugriffen (schreibend).
Infrastruktur-Services
| Kürzel | Service | Funktion |
|---|
aas-repo | AAS Repository | Shells + Asset Information |
sm-repo | Submodel Repository | Submodels + Submodel Elements |
aas-reg | AAS Registry | Shell Descriptors (Endpunkt-URLs der AAS) |
sm-reg | Submodel Registry | Submodel Descriptors |
cd-repo | Concept Description Repository | Concept Descriptions |
discovery | Discovery Service | Auflösung AAS-ID ↔ Asset-ID |
Viewer-Zugriffe (lesend)
Diese Endpunkte werden beim Anzeigen einer AAS im Viewer benötigt.
| Methode | Endpunkt | Service | Beschreibung |
|---|
| GET | /lookup/shells?assetIds={assetId} | discovery | AAS-IDs zu einer Asset-ID ermitteln |
| GET | /shell-descriptors/{aasId} | aas-reg | Shell Descriptor laden (enthält Repository-Endpunkte) |
| GET | /submodel-descriptors/{submodelId} | sm-reg | Submodel Descriptor laden |
| GET | /shells/{aasId} | aas-repo | Shell (AAS) laden |
| GET | /shells/{aasId}/submodel-refs | aas-repo | Liste der Submodel-Referenzen einer Shell |
| GET | /shells/{aasId}/asset-information/thumbnail | aas-repo | Thumbnail des Assets laden |
| GET | /submodels/{submodelId} | sm-repo | Submodel laden |
| GET | /submodels/{submodelId}/submodel-elements/{idShortPath}/attachment | sm-repo | Datei-Anhang eines SubmodelElements laden |
| GET | /submodels/{submodelId}/submodel-elements/{idShortPath}/$value | sm-repo | Wert eines SubmodelElements lesen |
| GET | /concept-descriptions/{id} | cd-repo | Concept Description laden |
Operation-Ausführung im Viewer
Operationen werden im Viewer ebenfalls ausgeführt. Der Aufruf ist technisch schreibend (POST),
ändert aber nicht die AAS-Struktur – er löst eine Aktion am Asset aus.
| Methode | Endpunkt | Service | Beschreibung |
|---|
| POST | /submodels/{submodelId}/submodel-elements/{idShortPath}/invoke/$value | sm-repo | Operation synchron ausführen |
| POST | /submodels/{submodelId}/submodel-elements/{idShortPath}/invoke-async/$value | sm-repo | Operation asynchron ausführen |
Bearbeitungs-Zugriffe (schreibend)
Diese Endpunkte werden beim Erstellen, Bearbeiten oder Löschen von AAS-Inhalten genutzt.
AAS Repository
| Methode | Endpunkt | Beschreibung |
|---|
| POST | /shells | Shell anlegen |
| DELETE | /shells/{aasId} | Shell löschen |
| PUT | /shells/{aasId}/asset-information/thumbnail | Thumbnail hochladen |
Submodel Repository
| Methode | Endpunkt | Beschreibung |
|---|
| POST | /submodels | Submodel anlegen |
| PUT | /submodels/{submodelId} | Submodel aktualisieren |
| DELETE | /submodels/{submodelId} | Submodel löschen |
| PUT | /submodels/{submodelId}/submodel-elements/{idShortPath}/attachment | Datei-Anhang hochladen |
| PUT | /submodels/{submodelId}/submodel-elements/{idShortPath}/$value | Wert eines SubmodelElements schreiben |
Concept Description Repository
| Methode | Endpunkt | Beschreibung |
|---|
| POST | /concept-descriptions | Concept Description anlegen |
| PUT | /concept-descriptions/{id} | Concept Description aktualisieren |
AAS Registry
| Methode | Endpunkt | Beschreibung |
|---|
| POST | /shell-descriptors | Shell Descriptor anlegen |
| PUT | /shell-descriptors/{aasId} | Shell Descriptor aktualisieren |
| DELETE | /shell-descriptors/{aasId} | Shell Descriptor löschen |
Submodel Registry
| Methode | Endpunkt | Beschreibung |
|---|
| POST | /submodel-descriptors | Submodel Descriptor anlegen |
| PUT | /submodel-descriptors/{submodelId} | Submodel Descriptor aktualisieren |
| DELETE | /submodel-descriptors/{submodelId} | Submodel Descriptor löschen |
Discovery Service
| Methode | Endpunkt | Beschreibung |
|---|
| POST | /lookup/shells/{aasId} | AAS-ID mit Asset-ID im Discovery registrieren |
| DELETE | /lookup/shells/{aasId} | AAS-ID aus dem Discovery entfernen |
Hinweise
- Alle Identifier (
{aasId}, {submodelId}, {id}) werden Base64url-kodiert übergeben (gemäß AAS API v3).
- Die konkreten Basis-URLs der Services werden pro Infrastruktur-Konfiguration hinterlegt und können je Umgebung variieren.
- Der Zugriff auf die Infrastruktur-Services erfolgt im Backend über einen internen Proxy (
/designer-api/aas-proxy/{infraId}/{service}/...), der Authentifizierung und Routing übernimmt.
- Existiert eine AAS in keinem Repository mehr (alle Endpunkte antworten mit 404), liefert das Backend beim Laden 404. Beim Löschen einer solchen verwaisten AAS werden die Shell- und Submodel-Descriptors aus den Registries sowie der Discovery-Eintrag trotzdem entfernt; die Submodel-IDs stammen dabei aus dem Shell Descriptor der Registry.
- Der Markt-Viewer nutzt einen separaten Read-only-Proxy (
/designer-api/aas-viewer-proxy/call?target=...) und erhält die Endpunkte über den Viewer Descriptor (/aas-viewer-api/descriptor).