Erste Schritte mit Dev Proxy

Dev Proxy ist ein Befehlszeilentool, mit dem Sie Verhaltensweisen und Fehler von Cloud-APIs simulieren können, um resiliente Apps zu erstellen.

In diesem Tutorial erfahren Sie, wie Sie den Dev Proxy installieren, ausführen und konfigurieren.

Wenn Sie auf Schwierigkeiten stoßen, zögern Sie nicht, uns zu kontaktieren, indem Sie ein neues Problem aufwerfen, und wir helfen Ihnen gerne weiter.

Installieren des Dev-Proxys

Die einfachste Möglichkeit zum Installieren des Dev-Proxys ist die Verwendung von winget. Alternativ können Sie den Dev-Proxy manuell installieren.

Führen Sie den folgenden Befehl aus, um den Dev Proxy mithilfe von winget zu installieren:

winget install Microsoft.DevProxy --silent

Wichtig

Das Dev Proxy-Installationsprogramm fügt PATH einen neuen Eintrag hinzu. Um den Dev Proxy nach der Installation zu verwenden, müssen Sie die Eingabeaufforderung neu starten, um sicherzustellen, dass die PATH-Umgebungsvariablen aktualisiert wurden.

Hinweis

Um die neuesten Vorschaufeatures zu testen, installieren Sie die Betaversion von Dev Proxy.

Führen Sie den folgenden Befehl aus, um den Dev Proxy mithilfe von winget zu installieren:

winget install Microsoft.DevProxy.Beta --silent

Verwenden Sie zum Ausführen der Betaversion des Dev-Proxys devproxy-beta

Die einfachste Möglichkeit zum Installieren des Dev Proxys ist die Verwendung von Homebrew. Alternativ können Sie den Dev-Proxy manuell installieren.

Führen Sie zum Installieren des Dev-Proxys mit Homebrew die folgenden Befehle aus:

brew tap microsoft/dev-proxy
brew install dev-proxy

Hinweis

Um die neuesten Vorschaufeatures zu testen, installieren Sie die Betaversion von Dev Proxy.

Führen Sie zum Installieren des Dev-Proxys mit Homebrew die folgenden Befehle aus:

brew tap microsoft/dev-proxy
brew install dev-proxy-beta

Verwenden Sie zum Ausführen der Betaversion des Dev-Proxys devproxy-beta

Dev Proxy zum ersten Mal starten

Wenn Sie den Dev Proxy zum ersten Mal auf Ihrem Computer starten, müssen Sie einige Schritte ausführen, um sicherzustellen, dass der Dev Proxy Anforderungen von Ihrem Computer abfangen und erfolgreich reagieren kann. Sie müssen diese Schritte nach der ersten Ausführung nicht wiederholen.

  1. Starten Sie den Dev-Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie devproxy ein, und drücken Sie die EINGABETASTE.
  2. Vertrauenszertifikat. Dev Proxy installiert ein Zertifikat mit dem Namen Dev Proxy CA. Eine Warnung wird angezeigt. Wählen Sie diese Option aus Yes , um zu bestätigen, dass Sie das Zertifikat installieren möchten. Dev Proxy verwendet dieses Zertifikat, um https-Datenverkehr zu entschlüsseln, der von Ihrem Computer gesendet wird.
  3. Zulassen des Firewallzugriffs. Die Windows-Firewall blockiert den Proxy. Eine Warnung wird angezeigt. Wählen Sie die Schaltfläche aus Allow access , um Datenverkehr durch die Firewall zuzulassen.
  1. Starten Sie den Dev-Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie devproxy ein, und drücken Sie die EINGABETASTE.
  2. Vertrauenszertifikat. Dev Proxy installiert ein Zertifikat namens Dev Proxy CA, das zum Entschlüsseln des von Ihrem Computer gesendeten HTTPS-Datenverkehrs verwendet wird. Eine Warnung wird angezeigt. Drücken Sie y , um zu bestätigen, dass Sie dem Zertifikat vertrauen möchten.
  3. Akzeptieren Sie eingehende Verbindungen. Eine Warnung wird angezeigt. Wählen Sie diese Option Allow aus, um dies zu bestätigen.

Die Eingabeaufforderung zeigt die folgende Ausgabe an:

8 error responses loaded from devproxy-errors.json
Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy

Standardmäßig ist der Dev Proxy für Folgendes konfiguriert:

  • Abfangen von Anforderungen an einen beliebigen JSON-Platzhalter-API-Endpunkt
  • Simulieren von API-Fehlerantworten und API-Drosselung mit einer Fehlerrate von 50 %

Abfangen von Anforderungen

Der Dev-Proxy fängt Anforderungen an bekannte URLs von jeder Anwendung auf Ihrem Computer ab. Wenn eine Anforderung erkannt wird, übergibt der Dev Proxy die Anforderung an die API (keine Aktion ausführen) oder gibt eine Antwort zurück.

  • Senden Sie eine Anforderung an die JSON-Platzhalter-API über die Befehlszeile, und wechseln Sie zurück zum Proxyprozess, um die Ausgabe anzuzeigen.

