

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.

# Mit dem lokalen Entwicklungsmodus des Agenten AWS AppConfig arbeiten
<a name="appconfig-agent-how-to-use-local-development"></a>

AWS AppConfig Der Agent unterstützt einen *lokalen Entwicklungsmodus*. Wenn Sie den lokalen Entwicklungsmodus aktivieren, liest der Agent Konfigurationsdaten aus einem angegebenen Verzeichnis auf der Festplatte. Er ruft keine Konfigurationsdaten von ab AWS AppConfig. Sie können Konfigurationsbereitstellungen simulieren, indem Sie Dateien im angegebenen Verzeichnis aktualisieren. Wir empfehlen den lokalen Entwicklungsmodus für die folgenden Anwendungsfälle:
+ Testen Sie verschiedene Konfigurationsversionen, bevor Sie sie mithilfe von bereitstellen AWS AppConfig.
+ Testen Sie verschiedene Konfigurationsoptionen für eine neue Funktion, bevor Sie Änderungen in Ihr Code-Repository übernehmen.
+ Testen Sie verschiedene Konfigurationsszenarien, um sicherzustellen, dass sie erwartungsgemäß funktionieren.

**Warnung**  
Verwenden Sie den lokalen Entwicklungsmodus nicht in Produktionsumgebungen. Dieser Modus unterstützt keine wichtigen AWS AppConfig Sicherheitsfunktionen wie Bereitstellungsvalidierung und automatische Rollbacks.

Gehen Sie wie folgt vor, um den AWS AppConfig Agenten für den lokalen Entwicklungsmodus zu konfigurieren.

**So konfigurieren Sie den AWS AppConfig Agenten für den lokalen Entwicklungsmodus**

1. Installieren Sie den Agenten mit der für Ihre Computerumgebung beschriebenen Methode. AWS AppConfig Der Agent arbeitet mit den folgenden Funktionen AWS-Services:
   + [AWS Lambda](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-lambda-extensions.html)
   + [Amazon EC2](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-ec2.html)
   + [Amazon ECS und Amazon EKS](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-containers-agent.html)

1. Wenn der Agent läuft, beenden Sie ihn.

1. Fügen `LOCAL_DEVELOPMENT_DIRECTORY` Sie der Liste der Umgebungsvariablen hinzu. Geben Sie ein Verzeichnis im Dateisystem an, das dem Agenten Leserechte gewährt. Beispiel, `/tmp/local_configs`.

1. Erstellen Sie eine Datei im Verzeichnis. Der Dateiname muss das folgende Format haben:

   ```
   application_name:environment_name:configuration_profile_name
   ```

   Ein Beispiel:

   ```
   Mobile:Development:EnableMobilePaymentsFeatureFlagConfiguration
   ```
**Anmerkung**  
Beispiele für Feature-Flags, die Sie einer Datei in Ihrem `LOCAL_DEVELOPMENT_DIRECTORY` Verzeichnis hinzufügen können, finden Sie unter[Beispiele für Feature-Flags für den lokalen Entwicklungsmodus des AWS AppConfig Agenten](appconfig-agent-how-to-use-local-development-samples.md).
(Optional) Sie können den Inhaltstyp, den der Agent für Ihre Konfigurationsdaten zurückgibt, anhand der Erweiterung, die Sie der Datei geben, steuern. Wenn Sie die Datei beispielsweise mit der Erweiterung.json benennen, gibt der Agent den Inhaltstyp zurück, `application/json` wenn Ihre Anwendung ihn anfordert. Wenn Sie die Erweiterung weglassen, verwendet der Agent sie `application/octet-stream` für den Inhaltstyp. Wenn Sie eine genaue Steuerung benötigen, können Sie eine Erweiterung im Format `.type%subtype` bereitstellen. Der Agent gibt einen Inhaltstyp von zurück`.type/subtype`.

1. Führen Sie den folgenden Befehl aus, um den Agenten neu zu starten und die Konfigurationsdaten anzufordern.

   ```
   curl http://localhost:2772/applications/application_name/environments/environment_name/configurations/configuration_name
   ```

Der Agent sucht in dem für den Agenten angegebenen Abfrageintervall nach Änderungen an der lokalen Datei. Wenn das Abfrageintervall nicht angegeben ist, verwendet der Agent das Standardintervall von 45 Sekunden. Diese Überprüfung im Abfrageintervall stellt sicher, dass sich der Agent in einer lokalen Entwicklungsumgebung genauso verhält wie bei der Konfiguration für die Interaktion mit dem AWS AppConfig Dienst. 

**Anmerkung**  
Um eine neue Version einer lokalen Entwicklungskonfigurationsdatei bereitzustellen, aktualisieren Sie die Datei mit neuen Daten.

# Beispiele für Feature-Flags für den lokalen Entwicklungsmodus des AWS AppConfig Agenten
<a name="appconfig-agent-how-to-use-local-development-samples"></a>

