Per eseguire il deployment di una versione dell'app con l'API Admin, devi definire i dettagli di configurazione della versione utilizzando un file in formato JSON. Puoi creare manualmente il file di configurazione o convertire un file app.yaml
esistente.
La creazione di un file di configurazione in formato JSON prevede due parti:
- Definisci le informazioni di configurazione per la versione di cui vuoi eseguire il deployment.
- Definisci una sezione
deployment
per specificare tutti i file e le risorse dell'app di cui vuoi eseguire il deployment.
Prima di iniziare
Prima di poter creare il file di configurazione app.json
, devi caricare tutti i file e le risorse della tua app in un bucket Cloud Storage.
Creare manualmente il file di configurazione JSON
Segui questi passaggi se devi creare manualmente il file di configurazione, ad esempio quando la tua app esclude un app.yaml
o l'app Java esistente utilizza un file appengine-web.xml
.
Per creare manualmente il file di configurazione app.json
per eseguire il deployment della tua app con
l'API Admin:
- Assegna un nome al file
app.json
. - Utilizza le informazioni di configurazione fornite nella raccolta apps.services.versions per definire e configurare la versione di cui vuoi eseguire il deployment.
- Utilizza il modello nella sezione Definizione della
deployment
per specificare tutti i file e le risorse di cui vuoi eseguire il deployment dal bucket Cloud Storage.
Consulta anche la sezione Esempio di seguito per assistenza nella creazione del file di configurazione app.json
.
Conversione di un file app.yaml
nel formato JSON
Puoi utilizzare lo strumento convert_yaml.py
per convertire e generare una versione di app.json
da un file app.yaml
esistente.
Se esiste un file app.yaml
, che normalmente utilizzi per eseguire il deployment manuale delle versioni dell'app, puoi conservare queste informazioni convertendo le impostazioni di configurazione nel formato JSON.
Prerequisito
Scarica e installa lo strumento convert_yaml.py
, inclusi i requisiti specificati.
Conversione dei file YAML con lo strumento convert_yaml.py
Per convertire il file app.yaml
con lo strumento convert_yaml.py
:
Individua e annota il percorso della directory del tuo
app.yaml
.Esempio:
cd root/apps-container/my-application/
Dove potrebbe essere simile il
app.yaml
dell'applicazioneexample-python-app.py
:service: default version: v1 runtime: python27 threadsafe: true handlers: - url: /.* script: example-python-app.py
Vai alla directory locale in cui hai scaricato lo strumento
convert_yaml.py
, ad esempio:cd root/tools/appengine-config-transformer
Crea il file
app.json
dal fileapp.yaml
eseguendo lo strumentoconvert_yaml.py
:python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json
Dove
[DIRECTORY_PATH]
è il percorso della directory del fileapp.yaml
.Nella directory
[DIRECTORY_PATH]
viene creata una versione JSON (app.json
) del fileapp.yaml
.Assicurati che l'ID della tua versione sia definito nel file di configurazione
app.json
.Se il file
app.yaml
esclude l'elementoversion: [VERSION_NAME]
, l'elemento"id": [VERSION_NAME]
non viene incluso nel fileapp.json
dopo la conversione. Ad esempio, se vuoi impostare l'ID versione suv1
, devi aggiungere manualmente la riga seguente al fileapp.json
:"id": "v1",
Utilizza il modello nella sezione Definizione della
deployment
per specificare tutti i file e le risorse della tua app di cui vuoi eseguire il deployment.
Consulta anche la sezione Esempio di seguito per assistenza nella creazione del file di configurazione app.json
.
Definizione della sezione deployment
Per creare una sezione deployment
nel file di configurazione app.json
e definire manualmente tutte le risorse che si trovano nel bucket Cloud Storage, utilizza le informazioni di riferimento nella sezione deployment
della raccolta apps.services.versions
. Se definisci singoli file, puoi utilizzare il seguente modello:
"deployment": {
"files": {
"my-resource-file1": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/my-application/my-resource-file1"
},
}
},
Dove my-resource-file1
definisce il nome del file e il relativo percorso della directory in cui vuoi eseguire il deployment del file in App Engine.
Esempio di file app.json
Usa l'esempio app.json
riportato di seguito per creare il file di configurazione.
Nel seguente esempio di app.json
, l'ID versione v1
è definito insieme a una sezione deployment
che include due file di origine di esempio del bucket Cloud Storage [MY_BUCKET_ID]
.
{
"deployment": {
"files": {
"example-resource-file1": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/example-resource-file1"
},
"images/example-resource-file2": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/images/example-resource-file2"
},
}
},
"id": "v1",
"handlers": [
{
"urlRegex": "/.*",
"script": {
"scriptPath": "example-python-app.py"
}
},
],
"runtime": "python27",
"threadsafe": true,
}