Verwenden der Go-Plattform von - AWS App Runner

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.

Verwenden der Go-Plattform von

Die AWS App Runner Go-Plattform bietet verwaltete Laufzeiten. Jede Laufzeit macht es einfach, Container mit Webanwendungen zu erstellen und auszuführen, die auf einer Go-Version basieren. Wenn Sie eine Go-Runtime verwenden, beginnt App Runner mit einem verwalteten Go-Runtime-Image. Dieses Image basiert auf dem Amazon Linux Docker-Image und enthält das Runtime-Paket für eine Version von Go und einige Tools. App Runner verwendet dieses verwaltete Runtime-Image als Basis-Image und fügt Ihren Anwendungscode hinzu, um ein Docker-Image zu erstellen. Anschließend wird dieses Image bereitgestellt, um Ihren Webservice in einem Container auszuführen.

Sie geben eine Laufzeit für Ihren App Runner-Dienst an, wenn Sie einen Dienst mithilfe der App Runner-Konsole oder der CreateServiceAPI-Operation erstellen. Sie können auch eine Laufzeit als Teil Ihres Quellcodes angeben. Verwenden Sie das runtime Schlüsselwort in einer App Runner-Konfigurationsdatei, die Sie in Ihr Code-Repository aufnehmen. Die Namenskonvention einer verwalteten Laufzeit lautet. <language-name><major-version>

Gültige Namen und Versionen von Go-Runtime finden Sie unterInformationen zur Go Runtime-Version.

App Runner aktualisiert die Laufzeit für Ihren Service bei jeder Bereitstellung oder jedem Service-Update auf die neueste Version. Wenn Ihre Anwendung eine bestimmte Version einer verwalteten Laufzeit benötigt, können Sie diese mithilfe des runtime-version Schlüsselworts in der App Runner-Konfigurationsdatei angeben. Sie können sich auf eine beliebige Versionsebene beschränken, einschließlich einer Haupt- oder Nebenversion. App Runner aktualisiert die Laufzeit Ihres Dienstes nur auf niedrigerer Ebene.

Versionssyntax für Go-Laufzeiten: major[.minor[.patch]]

Beispiel: 1.18.7

Die folgenden Beispiele demonstrieren das Sperren von Versionen:

  • 1.18— Sperren Sie die Haupt- und Nebenversionen. App Runner aktualisiert nur Patch-Versionen.

  • 1.18.7— Auf eine bestimmte Patch-Version festlegen. App Runner aktualisiert Ihre Runtime-Version nicht.

Gehen Sie zur Laufzeitkonfiguration

Wenn Sie sich für eine verwaltete Runtime entscheiden, müssen Sie mindestens auch Build- und Run-Befehle konfigurieren. Sie konfigurieren sie bei der Erstellung oder Aktualisierung Ihres App Runner-Dienstes. Sie können dies mit einer der folgenden Methoden tun:

  • Verwenden der App Runner-Konsole — Geben Sie die Befehle im Abschnitt Build konfigurieren des Erstellungsprozesses oder der Registerkarte Konfiguration an.

  • Verwenden der App Runner-API — Rufen Sie den UpdateServiceAPI-Vorgang CreateServiceoder auf. Geben Sie die Befehle mithilfe der StartCommand Elemente BuildCommand und des CodeConfigurationValuesDatentyps an.

  • Mithilfe einer Konfigurationsdatei — Geben Sie einen oder mehrere Build-Befehle in bis zu drei Build-Phasen sowie einen einzelnen Ausführungsbefehl an, der zum Starten Ihrer Anwendung dient. Es gibt zusätzliche optionale Konfigurationseinstellungen.

Die Bereitstellung einer Konfigurationsdatei ist optional. Wenn Sie einen App Runner-Dienst mithilfe der Konsole oder der API erstellen, geben Sie an, ob App Runner Ihre Konfigurationseinstellungen direkt bei der Erstellung oder aus einer Konfigurationsdatei bezieht.

Gehen Sie zu Runtime-Beispielen

Die folgenden Beispiele zeigen App Runner-Konfigurationsdateien zum Erstellen und Ausführen eines Go-Dienstes.

Dieses Beispiel zeigt eine minimale Konfigurationsdatei, die Sie mit einer von Go verwalteten Runtime verwenden können. Informationen zu den Annahmen, die App Runner mit einer minimalen Konfigurationsdatei trifft, finden Sie unterBeispiele für Konfigurationsdateien.

Beispiel apprunner.yaml
version: 1.0 runtime: go1 build: commands: build: - go build main.go run: command: ./main

Dieses Beispiel zeigt die Verwendung aller Konfigurationsschlüssel mit einer von Go verwalteten Laufzeit.

Anmerkung

Die Runtime-Version, die in diesen Beispielen verwendet wird, ist 1.18.7. Sie können sie durch eine Version ersetzen, die Sie verwenden möchten. Die neueste unterstützte Go-Runtime-Version finden Sie unterInformationen zur Go Runtime-Version.

Beispiel apprunner.yaml
version: 1.0 runtime: go1 build: commands: pre-build: - scripts/prebuild.sh build: - go build main.go post-build: - scripts/postbuild.sh env: - name: MY_VAR_EXAMPLE value: "example" run: runtime-version: 1.18.7 command: ./main network: port: 3000 env: APP_PORT env: - name: MY_VAR_EXAMPLE value: "example"

Diese Beispiele zeigen den Quellcode für eine vollständige Go-Anwendung, die Sie in einem Go-Runtime-Service bereitstellen können.

Beispiel main.go
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "<h1>Welcome to App Runner</h1>") }) fmt.Println("Starting the server on :3000...") http.ListenAndServe(":3000", nil) }
Beispiel apprunner.yaml
version: 1.0 runtime: go1 build: commands: build: - go build main.go run: command: ./main network: port: 3000 env: APP_PORT