

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.

# Seiten- und Automatisierungsparameter
<a name="paramters"></a>

Parameter sind eine leistungsstarke Funktion in AWS App Studio, mit der dynamische Werte zwischen verschiedenen Komponenten, Seiten und Automatisierungen innerhalb Ihrer Anwendung übergeben werden. Mithilfe von Parametern können Sie flexible und kontextsensitive Erlebnisse schaffen, wodurch Ihre Anwendungen reaktionsschneller und personalisierter werden. Dieser Artikel behandelt zwei Arten von Parametern: Seitenparameter und Automatisierungsparameter.

**Topics**
+ [Seitenparameter](parameters-page.md)
+ [Automatisierungsparameter](parameters-automation.md)

# Seitenparameter
<a name="parameters-page"></a>

Seitenparameter sind eine Möglichkeit, Informationen zwischen Seiten zu senden. Sie werden häufig verwendet, wenn innerhalb einer App Studio-App von einer Seite zur anderen navigiert wird, um den Kontext beizubehalten oder Daten zu übergeben. Seitenparameter bestehen normalerweise aus einem Namen und einem Wert.

## Anwendungsfälle für Seitenparameter
<a name="parameters-pages-use-cases"></a>

Seitenparameter werden für die Übertragung von Daten zwischen verschiedenen Seiten und Komponenten in Ihren App Studio-Anwendungen verwendet. Sie sind besonders hilfreich für die folgenden Anwendungsfälle:

1. **Suchen und Filtern**: Wenn Nutzer auf der Startseite Ihrer App suchen, können die Suchbegriffe als Parameter an die Ergebnisseite übergeben werden, sodass nur die relevanten gefilterten Elemente angezeigt werden. Wenn ein Benutzer beispielsweise nach sucht*noise-cancelling headphones*, *noise-cancelling headphones* kann der Parameter mit dem Wert an die Seite mit der Produktliste übergeben werden.

1. **Artikeldetails anzeigen**: Wenn ein Benutzer auf ein Angebot klickt, z. B. auf ein Produkt, kann die eindeutige Kennung dieses Artikels als Parameter an die Detailseite übergeben werden. Auf diese Weise können auf der Detailseite alle Informationen zu dem bestimmten Artikel angezeigt werden. Wenn ein Benutzer beispielsweise auf ein Kopfhörerprodukt klickt, wird die eindeutige ID des Produkts als Parameter an die Produktdetailseite übergeben.

1. **Weitergabe des Benutzerkontextes bei der Seitennavigation**: Wenn Benutzer zwischen den Seiten navigieren, können Parameter wichtige Kontexte wie den Standort des Benutzers, bevorzugte Produktkategorien, Warenkorbinhalte und andere Einstellungen weitergeben. Wenn ein Nutzer beispielsweise verschiedene Produktkategorien in Ihrer App durchsucht, werden sein Standort und seine bevorzugten Kategorien als Parameter gespeichert, was für ein personalisiertes und einheitliches Erlebnis sorgt.

1. **Deep-Links**: Verwenden Sie Seitenparameter, um einen Link zu einer bestimmten Seite innerhalb der App zu teilen oder mit einem Lesezeichen zu versehen.

1. **Datenaktionen**: Sie können Datenaktionen erstellen, die Parameterwerte akzeptieren, um Ihre Datenquellen auf der Grundlage der übergebenen Parameter zu filtern und abzufragen. Auf der Produktlistenseite können Sie beispielsweise eine Datenaktion erstellen, die `category` Parameter akzeptiert, um die entsprechenden Produkte abzurufen.

## Überlegungen zur Sicherheit von Seitenparametern
<a name="parameters-pages-security"></a>

Seitenparameter bieten zwar eine leistungsstarke Möglichkeit, Daten zwischen Seiten zu übertragen, sollten jedoch mit Vorsicht verwendet werden, da sie möglicherweise vertrauliche Informationen preisgeben können, wenn sie nicht ordnungsgemäß verwendet werden. Hier sind einige wichtige Sicherheitsüberlegungen, die Sie beachten sollten:

