Utilizzo della piattaforma Go di - AWS App Runner

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo della piattaforma Go di

La piattaforma AWS App Runner Go offre tempi di esecuzione gestiti. Ogni runtime semplifica la creazione e l'esecuzione di contenitori con applicazioni Web basate su una versione Go. Quando si utilizza un runtime Go, App Runner si avvia con un'immagine di runtime Go gestita. Questa immagine è basata sull'immagine Docker di Amazon Linux e contiene il pacchetto di runtime per una versione di Go e alcuni strumenti. App Runner utilizza questa immagine di runtime gestita come immagine di base e aggiunge il codice dell'applicazione per creare un'immagine Docker. Quindi distribuisce questa immagine per eseguire il servizio Web in un contenitore.

Si specifica un runtime per il servizio App Runner quando si crea un servizio utilizzando la console App Runner o l'CreateServiceoperazione API. Puoi anche specificare un runtime come parte del codice sorgente. Usa la runtime parola chiave in un file di configurazione di App Runner che includi nel tuo repository di codice. La convenzione di denominazione di un runtime gestito è. <language-name><major-version>

Per nomi e versioni di runtime Go validi, vediInformazioni sulla versione di Go Runtime.

App Runner aggiorna il runtime del servizio alla versione più recente a ogni distribuzione o aggiornamento del servizio. Se l'applicazione richiede una versione specifica di un runtime gestito, è possibile specificarla utilizzando la runtime-version parola chiave nel file di configurazione di App Runner. È possibile utilizzare qualsiasi livello di versione, inclusa una versione principale o secondaria. App Runner effettua solo aggiornamenti di livello inferiore al runtime del servizio.

Sintassi della versione per i runtime Go: major[.minor[.patch]]

Ad esempio: 1.18.7

I seguenti esempi mostrano il blocco della versione:

  • 1.18— Blocca le versioni principali e secondarie. App Runner aggiorna solo le versioni patch.

  • 1.18.7— Blocca a una versione di patch specifica. App Runner non aggiorna la versione di runtime.

Configurazione Go runtime

Quando scegli un runtime gestito, devi anche configurare, come minimo, creare ed eseguire comandi. Li configuri durante la creazione o l'aggiornamento del servizio App Runner. Puoi farlo utilizzando uno dei seguenti metodi:

  • Utilizzo della console App Runner: specifica i comandi nella sezione Configure build del processo di creazione o della scheda di configurazione.

  • Utilizzo dell'API App Runner: richiama l'operazione CreateServiceor UpdateServiceAPI. Specificate i comandi utilizzando i StartCommand membri BuildCommand e del tipo di CodeConfigurationValuesdati.

  • Utilizzo di un file di configurazione: specifica uno o più comandi di compilazione in un massimo di tre fasi di compilazione e un singolo comando di esecuzione che serve per avviare l'applicazione. Sono disponibili impostazioni di configurazione opzionali aggiuntive.

Fornire un file di configurazione è facoltativo. Quando crei un servizio App Runner utilizzando la console o l'API, specifichi se App Runner ottiene le impostazioni di configurazione direttamente al momento della creazione o da un file di configurazione.

Esempi di runtime Go

Gli esempi seguenti mostrano i file di configurazione di App Runner per la creazione e l'esecuzione di un servizio Go.

Questo esempio mostra un file di configurazione minimo che puoi usare con un runtime gestito da Go. Per le ipotesi che App Runner fa con un file di configurazione minimo, vedi. Esempi di file di configurazione

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

Questo esempio mostra l'uso di tutte le chiavi di configurazione con un runtime Go gestito.

Nota

La versione di runtime utilizzata in questi esempi è la 1.18.7. Puoi sostituirla con una versione che desideri utilizzare. Per l'ultima versione di runtime Go supportata, consultaInformazioni sulla versione di Go Runtime.

Esempio 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"

Questi esempi mostrano il codice sorgente di un'applicazione Go completa che puoi distribuire su un servizio di runtime Go.

Esempio 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) }
Esempio apprunner.yaml
version: 1.0 runtime: go1 build: commands: build: - go build main.go run: command: ./main network: port: 3000 env: APP_PORT