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.
- Starten Sie den Dev-Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie
devproxy
ein, und drücken Sie die EINGABETASTE. - Vertrauenszertifikat. Dev Proxy installiert ein Zertifikat mit dem Namen
Dev Proxy CA
. Eine Warnung wird angezeigt. Wählen Sie diese Option ausYes
, 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. - 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.
- Starten Sie den Dev-Proxy. Öffnen Sie eine Eingabeaufforderungssitzung. Geben Sie
devproxy
ein, und drücken Sie die EINGABETASTE. - 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. - 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/posts
senden.
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 von50
in100
.
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.
- Das GenericRandomErrorPlugin-Plug-In bietet die Möglichkeit für den Dev Proxy, mit einer Fehlerantwort zu reagieren.
- Das RetryAfterPlugin-Plug-In bietet dev proxy die Möglichkeit, einen dynamischen Wert in den Retry-After-Header in der Fehlerantwort einzufügen.
Ä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 derconfigSection
-Eigenschaft. - Suchen Sie weiter unten in der Datei das
genericRandomErrorPlugin
-Objekt. Notieren Sie sich den Wert dererrorsFile
-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 der429
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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für