Verwenden Sie in PowerShell das Invoke-WebRequest Cmdlet, um eine GET-Anforderung an die JSON-Platzhalter-API zu senden.

Invoke-WebRequest -Uri https://jsonplaceholder.typicode.com/posts

Wenn Sie verwenden curl, senden Sie mit dem folgenden Befehl eine GET-Anforderung an die JSON-Platzhalter-API.

curl -ix http://localhost:8000 https://jsonplaceholder.typicode.com/posts

Sie können auch einen API-Client wie Postman verwenden, um eine GET-Anforderung an zu https://jsonplaceholder.typicode.com/postssenden.

Es wird ein Eintrag mit einigen grundlegenden Informationen zur eingehenden Anforderung und der Aktion angezeigt, die der Dev Proxy ausgeführt hat. Dev Proxy simuliert eine Fehlerantwort mit einer Wahrscheinlichkeiten von 50 %. Wenn Ihre Anforderung keinen Fehler zurückgibt, übergibt dev Proxy ihn.

 request     GET https://jsonplaceholder.typicode.com/posts
     api   ╭ Passed through
           ╰ GET https://jsonplaceholder.typicode.com/posts
  • Wiederholen Sie das Senden von Anforderungen an die JSON-Platzhalter-API über die Befehlszeile, bis eine Fehlerantwort zurückgegeben wird.
 request     GET https://jsonplaceholder.typicode.com/posts
     api   ╭ Passed through
           ╰ GET https://jsonplaceholder.typicode.com/posts
 request     GET https://jsonplaceholder.typicode.com/posts
   chaos   ╭ 403 Forbidden
           ╰ GET https://jsonplaceholder.typicode.com/posts

Wenn der Dev Proxy eine Fehlerantwort zurückgibt, wird eine chaos Bezeichnung im Eintrag angezeigt.

  • Versuchen Sie, Anforderungen an andere Endpunkte zu senden, die in der JSON-Platzhalter-API verfügbar sind.
    • https://jsonplaceholder.typicode.com/posts
    • https://jsonplaceholder.typicode.com/posts/1
    • https://jsonplaceholder.typicode.com/posts/1/comments
    • https://jsonplaceholder.typicode.com/comments?postId=1

Dev Proxy sicher beenden

Wenn Sie die Ausführung des Dev-Proxys nicht mehr benötigen, sollten Sie ihn immer sicher beenden.

  • Drücken Sie STRG + C , um den Dev-Proxy sicher zu beenden.

Wenn Sie die Eingabeaufforderungssitzung herunterfahren, hebt der Dev Proxy die Registrierung als Systemproxy nicht ordnungsgemäß auf, und möglicherweise treten einige häufige Probleme auf.

Aktualisieren der URLs auf watch

Standardmäßig ist der Dev Proxy so konfiguriert, dass alle Anforderungen an die JSON-Platzhalter-API abgefangen werden. Sie können den Dev Proxy so konfigurieren, dass Anforderungen an eine beliebige HTTP-API abgefangen werden.

  • Führen Sie an einer Eingabeaufforderung aus brew list dev-proxy , um den Installationsordner zu suchen.
  • Öffnen Sie den Dev Proxy-Installationsordner im Finder.
  • Öffnen Sie devproxyrc.json im Dev Proxy-Installationsordner in einem Text-Editor.
  • Suchen Sie das urlsToWatch Array.
"urlsToWatch": [
  "https://jsonplaceholder.typicode.com/*"
],

Das urlsToWatch Array stellt die bekannten URLs dar. Der Dev Proxy überwacht Anforderungen vom aktuellen Eintrag an einen beliebigen Endpunkt. Der Eintrag verwendet ein Sternchen nach der URL als Platzhalter. Durch das Hinzufügen weiterer Einträge zu diesem Array werden die URLs erweitert, auf die der Dev Proxy überwacht.

Beachten Sie, dass der Dev Proxy keine Anforderungen abfangen soll, die an einen bestimmten Endpunkt gesendet werden.

  • Fügen Sie dem urlsToWatch Array einen neuen Eintrag hinzu.
"urlsToWatch": [
  "!https://jsonplaceholder.typicode.com/posts/2",
  "https://jsonplaceholder.typicode.com/*"
],

Das Ausrufezeichen am Anfang der URL weist den Dev Proxy an, alle Anforderungen zu ignorieren, die dieser URL entsprechen. Sie können Ausrufezeichen und Sternchen in einer URL mischen und abgleichen.

  • Geben Sie in der Befehlszeile ein devproxy , und drücken Sie die EINGABETASTE , um den Dev Proxy zu starten.
  • Senden Sie eine Anforderung an über https://jsonplaceholder.typicode.com/posts/2 die Befehlszeile, und zeigen Sie die Ausgabe an.