1. **Vermeiden Sie die Offenlegung sensibler Daten in URLs**

   1. **Risiko**: URLs, einschließlich der Parameter für Datenaktionen, sind häufig in Serverprotokollen, im Browserverlauf und an anderen Stellen sichtbar. Daher ist es wichtig, zu vermeiden, dass sensible Daten wie Benutzeranmeldedaten, personenbezogene Daten (PII) oder andere vertrauliche Daten in Seitenparameterwerten offengelegt werden.

   1. **Schadensbegrenzung**: Erwägen Sie die Verwendung von Kennungen, die den sensiblen Daten sicher zugeordnet werden können. Anstatt beispielsweise den Namen oder die E-Mail-Adresse eines Benutzers als Parameter zu übergeben, könnten Sie eine zufällige eindeutige Kennung übergeben, mit der der Name oder die E-Mail-Adresse des Benutzers abgerufen werden kann.

# Automatisierungsparameter
<a name="parameters-automation"></a>

Automatisierungsparameter sind eine leistungsstarke Funktion in App Studio, mit der flexible und wiederverwendbare Automatisierungen erstellt werden können, indem dynamische Werte aus verschiedenen Quellen übergeben werden, z. B. aus der Benutzeroberfläche, anderen Automatisierungen oder Datenaktionen. Sie dienen als Platzhalter, die bei der Ausführung der Automatisierung durch tatsächliche Werte ersetzt werden, sodass Sie dieselbe Automatisierung jedes Mal mit unterschiedlichen Eingaben verwenden können. 

Innerhalb einer Automatisierung haben Parameter eindeutige Namen, und Sie können auf den Wert eines Parameters verweisen, indem Sie die Variable params gefolgt vom Namen des Parameters verwenden, z. B. `{{params.customerId}}`

Dieser Artikel bietet ein tiefes Verständnis der Automatisierungsparameter, einschließlich ihrer grundlegenden Konzepte, Verwendung und bewährten Methoden.

## Vorteile von Automatisierungsparametern
<a name="parameters-automation-benefits"></a>

Automatisierungsparameter bieten mehrere Vorteile, darunter die folgende Liste:

1. **Wiederverwendbarkeit**: Mithilfe von Parametern können Sie wiederverwendbare Automatisierungen erstellen, die mit unterschiedlichen Eingabewerten angepasst werden können, sodass Sie dieselbe Automatisierungslogik mit unterschiedlichen Eingaben wiederverwenden können.

1. **Flexibilität**: Anstatt Werte fest in einer Automatisierung zu codieren, können Sie Parameter definieren und bei Bedarf unterschiedliche Werte angeben, wodurch Ihre Automatisierungen dynamischer und anpassungsfähiger werden.

1. **Trennung von Belangen**: Parameter helfen dabei, die Automatisierungslogik von den verwendeten spezifischen Werten zu trennen, was die Organisation und Wartbarkeit des Codes fördert.

1. **Validierung**: Jeder Parameter hat einen Datentyp, z. B. eine Zeichenfolge, eine Zahl oder einen booleschen Wert, der zur Laufzeit validiert wird. Dadurch wird sichergestellt, dass Anfragen mit falschen Datentypen abgelehnt werden, ohne dass ein benutzerdefinierter Validierungscode erforderlich ist.

1. **Optionale und erforderliche Parameter**: Sie können Automatisierungsparameter als optional oder erforderlich festlegen. Erforderliche Parameter müssen bei der Ausführung der Automatisierung angegeben werden, während optionale Parameter Standardwerte haben oder weggelassen werden können. Diese Flexibilität ermöglicht es Ihnen, vielseitigere Automatisierungen zu erstellen, die auf der Grundlage der bereitgestellten Parameter unterschiedliche Szenarien bewältigen können.

## Szenarien und Anwendungsfälle
<a name="parameters-automation-scenarios"></a>

### Szenario: Produktdetails werden abgerufen
<a name="parameters-automation-scenario-product-details"></a>



Stellen Sie sich vor, Sie haben eine Automatisierung, die Produktdetails auf der Grundlage einer Produkt-ID aus einer Datenbank abruft. Diese Automatisierung könnte einen Parameter haben, der aufgerufen wird`productId`.

Der `productId` Parameter fungiert als Platzhalter, den Sie beim Ausführen der Automatisierung mit dem tatsächlichen Produkt-ID-Wert ausfüllen können. Anstatt eine bestimmte Produkt-ID fest in der Automatisierung zu codieren, können Sie den `productId` Parameter definieren und bei jeder Ausführung der Automatisierung unterschiedliche Produkt-ID-Werte übergeben.

