

AWS App Runner wird ab dem 30. April 2026 nicht mehr für Neukunden geöffnet sein. Wenn Sie App Runner verwenden möchten, melden Sie sich vor diesem Datum an. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS App Runner Verfügbarkeit](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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
<a name="service-source-code-go1"></a>

**Wichtig**  
App Runner wird die Unterstützung für **Go 1.18** am 1. Dezember 2025 beenden. Empfehlungen und weitere Informationen finden Sie unter[Ende der Unterstützung für verwaltete Runtime-Versionen](service-source-code.md#service-source-code.managed-platforms.eos).

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](https://hub.docker.com/_/amazonlinux) 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 des [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API-Vorgangs erstellen](manage-create.md). Sie können auch eine Laufzeit als Teil Ihres Quellcodes angeben. Verwenden Sie das `runtime` Schlüsselwort in einer [App Runner-Konfigurationsdatei](config-file.md), die Sie in Ihr Code-Repository aufnehmen. Die Benennungskonvention einer verwalteten Laufzeit lautet*<language-name><major-version>*. 

Gültige Namen und Versionen von Go-Runtime finden Sie unter[Informationen zur Go Runtime-Version](service-source-code-go-releases.md).

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](config-file.md) 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.

**Topics**
+ [Gehen Sie zur Laufzeitkonfiguration](#service-source-code-go1.config)
+ [Gehen Sie zu Runtime-Beispielen](#service-source-code-go1.examples)
+ [Informationen zur Go Runtime-Version](service-source-code-go-releases.md)

## Gehen Sie zur Laufzeitkonfiguration
<a name="service-source-code-go1.config"></a>

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](manage-create.md) oder [Aktualisierung](manage-configure.md) 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 [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API-Vorgang [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)oder auf. Geben Sie die Befehle mithilfe der `StartCommand` Elemente `BuildCommand` und des [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)Datentyps an.
+ **Mithilfe einer [Konfigurationsdatei](config-file.md)** — Geben Sie einen oder mehrere Build-Befehle in bis zu drei Build-Phasen sowie einen einzelnen Run-Befehl 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
<a name="service-source-code-go1.examples"></a>

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

### Minimale Go-Konfigurationsdatei
<a name="service-source-code-go1.examples.minimal"></a>

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 unter[Beispiele für Konfigurationsdateien](config-file-examples.md#config-file-examples.managed).

**Example apprunner.yaml**  

```
version: 1.0
runtime: go1
build:
  commands:
    build:
      - go build main.go
run:
  command: ./main
```

### Erweiterte Go-Konfigurationsdatei
<a name="service-source-code-go1.examples.extended"></a>

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 unter[Informationen zur Go Runtime-Version](service-source-code-go-releases.md).

**Example 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"
```

### Vollständige Go-Anwendungsquelle
<a name="service-source-code-go1.examples.end2end"></a>

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

**Example 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)
}
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: go1
build:
  commands:
    build:
      - go build main.go
run:
  command: ./main
  network:
    port: 3000
    env: APP_PORT
```