Auf dieser Seite wird beschrieben, wie Sie den AlloyDB Auth-Proxy einrichten und verwenden, um autorisierte, verschlüsselte Verbindungen zu AlloyDB-Instanzen herzustellen. Eine konzeptionelle Übersicht über den Auth-Proxy finden Sie unter Informationen zum AlloyDB Auth-Proxy.
Wenn Sie den AlloyDB Auth-Proxy verwenden möchten, müssen Sie mehrere einmalige Einrichtungsschritte ausführen. Anschließend starten Sie den Auth-Proxy-Client und stellen dann darüber eine Verbindung zu Datenbanken her:
- Einrichtung:
- Laden Sie den Auth-Proxyclient auf Ihren Clienthost herunter.
- Wählen Sie das IAM-Hauptkonto (Identity and Access Management) aus, das für die Autorisierung verwendet werden soll. Achten Sie darauf, dass es die erforderlichen Berechtigungen hat und seine Anmeldedaten auf Ihrem Clienthost verfügbar sind.
- Verbindungs-URIs für die AlloyDB-Instanzen, zu denen Sie eine Verbindung herstellen möchten, abrufen.
- Starten Sie den Auth-Proxyclient auf Ihrem Clienthost.
- Anwendung mit einer Datenbank verbinden, indem Sie eine lokale Verbindung zum Auth-Proxy-Client herstellen.
Hinweise
-
Der Client-Host muss die folgenden Anforderungen erfüllen:
Es muss Netzwerkzugriff auf das Virtual Private Cloud-Netzwerk (VPC) haben, in dem sich die Instanzen befinden, mit denen Sie eine Verbindung herstellen möchten. Client-Hosts (z. B. Compute Engine-Instanzen) in diesem VPC-Netzwerk (Virtual Private Cloud) haben diese Sichtbarkeit von Natur aus. Client-Hosts in externen Netzwerken (lokale Netzwerke oder andere VPC-Netzwerke) haben diese Sichtbarkeit, wenn das VPC-Netzwerk der AlloyDB-Instanz über einen Cloud-VPN-Tunnel oder einen VLAN-Anhang für Dedicated Interconnect oder Partner Interconnect mit dem externen Netzwerk verbunden ist.
Wenn der Clienthost eine Firewallrichtlinie für ausgehende Verbindungen hat, muss er ausgehende Verbindungen zu Port
5433
für die IP-Adressen Ihrer AlloyDB-Instanzen und ausgehende Verbindungen zu Port443
(dem Standard-HTTPS-Port) für alle IP-Adressen zulassen.Wenn Sie eine Compute Engine-Instanz als Clienthost verwenden, muss sie den Zugriffsbereich
https://www.googleapis.com/auth/cloud-platform
haben, damit sie die AlloyDB Admin API verwenden kann. Ändern Sie bei Bedarf den Zugriffsbereich, um diesen Bereich einzuschließen.
Auth-Proxyclient herunterladen
Die Maschine, auf die Sie den Auth Proxy-Client herunterladen, hängt davon ab, ob Sie eine Verbindung zu Ihren AlloyDB-Instanzen innerhalb oder außerhalb des VPC-Netzwerk herstellen möchten.
Wenn Sie über den Zugriff auf private Dienste eine Verbindung zu Ihrem Cluster herstellen möchten, können Sie den Auth-Proxy-Client auf eine Compute Engine-VM-Instanz herunterladen, die in dem VPC-Netzwerk ausgeführt wird, das Zugriff auf private Dienste für Ihren Cluster hat.
Wenn Sie eine Verbindung zu Ihrem Cluster von außerhalb der VPC herstellen möchten, hängt der Computer, auf dem Sie ihn installieren, davon ab, welche externe Verbindungsstrategie Sie verwenden. Sie können den Auth-Proxy-Client beispielsweise auf einem macOS- oder Windows-Computer installieren, der sich lokal in Ihrer Anwendung befindet, und dann einen SOCKS-Server verwenden, der in Ihrem AlloyDB-VPC-Netzwerk als Verbindungszwischenstelle ausgeführt wird. Weitere Informationen finden Sie unter Verbindung zu einem Cluster von außerhalb seiner VPC herstellen.
Linux
64-Bit (AMD)
Laden Sie den Auth-Proxyclient herunter:
wget https://storage.googleapis.com/alloydb-auth-proxy/v1.13.4/alloydb-auth-proxy.linux.amd64 -O alloydb-auth-proxy
Machen Sie den Auth-Proxy-Client ausführbar:
chmod +x alloydb-auth-proxy
32-Bit (AMD)
Laden Sie den Auth-Proxyclient herunter:
wget https://storage.googleapis.com/alloydb-auth-proxy/v1.13.4/alloydb-auth-proxy.linux.386 -O alloydb-auth-proxy
Machen Sie den Auth-Proxy-Client ausführbar:
chmod +x alloydb-auth-proxy
64-Bit (ARM)
Laden Sie den Auth-Proxyclient herunter:
wget https://storage.googleapis.com/alloydb-auth-proxy/v1.13.4/alloydb-auth-proxy.linux.arm64 -O alloydb-auth-proxy
Machen Sie den Auth-Proxy-Client ausführbar:
chmod +x alloydb-auth-proxy
32-Bit (ARM)
Laden Sie den Auth-Proxyclient herunter:
wget https://storage.googleapis.com/alloydb-auth-proxy/v1.13.4/alloydb-auth-proxy.linux.arm -O alloydb-auth-proxy
Machen Sie den Auth-Proxy-Client ausführbar:
chmod +x alloydb-auth-proxy
macOS
M1
Laden Sie den Auth-Proxyclient herunter:
curl -o alloydb-auth-proxy https://storage.googleapis.com/alloydb-auth-proxy/v1.13.4/alloydb-auth-proxy.darwin.arm64
Machen Sie den Auth-Proxy-Client ausführbar:
chmod +x alloydb-auth-proxy
64-Bit
Laden Sie den Auth-Proxyclient herunter:
curl -o alloydb-auth-proxy https://storage.googleapis.com/alloydb-auth-proxy/v1.13.4/alloydb-auth-proxy.darwin.amd64
Machen Sie den Auth-Proxy-Client ausführbar:
chmod +x alloydb-auth-proxy
32-Bit
Laden Sie den Auth-Proxyclient herunter:
curl -o alloydb-auth-proxy https://storage.googleapis.com/alloydb-auth-proxy/v1.13.4/alloydb-auth-proxy.darwin.386
Machen Sie den Auth-Proxy-Client ausführbar:
chmod +x alloydb-auth-proxy
Windows
64-Bit
Klicken Sie mit der rechten Maustaste auf https://storage.googleapis.com/alloydb-auth-proxy/v1.13.4/alloydb-auth-proxy-x64.exe und wählen Sie Link speichern unter aus, um den Auth-Proxy-Client herunterzuladen.
Benennen Sie die Datei in alloydb-auth-proxy.exe
um.
32-Bit
Klicken Sie mit der rechten Maustaste auf https://storage.googleapis.com/alloydb-auth-proxy/v1.13.4/alloydb-auth-proxy-x86.exe und wählen Sie Link speichern unter aus, um den Auth-Proxy-Client herunterzuladen.
Benennen Sie die Datei in alloydb-auth-proxy.exe
um.
Docker-Image
Der Einfachheit halber sind mehrere Container-Images, die den Auth-Proxy-Client enthalten, in der Artifact Registry verfügbar.
Mit folgendem Befehl können Sie das neueste Image mithilfe von Docker auf Ihren lokalen Computer übertragen:
docker pull gcr.io/alloydb-connectors/alloydb-auth-proxy:latest
Andere Betriebssysteme
Für andere Betriebssysteme, die hier nicht aufgeführt sind, können Sie den Auth-Proxy-Client aus der Quelle kompilieren.
IAM-Hauptkonto auswählen und für die Autorisierung vorbereiten
Der AlloyDB Auth-Proxy unterstützt die Verwendung dieser Arten von IAM-Principals, um Verbindungen zwischen Ihrem Client und einer AlloyDB-Instanz zu autorisieren:
Ein vom Nutzer verwaltetes Dienstkonto. Sie können ein IAM-Dienstkonto für Ihre Anwendung erstellen und dann Verbindungen damit autorisieren.
Google empfiehlt dringend, für die Autorisierung in Produktionsumgebungen ein Dienstkonto zu verwenden.
Ihr Nutzerkonto Sie können Ihr eigenes IAM-Nutzerkonto verwenden, um Verbindungen zu autorisieren.
Die Verwendung Ihres eigenen Nutzerkontos ist in Entwicklungsumgebungen praktisch, in denen Sie AlloyDB-Ressourcen mit der gcloud CLI verwalten, die Datenbank mit einem Tool wie
psql
entwickeln und Anwendungscode auf demselben Host entwickeln.Das standardmäßige Compute Engine-Dienstkonto. Wenn der Client-Host eine Compute Engine-Instanz ist, können Sie das Compute Engine-Standarddienstkonto verwenden, um Verbindungen zu autorisieren.
Nachdem Sie das zu verwendende IAM-Hauptkonto ausgewählt haben, müssen Sie dafür sorgen, dass es die erforderlichen IAM-Berechtigungen hat und dass die Anmeldedaten auf Ihrem Clienthost verfügbar sind.
Erforderliche IAM-Berechtigungen
Das IAM-Hauptkonto, das Sie zum Autorisieren von Verbindungen verwenden, muss die Berechtigungen haben, die von den vordefinierten Rollen roles/alloydb.client
(Cloud AlloyDB Client) und roles/serviceusage.serviceUsageConsumer
(Service Usage Consumer) bereitgestellt werden.
So weisen Sie einem IAM-Principal die Rolle „Cloud AlloyDB Client“ zu:
Die Cloud Resource Manager API muss im Google Cloud -Projekt aktiviert sein.
Sie benötigen die grundlegende IAM-Rolle
roles/owner
(Inhaber) imGoogle Cloud -Projekt oder eine Rolle, die diese Berechtigungen gewährt:resourcemanager.projects.get
resourcemanager.projects.getIamPolicy
resourcemanager.projects.setIamPolicy
Bitten Sie Ihren Administrator, Ihnen die Rolle
roles/resourcemanager.projectIamAdmin
(Project IAM Admin) zuzuweisen, damit Sie diese Berechtigungen erhalten und dabei dem Prinzip der geringsten Berechtigung folgen.
IAM-Anmeldedaten auf dem Clienthost verfügbar machen
Wie Sie IAM-Anmeldedaten auf dem Clienthost verfügbar machen, hängt davon ab, welchen Typ von IAM-Hauptkonto Sie zum Autorisieren von Verbindungen verwenden:
Nutzerverwaltetes Dienstkonto
Wenn Sie IAM-Anmeldedaten für ein vom Nutzer verwaltetes Dienstkonto bereitstellen möchten, erstellen Sie einen Dienstkontoschlüssel im JSON-Format und laden Sie ihn auf Ihren Clienthost herunter. Wenn Sie den Auth Proxy-Client starten, geben Sie den Speicherort der Schlüsseldatei mit dem Flag
--credentials-file
an.Ihr Nutzerkonto
Wenn Sie IAM-Anmeldedaten für Ihr Nutzerkonto bereitstellen möchten, installieren Sie die Google Cloud CLI auf Ihrem Clienthost und führen Sie dann den Befehl
gcloud init
aus, um sie mit Ihrem Nutzerkonto zu initialisieren. Wenn Sie den Auth Proxy-Client starten, werden Ihre Nutzerkonto-Anmeldedaten automatisch erkannt und verwendet, sofern Sie keine nutzerverwalteten Dienstkonto-Anmeldedaten angeben.Standardmäßiges Compute Engine-Dienstkonto
Wenn Sie eine Compute Engine-Instanz als Clienthost verwenden, sind die Anmeldedaten für das Compute Engine-Standarddienstkonto bereits auf dem Host vorhanden. Wenn Sie den Auth Proxy-Client starten, werden diese Anmeldedaten automatisch erkannt und verwendet, wenn keine Anmeldedaten für vom Nutzer verwaltete Dienstkonten und Nutzerkonten verfügbar sind.
Verbindungs-URIs für die AlloyDB-Instanzen erfassen
Wenn Sie den Auth-Proxy-Client starten, geben Sie die AlloyDB-Instanz oder -Instanzen an, zu denen Sie eine Verbindung herstellen möchten. Verwenden Sie dazu das folgende Verbindungs-URI-Format:
projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID
Wenn Sie eine Liste aller Verbindungs-URIs Ihrer Instanzen aufrufen möchten, verwenden Sie den gcloud CLI-Befehl alloydb instances list
.
Rufen Sie den URI der Instanzverbindung für jede Instanz ab, zu der Sie eine Verbindung herstellen möchten.
Auth-Proxy-Client starten
Wenn Sie den Auth-Proxy-Client starten, geben Sie Informationen dazu an, mit welchen AlloyDB-Instanzen eine Verbindung hergestellt werden soll, und bei Bedarf Anmeldedaten, die zur Autorisierung dieser Verbindungen verwendet werden sollen.
Wenn der Auth-Proxy-Client gestartet wird, führt er folgende Schritte aus:
- Autorisiert Verbindungen zu AlloyDB-Instanzen mit den Anmeldedaten und IAM-Berechtigungen des konfigurierten IAM-Principals. Dabei wird eine bestimmte Abfolge von Schritten durchlaufen, um nach Anmeldedaten zu suchen.
- Autorisiert automatisch öffentliche IP-Verbindungen zum Quellnetzwerk, wenn für die Instanz die öffentliche IP-Adresse aktiviert ist.
- Konfiguriert eine private TLS 1.3-Verbindung zum Auth-Proxy-Server jeder Instanz.
- Beginnt mit dem Empfang von Verbindungsanfragen von lokalen Clients.
Standardmäßig überwacht der Auth-Proxy-Client TCP-Verbindungen auf der IP-Adresse 127.0.0.1. Er beginnt mit Port 5432 und erhöht die Portnummer für jede AlloyDB-Instanz nach der ersten um eins. Sie können beim Starten des Auth Proxy-Clients eine andere Listener-Adresse und andere Ports angeben.
Befehlszeile
./alloydb-auth-proxy INSTANCE_URI... \
[ --credentials-file PATH_TO_KEY_FILE \ ]
[ --token OAUTH_ACCESS_TOKEN \ ]
[ --port INITIAL_PORT_NUMBER \ ]
[ --address LOCAL_LISTENER_ADDRESS \ ]
[ --auto-iam-authn \ ]
[ --psc \ ]
[ --public-ip \ ]
[ --disable-built-in-telemetry ]
Ersetzen Sie Folgendes:
INSTANCE_URI
: Der Instanzverbindungs-URI einer AlloyDB-Instanz, mit der eine Verbindung hergestellt werden soll, im folgenden Format:projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID
Sie können den Standardport für den lokalen Listener, den der Auth Proxy-Client für die Instanz verwendet, überschreiben, indem Sie den Abfrageparameter
port
dem URI hinzufügen:"projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?port=PORT"
Optional:
PATH_TO_KEY_FILE
: Der Pfad zur JSON-Schlüsseldatei des vom Nutzer verwalteten Dienstkontos, das für die Verbindungsautorisierung verwendet werden soll.Optional:
OAUTH_ACCESS_TOKEN
: Ein OAuth2-Tokenwert, der für die Verbindungsautorisierung verwendet werden soll.Optional:
INITIAL_PORT_NUMBER
: Die Startportnummer, die anstelle des Standardports5432
verwendet werden soll, wenn auf lokale TCP-Verbindungen gewartet wird.Optional:
LOCAL_LISTENER_ADDRESS
: Die Listener-Adresse, die anstelle der Standardadresse127.0.0.1
verwendet werden soll, wenn auf lokale TCP-Verbindungen gewartet wird.
Das optionale Flag --auto-iam-authn
ermöglicht die automatische Authentifizierung für die Instanz. Dies funktioniert nur für den Datenbanknutzer, der dem IAM-Konto zugeordnet ist, auf dem der Auth-Proxy-Client ausgeführt wird. Weitere Informationen finden Sie unter Automatische Authentifizierung mit dem Auth-Proxy.
Mit dem optionalen Flag --psc
kann der Auth-Proxy eine Verbindung zu einer Instanz mit aktiviertem Private Service Connect herstellen. Weitere Informationen zum Einrichten von DNS mit Private Service Connect finden Sie unter DNS-verwaltete Zone und DNS-Eintrag konfigurieren.
Mit dem optionalen Flag --public-ip
kann der Auth-Proxy eine Verbindung zu einer Instanz herstellen, für die die öffentliche IP-Adresse aktiviert ist, indem er die öffentliche IP-Adresse der Instanz verwendet. Weitere Informationen zu öffentlichen IP-Adressen finden Sie unter Verbindung über öffentliche IP-Adresse herstellen.
Mit dem optionalen Flag --disable-built-in-telemetry
wird der interne Messwertreporter deaktiviert, den der Auth-Proxy verwendet, um Informationen zum Verbindungs- und Netzwerkstatus zu melden. Standardmäßig werden die internen Vorgänge des Auth-Proxys unter dem Systemmesswertpräfix alloydb.googleapis.com
gemeldet. Mithilfe dieser Messwerte kann AlloyDB die Leistung verbessern und Probleme mit der Clientverbindung erkennen. Diese Option ist nützlich für Anwendungen, die in Umgebungen ausgeführt werden, in denen der Export von Messwerten nach außen eingeschränkt ist. Wenn Sie diese Telemetrie deaktivieren möchten, verwenden Sie dieses Flag.
Docker-Container
Starten Sie den Auth-Proxy-Client mit dem Befehl docker run
.
Wenn Sie die von Ihrer Compute Engine-Instanz bereitgestellten Anmeldedaten verwenden, können Sie einen Befehl wie den folgenden verwenden:
docker run \
--publish 127.0.0.1:PORT:PORT \
gcr.io/alloydb-connectors/alloydb-auth-proxy:latest \
--address 0.0.0.0 \
--port PORT \
INSTANCE_URI
Ersetzen Sie Folgendes:
PORT
: Der Port, der für lokale Verbindungen zum Auth Proxy-Client verwendet werden soll. Der Standardwert ist5432
.INSTANCE_URI
: Der Instanzverbindungs-URI einer AlloyDB-Instanz, mit der eine Verbindung hergestellt werden soll. Er wird im folgenden Format angegeben:projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID
Sie können den standardmäßigen lokalen Listener-Port, den der Auth-Proxy-Client für die Instanz verwendet, überschreiben, indem Sie den Abfrageparameter
port
dem URI hinzufügen:"projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?port=PORT"
Geben Sie im Flag --publish
immer das Präfix 127.0.0.1
an, damit der Auth-Proxy-Client nicht außerhalb des lokalen Hosts bereitgestellt wird.
Der Wert 0.0.0.0
im Flag --address
ist erforderlich, damit der Listener von außerhalb des Docker-Containers aus zugänglich ist.
Wenn Sie Anmeldedaten aus einer lokalen JSON-Datei angeben möchten, fügen Sie beim Ausführen des docker run
-Befehls die Flags --volume
und --credentials-file
ein:
docker run \
--volume PATH_TO_KEY_FILE:/key.json \
--publish 127.0.0.1:PORT:PORT \
gcr.io/alloydb-connectors/alloydb-auth-proxy:latest \
--address 0.0.0.0 \
--port PORT \
--credentials-file=/key.json \
INSTANCE_URI
Ersetzen Sie PATH_TO_KEY_FILE
durch den Pfad zur JSON-Schlüsseldatei des vom Nutzer verwalteten Dienstkontos, das für die Verbindungsautorisierung verwendet werden soll.
Beispiele für Start-ups
Die folgenden Beispiele zeigen verschiedene Möglichkeiten, den Auth Proxy-Client zu starten. Dabei werden die folgenden Beispiel-Verbindungs-URIs für Instanzen verwendet:
projects/myproject/locations/us-central1/clusters/mycluster/instances/myprimary
projects/myproject/locations/us-central1/clusters/mycluster/instances/myreadpool
Einfacher Start
./alloydb-auth-proxy \
"projects/myproject/locations/us-central1/clusters/mycluster/instances/myprimary"
In diesem Beispiel autorisiert der Auth Proxy-Client die Verbindung, indem er seiner normalen Folge von Autorisierungsschritten folgt. Anschließend beginnt er, auf lokale Verbindungen zur myprimary
-Instanz auf 127.0.0.1:5432
zu warten.
Starten mit einem vom Nutzer verwalteten Dienstkonto
./alloydb-auth-proxy \
"projects/myproject/locations/us-central1/clusters/mycluster/instances/myprimary" \\
--credentials-file "myappaccount/key.json"
In diesem Beispiel autorisiert der Auth-Proxy-Client die Verbindung mit dem JSON-Schlüssel des vom Nutzer verwalteten Dienstkontos, der unter myappaccount/key.json
gespeichert ist. Anschließend beginnt er, auf lokale Verbindungen zur myprimary
-Instanz auf 127.0.0.1:5432
zu warten.
Startup-Verbindung zu mehreren Instanzen
./alloydb-auth-proxy \
"projects/myproject/locations/us-central1/clusters/mycluster/instances/myprimary" \
"projects/myproject/locations/us-central1/clusters/mycluster/instances/myreadpool"
In diesem Beispiel autorisiert der Auth-Proxy-Client die Verbindung, indem er seiner normalen Folge von Autorisierungsschritten folgt. Anschließend beginnt er, lokale Verbindungen zur myprimary
-Instanz auf 127.0.0.1:5432
und zur myreadpool
-Instanz auf 127.0.0.1:5433
zu überwachen.
Überwachung an benutzerdefinierten Ports starten
Die Verwendung benutzerdefinierter Ports für den Auth-Proxy-Client kann nützlich sein, wenn Sie Port 5432
für andere PostgreSQL-Verbindungen reservieren müssen.
./alloydb-auth-proxy \
"projects/myproject/locations/us-central1/clusters/mycluster/instances/myprimary?port=5000" \
"projects/myproject/locations/us-central1/clusters/mycluster/instances/myreadpool?port=5001"
In diesem Beispiel autorisiert der Auth-Proxy-Client die Verbindung, indem er seiner normalen Folge von Autorisierungsschritten folgt. Anschließend beginnt er, lokale Verbindungen zur myprimary
-Instanz auf 127.0.0.1:5000
und zur myreadpool
-Instanz auf 127.0.0.1:5001
zu überwachen.
Da diese benutzerdefinierten Ports sequenziell sind, kann derselbe Effekt mit diesem Startbefehl erzielt werden:
./alloydb-auth-proxy \
"projects/myproject/locations/us-central1/clusters/mycluster/instances/myprimary" \
"projects/myproject/locations/us-central1/clusters/mycluster/instances/myreadpool" \
--port 5000
Auf einer benutzerdefinierten IP-Adresse auf Anfragen warten
./alloydb-auth-proxy \
"projects/myproject/locations/us-central1/clusters/mycluster/instances/myprimary" \
--address "0.0.0.0"
In diesem Beispiel autorisiert der Auth Proxy-Client die Verbindung, indem er seiner normalen Folge von Autorisierungsschritten folgt. Anschließend beginnt er, auf lokale Verbindungen zur myprimary
-Instanz auf 0.0.0.0:5432
zu warten.
Anwendung über den AlloyDB Auth-Proxy mit einer Datenbank verbinden
Die folgenden Beispiele zeigen, wie Sie eine Anwendung mithilfe des AlloyDB Auth-Proxys mit einer Datenbank verbinden können.
Im psql
-Beispiel wird gezeigt, wie Sie ein Befehlszeilentool verbinden.
Die Verbindung zu einer AlloyDB-Instanz mit dem AlloyDB Auth-Proxy ist für mehrere Programmiersprachen identisch mit der Verbindung zu einer Cloud SQL for PostgreSQL-Instanz mit dem Cloud SQL Auth-Proxy. Die Sprachbeispiele hier sind also dieselben wie für Cloud SQL for PostgreSQL.
Diese Beispiele basieren auf einem Standardstart des Auth-Proxy-Clients, sodass er auf 127.0.0.1:5432
auf lokale TCP-Verbindungen wartet.
psql
psql -h 127.0.0.1 -p 5432 -U DB_USER
Ersetzen Sie DB_USER
durch den Datenbanknutzer, mit dem Sie eine Verbindung herstellen möchten, z. B. postgres
.
Sie werden aufgefordert, das Passwort des Nutzers DB_USER
einzugeben.
Python
Java
Node.js
Go
Wenn Sie dieses Snippet im Kontext einer Webanwendung sehen möchten, rufen Sie die README-Datei auf GitHub auf.
C#
Wenn Sie dieses Snippet im Kontext einer Webanwendung sehen möchten, rufen Sie die README-Datei auf GitHub auf.
Ruby
Wenn Sie dieses Snippet im Kontext einer Webanwendung sehen möchten, rufen Sie die README-Datei auf GitHub auf.
PHP
Wenn Sie dieses Snippet im Kontext einer Webanwendung sehen möchten, rufen Sie die README-Datei auf GitHub auf.