Sie könnten diese Automatisierung von der Datenquelle einer Komponente aus aufrufen und die ID des ausgewählten Produkts als `productId` Parameter mit der Syntax in doppelten geschweiften Klammern übergeben:. `{{ui.productsTable.selectedRow.id}}` Auf diese Weise ruft die Automatisierung, wenn ein Benutzer ein Produkt aus einer Tabelle (`ui.productsTable`) auswählt, die Details für das ausgewählte Produkt ab, indem sie die ID der ausgewählten Zeile als `productId` Parameter übergibt.

Alternativ können Sie diese Automatisierung von einer anderen Automatisierung aus aufrufen, die eine Produktliste durchläuft und die Details für jedes Produkt abruft, indem die Produkt-ID als Parameter übergeben wird. `productId` In diesem Szenario würde der `productId` Parameterwert in jeder Iteration der `{{product.id}}` Schleife dynamisch aus dem Ausdruck bereitgestellt.

Durch die Verwendung des `productId` Parameters und der Syntax mit doppelten geschweiften Klammern können Sie diese Automatisierung flexibler und wiederverwendbarer machen. Anstatt separate Automatisierungen für jedes Produkt zu erstellen, können Sie eine einzige Automatisierung verwenden, mit der Details für jedes Produkt abgerufen werden können, indem Sie einfach die entsprechende Produkt-ID als Parameterwert aus verschiedenen Quellen angeben, z. B. aus UI-Komponenten oder anderen Automatisierungen.

### Szenario: Umgang mit optionalen Parametern mit Fallback-Werten
<a name="parameters-automation-scenario-optional-parameters"></a>

Stellen wir uns ein Szenario vor, in dem Sie eine Entität „Aufgabe“ mit einer erforderlichen Spalte „Besitzer“ haben, aber Sie möchten, dass dieses Feld in der Automatisierung optional ist und Sie einen Fallback-Wert angeben, falls der Besitzer nicht ausgewählt ist.

1. Erstellen Sie eine Automatisierung mit einem Parameter namens`Owner`, der dem `Owner` Feld der `Task` Entität zugeordnet ist.

1. Da das `Owner` Feld in der Entität erforderlich ist, wird der `Owner` Parameter mit der erforderlichen Einstellung synchronisiert.

1. Um den `Owner` Parameter in der Automatisierung optional zu machen, schalten Sie die `required` Einstellung für diesen Parameter aus.

1. In Ihrer Automatisierungslogik können Sie einen Ausdruck wie `{{params.Owner || currentUser.userId}}` verwenden. Dieser Ausdruck prüft, ob der `Owner` Parameter angegeben ist. Wenn er nicht angegeben wird, wird auf die ID des aktuellen Benutzers als Eigentümer zurückgegriffen.

1. Auf diese Weise weist die Automatisierung automatisch den aktuellen Benutzer als Eigentümer für die Aufgabe zu, wenn der Benutzer keinen Besitzer in einem Formular oder einer Komponente auswählt.

Indem Sie die `required` Einstellung für den `Owner` Parameter umschalten und einen Fallback-Ausdruck verwenden, können Sie ihn von der Entitätsfeldanforderung entkoppeln, ihn in der Automatisierung optional machen und einen Standardwert angeben, wenn der Parameter nicht bereitgestellt wird.

## Definieren von Automatisierungsparametertypen
<a name="parameters-automation-create"></a>

Indem Sie Parametertypen verwenden, um Datentypen zu spezifizieren und Anforderungen festzulegen, können Sie die Eingaben für Ihre Automatisierungen steuern. Auf diese Weise können Sie sicherstellen, dass Ihre Automatisierungen zuverlässig mit den erwarteten Eingaben ausgeführt werden.

### Synchronisieren von Typen aus einer Entität
<a name="parameters-automation-synchronize-entity"></a>

Die dynamische Synchronisation von Parametertypen und Anforderungen aus Entitätsfelddefinitionen optimiert die Gebäudeautomatisierung, die mit Entitätsdaten interagiert, und stellt sicher, dass der Parameter immer den neuesten Feldtyp und die neuesten Anforderungen der Entitätsfelder widerspiegelt.

Das folgende Verfahren beschreibt die allgemeinen Schritte zum Synchronisieren von Parametertypen aus einer Entität:

1. Erstellen Sie eine Entität mit typisierten Feldern (z. B. Boolean, Number usw.) und markieren Sie Felder nach Bedarf.

1. Erstellen Sie eine neue Automatisierung.