Dieser Abschnitt enthält Beispiele für Feature-Flags, die Sie mit AWS AppConfig Agent im lokalen Entwicklungsmodus verwenden können. Im lokalen Entwicklungsmodus werden Feature-Flag-Daten im Abrufzeitformat der Daten erwartet. Das *Abrufzeitformat ist das Format*, das zurückgegeben wird, wenn das Flag von der [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)API abgerufen wird. Es enthält nur den Wert des Flags. Das Abrufzeitformat beinhaltet nicht die vollständige Definition eines Flags (wie sie an die API übergeben wurde). [CreateHostedConfigurationVersion](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateHostedConfigurationVersion.html) Die vollständige Definition eines Flags enthält auch Informationen wie Attributnamen und -werte, Einschränkungen und den aktivierten Status des Flags. 

**Topics**
+ [Beispiele für Flaggen mit grundlegenden Funktionen](#appconfig-agent-how-to-use-local-development-samples-basic)
+ [Beispiele für Merkmalsflaggen mit mehreren Varianten](#appconfig-agent-how-to-use-local-development-samples-multi-variant)

## Beispiele für Flaggen mit grundlegenden Funktionen
<a name="appconfig-agent-how-to-use-local-development-samples-basic"></a>

Verwenden Sie die folgenden Beispiele für grundlegende Feature-Flags mit AWS AppConfig Agent im lokalen Entwicklungsmodus.

**Anmerkung**  
Wenn Sie möchten, dass der Agent den Inhaltstyp Ihrer lokalen Feature-Flag-Daten als meldet `application/json` (wie beim Abrufen von Flag-Daten aus einer Umgebung, die sich nicht AWS AppConfig im lokalen Entwicklungsmodus befindet), müssen Ihre lokalen Feature-Flag-Dateien die Erweiterung.json verwenden. Beispiel, `Local:MyFeatureFlags:SampleB1.json`.

**Beispiel 1**: Ein einzelnes Flag, das eine Aktualisierung der Benutzeroberfläche darstellt.

```
{
    "ui_refresh": {
        "enabled": true,
        "new_styleguide_colors": true
    }
}
```

**Beispiel 2**: Mehrere Flags stehen für betriebsbereite Feature-Flags.

```
{
   "background_worker": {
        "enabled": true,
        "num_threads": 4,
        "queue_name": "MyWorkQueue"
   },
   "emergency_shutoff_switch": {
        "enabled": false
   },
   "logger_settings": {
        "enabled": true,
        "level": "INFO"
   }
}
```

## Beispiele für Merkmalsflaggen mit mehreren Varianten
<a name="appconfig-agent-how-to-use-local-development-samples-multi-variant"></a>

Das Abrufzeitformat einer Feature-Flag-Konfiguration, die mindestens ein Feature-Flag mit mehreren Varianten enthält, wird als [Amazon Ion-Daten statt als JSON-Daten](https://amazon-ion.github.io/ion-docs/) dargestellt. In diesem Format werden Flags mit mehreren Varianten als Liste mit Anmerkungen dargestellt, und grundlegende Flags werden als kommentierte Zeichenfolge dargestellt. Die Listenelemente eines Flags mit mehreren Varianten sind entweder ein Tupel (eine Liste mit einer Länge von zwei), das eine einzelne Variante darstellt, oder eine Zeichenfolge, die die Standardvariante darstellt. Innerhalb eines Variantentupels ist das erste Element ein S-Ausdruck, der die Regel der Variante darstellt, und das zweite Element ist eine Zeichenfolge, die den Inhalt der Variante darstellt.

Damit der Agent diese Dateien richtig interpretieren kann, müssen Ihre lokalen Feature-Flag-Dateien die folgende Erweiterung haben:. `application%ion%type=AWS.AppConfig.FeatureFlags`. Beispiel, `Local:MyFeatureFlags:SampleMV1.application%ion%type=AWS.AppConfig.FeatureFlags`.

**Beispiel 1**: Eine Flagge mit mehreren Varianten, die eine gestaffelte Version einer neuen Funktion darstellt.

```
'tiered_release'::[
  [
    (or (and (eq $group "Tier1") (split by::$userId pct::1 seed::"2025.01.01")) (and (eq $group "Tier2") (split by::$userId pct::7 seed::"2025.01.01"))),
    '''{"_variant": "ShowFeature", "enabled": true}'''
  ],
  '''{"_variant": "HideFeature", "enabled": false}'''
]
```

**Beispiel 2**: Mehrere Flags, die je nach Benutzer-ID unterschiedliche UX-Displays repräsentieren. Die ersten beiden Flaggen sind variantenreich und die letzte Flagge ist einfach.

```
'colorway'::[
  [
    (contains $userId "beta"),
    '''{"_variant": "BetaTesters", "enabled": true, "background": "blue", "foreground": "red"}''',
  ],
  [
    (split by::$userId pct::10),
    '''{"_variant": "SplitRollOutRedAndBlue", "enabled": true, "background": "blue", "foreground": "red"}''',
  ],
  '''{"_variant": "default", "enabled": true, "background": "green", "foreground": "green"}''',
]

'simple_feature'::[
  [
    (contains $userId "beta"),
    '''{"_variant": "BetaTesters", "enabled": true}'''
  ],
  '''{"_variant": "default", "enabled": false}'''
]

'button_color'::'''{"enabled": true, "color": "orange"}'''
```