Es wird ein Eintrag angezeigt, der bestätigt, dass die Anforderung ignoriert und an die API übergeben wurde.

request     GET https://jsonplaceholder.typicode.com/posts/2
     api   ╭ Passed through
           ╰ GET https://jsonplaceholder.typicode.com/posts/2

Die Reihenfolge, in der die URLs im urlsToWatch Array aufgeführt werden, ist wichtig. Der Dev Proxy verarbeitet diese URLs in der reihenfolge. Wenn eine URL übereinstimmt, wird sie nicht erneut verarbeitet. Daher stellt das erste Platzieren der URL sicher, dass die Anforderung ignoriert wird, bevor die nächste URL verarbeitet wird.

Fehlerrate bei Änderungen

Standardmäßig ist der Dev Proxy so konfiguriert, dass Anforderungen mit einer Wahrscheinlichkeit von 50 % für überwachte URLs fehlschlagen. Sie können die Wahrscheinlichkeit erhöhen oder verringern, dass eine Anforderung eine Fehlerantwort zurückgibt.

Aktualisieren wir die Fehlerrate, sodass jede Anforderung an die JSON-Platzhalter-API eine Fehlerantwort zurückgibt.

  • Öffnen Sie devproxyrc.json im Dev Proxy-Installationsordner in einem Text-Editor.
  • Suchen Sie die Eigenschaft rate, und ändern Sie den Wert von 50 in 100.

Die devproxyrc.json Datei enthält Konfigurationseinstellungen, die beim Starten des Dev Proxys verwendet werden. Beim Ändern der Konfigurationseinstellungen sollten Sie immer den Dev Proxy beenden und starten, damit die Änderungen beibehalten werden.

  • Geben Sie in der Befehlszeile ein devproxy , und drücken Sie die EINGABETASTE , um den Dev Proxy zu starten.
  • Senden Sie über die Befehlszeile eine Anforderung an die JSON-Platzhalter-API, und zeigen Sie die Ausgabe an.

Alternativ können Sie Konfigurationseinstellungen zur Laufzeit überschreiben, indem Sie die Option verwenden, wenn Sie den --failure-rate Dev Proxy starten.

devproxy --failure-rate 100
  • Drücken Sie STRG + C , um den Dev Proxy sicher zu beenden.

Simulieren der Drosselung

Standardmäßig gibt der Dev Proxy einen Bereich von generischen 400- und 500-Fehlerantworten zurück. Sie können diese Fehlerantworten an Ihre eigenen Anforderungen anpassen.

Dev Proxy verwendet Plug-Ins , um unterschiedliche API-Verhaltensweisen zu aktivieren. Standardmäßig aktivieren wir zwei Plug-Ins für Sie.

Ändern Wir nun die Konfiguration, sodass der Dev Proxy immer eine 429 Too Many requests Fehlerantwort zurückgibt, um die Drosselung zu simulieren.

Suchen wir zunächst den Speicherort der Datei, die die Fehlerdefinitionen enthält.

  • Öffnen Sie devproxyrc.json im Dev Proxy-Installationsordner in einem Text-Editor.
  • Suchen Sie im Array den plugins Eintrag für das GenericRandomErrorPlugin-Plug-In . Notieren Sie sich den Wert der configSection -Eigenschaft.
  • Suchen Sie weiter unten in der Datei das genericRandomErrorPlugin -Objekt. Notieren Sie sich den Wert der errorsFile -Eigenschaft.

Tipp

Der Speicherort der Fehlerdatei wird auch in der Ausgabe angezeigt, wenn Sie den Dev Proxy starten.

  • Öffnen Sie devproxy-errors.json im Dev Proxy-Installationsordner in einem Text-Editor.
  • Entfernen Sie alle Antworteinträge im responses Array, mit Ausnahme der 429 Antwort.
{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/genericrandomerrorplugin.schema.json",
  "responses": [
    {
      "statusCode": 429,
      "body": {
        "message": "Too Many Requests",
        "details": "The user has sent too many requests in a given amount of time (\"rate limiting\")."
      },
      "headers": {
        "Retry-After": "@dynamic"
      }
    }
  ]
}
  • Geben Sie in der Befehlszeile ein devproxy , und drücken Sie die EINGABETASTE , um den Dev Proxy zu starten.
  • Senden Sie über die Befehlszeile eine Anforderung an die JSON-Platzhalter-API, und zeigen Sie die Ausgabe an.
 request     GET https://jsonplaceholder.typicode.com/posts
   chaos   ╭ 429 TooManyRequests
           ╰ GET https://jsonplaceholder.typicode.com/posts
  • Drücken Sie STRG + C , um den Dev Proxy sicher zu beenden.

Nächster Schritt

Erfahren Sie, wie Sie den Dev Proxy verwenden, um zufällige Fehler für Ihre eigene Anwendung zu simulieren.