1. Fügen Sie der Automatisierung Parameter hinzu und wählen Sie bei der Auswahl des **Typs** das Entitätsfeld aus, mit dem Sie synchronisieren möchten. Der Datentyp und die erforderliche Einstellung werden automatisch aus dem zugewiesenen Entitätsfeld synchronisiert

1. Bei Bedarf können Sie die Einstellung „erforderlich“ überschreiben, indem Sie sie on/off für jeden Parameter umschalten. Das bedeutet, dass der erforderliche Status nicht mit dem Entitätsfeld synchronisiert wird, ansonsten aber synchronisiert bleibt.

### Typen manuell definieren
<a name="parameters-automation-custom-types"></a>

Sie können Parametertypen auch manuell definieren, ohne von einer Entität aus zu synchronisieren

Durch die Definition benutzerdefinierter Parametertypen können Sie Automatisierungen erstellen, die bestimmte Eingabetypen akzeptieren und optionale oder erforderliche Parameter nach Bedarf verarbeiten, ohne sich auf Entitätsfeldzuordnungen verlassen zu müssen.

1. Erstellen Sie eine Entität mit typisierten Feldern (z. B. Boolean, Number usw.) und markieren Sie Felder nach Bedarf.

1. Erstellen Sie eine neue Automatisierung.

1. Fügen Sie der Automatisierung Parameter hinzu und wählen Sie bei der Auswahl des **Typs** den gewünschten Typ aus.

## Konfiguration dynamischer Werte, die an Automatisierungsparameter übergeben werden sollen
<a name="parameters-automation-pass-values"></a>

Sobald Sie Parameter für eine Automatisierung definiert haben, können Sie ihnen beim Aufrufen der Automatisierung Werte übergeben. Sie können Parameterwerte auf zwei Arten übergeben:

1. **Komponententrigger**: Wenn Sie die Automatisierung über einen Komponententrigger aufrufen, z. B. durch einen Klick auf eine Schaltfläche, können Sie JavaScript Ausdrücke verwenden, um Werte aus dem Komponentenkontext zu übergeben. Wenn Sie beispielsweise ein Texteingabefeld mit dem Namen haben`emailInput`, können Sie seinen Wert mit dem folgenden Ausdruck an den E-Mail-Parameter übergeben:`ui.emailInput.value`.

1. **Andere Automatisierungen**: Wenn Sie die Automatisierung von einer anderen Automatisierung aus aufrufen, können Sie JavaScript Ausdrücke verwenden, um Werte aus dem Automatisierungskontext zu übergeben. Sie können beispielsweise den Wert eines anderen Parameters oder das Ergebnis eines vorherigen Aktionsschritts übergeben.

## Geben Sie Sicherheit ein
<a name="parameters-automation-type-safety"></a>

Durch die Definition von Parametern mit bestimmten Datentypen wie String, Number oder Boolean können Sie sicherstellen, dass die an Ihre Automatisierung übergebenen Werte dem erwarteten Typ entsprechen.

**Anmerkung**  
In App Studio sind Datum (e) ISO-Zeichenkettendaten, und diese werden ebenfalls validiert.

Diese Typsicherheit trägt dazu bei, Typkonflikte zu vermeiden, die zu Fehlern oder unerwartetem Verhalten in Ihrer Automatisierungslogik führen können. Wenn Sie beispielsweise einen Parameter als a definieren`Number`, können Sie sicher sein, dass jeder an diesen Parameter übergebene Wert eine Zahl ist, und Sie müssen in Ihrer Automatisierung keine zusätzlichen Typprüfungen oder Konvertierungen durchführen.

## Validierung
<a name="parameters-automation-validation"></a>

Sie können Ihren Parametern Validierungsregeln hinzufügen, um sicherzustellen, dass die an Ihre Automatisierung übergebenen Werte bestimmten Kriterien entsprechen.

App Studio bietet zwar keine integrierten Validierungseinstellungen für Parameter, Sie können jedoch benutzerdefinierte Validierungen implementieren, indem Sie Ihrer Automatisierung eine JavaScript Aktion hinzufügen, die einen Fehler auslöst, wenn bestimmte Einschränkungen verletzt werden.

Für Entitätsfelder wird eine Teilmenge von Validierungsregeln, wie z. B. minimum/maximum Werte, unterstützt. Diese werden jedoch nicht auf Automatisierungsebene validiert, sondern nur auf der Datenebene, wenn Create/Update/Delete Datensatzaktionen ausgeführt werden.

## Bewährte Methoden für Automatisierungsparameter
<a name="parameters-automation-best-practices"></a>

