Last modified by jklein on 2025/02/13 13:15

From version 20.1
edited by jklein
on 2025/02/06 12:49
Change comment: There is no comment for this version
To version 24.1
edited by jklein
on 2025/02/06 15:03
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -24,7 +24,7 @@
24 24  1. Legen Sie einen neuen Ordner mit dem Namen //ISSACMPConnector// im Datei-Explorer an.
25 25  1. Klicken Sie mit einem Rechtsklick auf den neuen Ordner, um das Kontextmenü zu öffnen.
26 26  1. Wählen Sie im Kontextmenü den Eintrag //Mit Code öffnen //aus, damit direkt das richtige Verzeichnis geöffnet wird.
27 -1. Erstellen Sie eine neue Datei mit der Endung **//.psm1 //**(z.B. Microservice.psm1). Bei dieser Datei handelt es sich um ein PowerShell-Modul, in dem nun die Businesslogik implementiert werden kann.{{aagon.infobox}}Das Erstellen dieser Datei ist notwendig, damit eine PowerShell-Session mit dem Terminal in Visual Studio Code geöffnet wird.{{/aagon.infobox}}
27 +1. Erstellen Sie eine neue Datei mit der Endung **//.psm1 //**(z.B. Modul.psm1). Bei dieser Datei handelt es sich um ein PowerShell-Modul, in dem nun die Businesslogik implementiert werden kann.{{aagon.infobox}}Das Erstellen dieser Datei ist notwendig, damit eine PowerShell-Session mit dem Terminal in Visual Studio Code geöffnet wird.{{/aagon.infobox}}
28 28  1. Geben Sie im Terminal den Befehl //{{code language="PowerShell"}}code $profile{{/code}} //ein und bestätigen Sie mit der Eingabetaste. Nun öffnet sich die Datei //Microsoft.VSCode_profile.ps1//,// //mit der Sie das verwendete PowerShell-Profil anpassen können.
29 29  1. Fügen Sie den nachfolgenden Code in die Datei //Microsoft.VSCode_profile.ps1// ein. Beachten Sie, dass der angegebene Pfad für die AESB Shell korrekt ist.
30 30  1. Drücken Sie Strg + S, um die Datei zu speichern.
... ... @@ -124,7 +124,7 @@
124 124  1. Klicken Sie mit einem Rechtsklick auf den Ordner //ISS_ACMP_Connector//, um das Kontextmenü zu öffnen.
125 125  1. Wählen Sie im Kontextmenü den Eintrag //Mit Code öffnen //aus, damit direkt das richtige Verzeichnis geöffnet wird.
126 126  1. Erstellen Sie einen neuen Unterordner mit dem Namen //Modules.//
127 -1. Erstellen Sie im Unterordner //Modules //eine neue Datei mit dem Namen //ISSRestConnector.psm1//. Alternativ können Sie auch die anfangs erstellte, leere Datei //Microservice.psm1// umbenennen und in den Ordner verschieben.
127 +1. Erstellen Sie im Unterordner //Modules //eine neue Datei mit dem Namen //ISSRestConnector.psm1//. Alternativ können Sie auch die anfangs erstellte, leere Datei //Modul.psm1// umbenennen und in den Ordner verschieben.
128 128  1. Fügen Sie den nachfolgenden Code in die Datei ein.
129 129  1. Drücken Sie Strg + S, um die Datei zu speichern.
130 130  
... ... @@ -383,7 +383,7 @@
383 383  
384 384  == PowerShell-Module implementieren ==
385 385  
386 -Die Integration der Module in die PowerShell-Microservices erfolgt an zwei Stellen: In der Modul-Verwaltung und im Skript-Editor.
386 +Die Implementierung der Module in die PowerShell-Microservices erfolgt an zwei Stellen: In der Modul-Verwaltung und im Skript-Editor.
387 387  
388 388  === PowerShell-Module in der Modul-Verwaltung hochladen ===
389 389  
... ... @@ -392,16 +392,78 @@
392 392  1. Wählen Sie die PowerShell-Vorlage //ISSRestConnector //aus und klicken Sie in der Ribbonleiste auf den Button //Module//.
393 393  1. Klicken Sie auf //DLL-/PSM1-/Public API-Module hinzufügen //und geben Sie bei //Dateipfad //den Pfad der Modul-Datei //ISSRestConnector.psm1// an, indem Sie die Datei im Datei-Explorer öffnen.{{aagon.infobox}}Bei korrekter Ordnerstruktur, sollte der Pfad 0000 angegeben werden.{{/aagon.infobox}}
394 394  1. Klicken Sie auf den Button //Hinzufügen//, um das Modul hochzuladen und klicken Sie in der Modul-Verwaltung auf //OK//, um die Modul-Verwaltung zu schließen.
395 -1. Wiederholen Sie die Schritte für den Microservice ISSAssetImporter mit dem entsprechenden Modul //ISSAssetImporter.psm1//.
395 +1. Wiederholen Sie die Schritte für den Microservice ISSAssetImporter mit dem Modul //ISSAssetImporter.psm1 //und dem Modul //ACMP Public API// (Modul-Typ ändern).
396 396  
397 -=== PowerShell-Module im Microservice-Skript aufrufen ===
397 +-> Bild einfügen
398 398  
399 -Da die PowerShell-Module nun in der Modul-Verwaltung hochgeladen sind, können Sie die Module aus einem Microservice-Skript heraus aufrufen
399 +=== PowerShell-Module in Microservice-Skripten aufrufen ===
400 400  
401 +Die PowerShell-Module sind nun in der Modul-Verwaltung hochgeladen und können aus Microservice-Skripten heraus aufgerufen werden. Dafür werden nun die Skripte im Skript-Editor angepasst.
402 +
401 401  {{aagon.warnungsbox}}
402 -In diesem Beispiel werden nur die
404 +In diesem Beispiel werden nur die Event-Skripte angepasst, bei denen für dieses Beispiel eine Anpassung notwendig ist. Die nicht erwähnten Event-Skripte bleiben unverändert. Für allgemeine Informationen zu den Event-Skripten, lesen Sie den Abschnitt [[Aufbau des Skript-Editors>>doc:AESB.110.Workspaces.Powershell.Skript-Editor.WebHome]].
403 403  {{/aagon.warnungsbox}}
404 404  
407 +(% class="wikigeneratedid" %)
408 +**ISSRestConnector**
409 +
410 +(% class="wikigeneratedid" %)
411 +Der ISSRestConnector soll zu einstellbaren Zeiten die Daten von der Rest API holen. Daher werden die Skript-Events //.OnStart// und //.OnExecute //entsprechend angepasst.
412 +
413 +1. Wählen Sie den Microservice //ISSRestConnector //aus und klicken Sie in der Ribbonleiste auf den Button //Skript//.
414 +1. Wechseln Sie in den Skript-Tab //OnStart //und fügen Sie den nachfolgenden Code in die Datei ein.
415 +1. Wechseln Sie in den Skript-Tab //OnExecute //und fügen Sie den nachfolgenden Code in die Datei ein.
416 +
417 +|(% style="width:698px" %){{code}}#
418 +# This gets executed perpetually by the scheduler. Main business logic should go here.
419 +#
420 +
421 +try {
422 + # Trying to fetch new data
423 + Write-Host "Fetching new data from the api."
424 + $result = Get-ISSData -ApiUrl $configuration.ApiUrl
425 +
426 + # Converting the data to icql
427 + $icql = ConvertTo-AESBIcql $result
428 +
429 + # Sending the data to the next microserice
430 + Publish-AESBMessage -Alias $configuration.Target -Message $icql
431 +}
432 +catch {
433 + Write-Error $_
434 +}{{/code}}|(% style="width:928px" %){{code}}#
435 +# This gets executed perpetually by the scheduler. Main business logic should go here.
436 +#
437 +
438 +try {
439 + # Trying to fetch new data
440 + Write-Host "Fetching new data from the api."
441 + $result = Get-ISSData -ApiUrl $configuration.ApiUrl
442 +
443 + # Converting the data to icql
444 + $icql = ConvertTo-AESBIcql $result
445 +
446 + # Sending the data to the next microserice
447 + Publish-AESBMessage -Alias $configuration.Target -Message $icql
448 +}
449 +catch {
450 + Write-Error $_
451 +}{{/code}}
452 +
453 +(% class="wikigeneratedid" %)
454 +**ISSAssetImporter**
455 +
456 +
457 +
458 +(% class="wikigeneratedid" %)
459 +
460 +
461 +== Microservice-Schema erstellen ==
462 +
405 405  = Fehlerbehandlung =
406 406  
465 +- Language-Einstellungen in VS Code -> Syntax
466 +
467 +- SICS-Verbindung in ACMP + Zugriffsberechtigung aktiviert
468 +
407 407  = Orchestrierung =
© Aagon GmbH 2025
Besuchen Sie unsere neue Aagon-Community