AWS Service Configuration

In diesem Beispiel wird aufgezeigt, wie aus der SPS mithilfe einer GET-Anfrage auf Services des Cloud-Anbieters Amazon Web Services (AWS) zugegriffen werden kann (Erforderliche TwinCAT-Version: 3.1.4024.12). Die REST API liefert alle Funktionen, die ein Benutzer auch in der Management-Konsole von AWS hat. Es können beispielsweise über den AWS EC2-Service virtuelle Maschinen instanziiert oder auch konfiguriert werden.

Das Kapitel AWS Signature Version 4 reißt kurz den Hintergrund der AWS-eigenen Signierungsfunktion an. Alles andere entnehmen Sie bitte der AWS-Dokumentation.

Wie bereits im Kapitel URL-Redirects beschrieben, wertet der IoT-Treiber keine URL-Um- und Weiterleitungen aus. Deshalb muss beim Zugriff auf den lokalen Endpoint eines AWS-Rechenzentrums immer die exakte Adresse angegeben werden. Wieder auf das Beispiel der EC2-Services bezogen bedeutet dies, dass sich ein Benutzer aus TwinCAT nicht mit ec2.amazonaws.com verbinden kann, sondern direkt die Region im Link mitgeben muss: ec2.eu-central-1.amazonaws.com.

Ein mögliches Vorgehen hier wäre: Alle verfügbaren Regionen über eine ortsunabhängige AWS-REST API-Funktion abholen und daraus den Region Endpoint für die gewünschte Region extrahieren. Dies hätte gegen eine statische Programmierung des Endpoints den Vorteil, dass Änderungen in der Endpoint-URL einer Region keine Änderungen im Programmcode nach sich ziehen würden.

AWS Service Configuration 1:

Alphabetische Sortierung notwendig

Die Request-URL muss ebenso wie der signierte Header alphabetisch sortiert werden. Bei dem signierten Header übernimmt dies der IoT-Treiber, bei der Request-URL muss der Benutzer selbst darauf achten, ansonsten kommt eine Fehlermeldung vom HTTP-Server.