Um sicherzustellen, dass Ihre Automatisierungsparameter gut konzipiert, wartungsfreundlich und benutzerfreundlich sind, befolgen Sie diese bewährten Methoden:

1. **Verwenden Sie aussagekräftige Parameternamen**: Wählen Sie Parameternamen, die den Zweck oder den Kontext des Parameters klar beschreiben.

1. **Geben Sie Parameterbeschreibungen** an: Nutzen Sie das Feld **Beschreibung**, wenn Sie Parameter definieren, um deren Zweck, Einschränkungen und Erwartungen zu erläutern. Diese Beschreibungen werden in den JSDoc Kommentaren angezeigt, wenn auf den Parameter verwiesen wird, sowie in allen Benutzeroberflächen, in denen Benutzer beim Aufrufen der Automatisierung Werte für die Parameter angeben müssen.

1. **Verwenden Sie geeignete Datentypen**: Überlegen Sie sich sorgfältig, welchen Datentyp die einzelnen Parameter auf der Grundlage der erwarteten Eingabewerte haben, z. B.: Zeichenfolge, Zahl, Boolean, Objekt.

1. **Überprüfen Sie die Parameterwerte**: Implementieren Sie geeignete Validierungsprüfungen innerhalb Ihrer Automatisierung, um sicherzustellen, dass die Parameterwerte bestimmten Anforderungen entsprechen, bevor Sie mit weiteren Aktionen fortfahren.

1. **Verwenden Sie Ausweichwerte oder Standardwerte**: App Studio unterstützt derzeit zwar nicht die Festlegung von Standardwerten für Parameter, Sie können jedoch Fallback- oder Standardwerte implementieren, wenn Sie die Parameter in Ihrer Automatisierungslogik verwenden. Sie können beispielsweise einen Ausdruck wie verwenden, `{{ params.param1 || "default value" }}` um einen Standardwert bereitzustellen, wenn der `param1` Parameter nicht bereitgestellt wird oder einen falschen Wert hat.

1. **Beibehaltung der Parameterkonsistenz**: Wenn Sie mehrere Automatisierungen haben, die ähnliche Parameter erfordern, versuchen Sie, die Konsistenz der Parameternamen und Datentypen für alle Automatisierungen aufrechtzuerhalten.

1. **Verwendung von Dokumentparametern**: Sorgen Sie für eine übersichtliche Dokumentation Ihrer Automatisierungen, einschließlich Beschreibungen der einzelnen Parameter, ihres Zwecks, der erwarteten Werte und aller relevanten Beispiele oder Grenzfälle.

1. **Regelmäßige Überprüfung und Refaktorierung**: Überprüfen Sie Ihre Automatisierungen und ihre Parameter regelmäßig und überarbeiten oder konsolidieren Sie die Parameter nach Bedarf, um die Übersichtlichkeit, Wartbarkeit und Wiederverwendbarkeit zu verbessern.

1. **Beschränken Sie die Anzahl der Parameter: Parameter** bieten zwar Flexibilität, aber zu viele Parameter können eine Automatisierung komplex und schwierig zu handhaben machen. Versuchen Sie, ein Gleichgewicht zwischen Flexibilität und Einfachheit zu finden, indem Sie die Anzahl der Parameter auf das Notwendige beschränken.

1. **Erwägen Sie die Gruppierung von** Parametern: Wenn Sie mehrere verwandte Parameter definieren müssen, sollten Sie in Erwägung ziehen, sie zu einem einzigen *Object* Parameter zu gruppieren.

1. **Separate Bedenken**: Vermeiden Sie es, einen einzelnen Parameter für mehrere Zwecke zu verwenden oder Werte, die nichts miteinander zu tun haben, zu einem einzigen Parameter zu kombinieren. Jeder Parameter sollte für ein bestimmtes Anliegen oder eine bestimmte Information stehen.

1. **Verwenden Sie Parameteraliase**: Wenn Sie Parameter mit langen oder komplexen Namen haben, sollten Sie die Verwendung von Aliasen oder Kurzversionen innerhalb der Automatisierungslogik erwägen, um die Lesbarkeit und Wartbarkeit zu verbessern.

Wenn Sie diese bewährten Methoden befolgen, können Sie sicherstellen, dass Ihre Automatisierungsparameter gut konzipiert, wartungsfreundlich und benutzerfreundlich sind, was letztendlich die Gesamtqualität und Effizienz Ihrer Automatisierungen verbessert.