ID regione
Il REGION_ID
è un codice abbreviato che Google assegna
in base alla regione selezionata quando crei l'app. Il codice non
corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare
simili ai codici di paesi e province di uso comune. Per le app create dopo
febbraio 2020, REGION_ID.r
è incluso negli
URL App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.
Scopri di più sugli ID regione.
Pub/Sub fornisce una messaggistica asincrona affidabile e many-to-many tra le applicazioni. Le applicazioni publisher possono inviare messaggi a un argomento e altre applicazioni possono iscriversi all'argomento per ricevere i messaggi.
Questo documento descrive come utilizzare le librerie client Cloud per inviare e ricevere messaggi Pub/Sub in un'app App Engine.Prerequisiti
- Segui le istruzioni per creare un'app per il runtime selezionato per configurare l'ambiente e il progetto e per capire come sono strutturate le app App Engine.
- Annota e salva l'ID progetto, perché ti servirà per eseguire l'applicazione di esempio descritta in questo documento.
- Crea un account di servizio e una chiave dell'account di servizio da utilizzare con la tua applicazione.
-
Enable the Google Cloud Pub/Sub API.
Clonazione dell'app di esempio
Copia le app di esempio sulla tua macchina locale e vai alla directory pubsub
:
Vai
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
cd golang-samples/appengine/go11x/pubsub/authenicated_push
Java
Nessun esempio disponibile per questo runtime.
Tieni presente che le app demo Java sono disponibili nell'ambiente flessibile.
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/appengine/pubsub
PHP
git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git
cd php-docs-samples/pubsub
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/appengine/standard_python3/pubsub
Ruby
git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples
cd ruby-docs-samples/appengine/pubsub
Crea un argomento e una sottoscrizione
Crea un argomento e una sottoscrizione, specificando l'endpoint a cui il server Pub/Sub deve inviare le richieste:
Vai
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Sostituisci YOUR_TOKEN
con un token casuale segreto. L'endpoint push lo utilizza
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un'altra sottoscrizione:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your service agent # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Sostituisci YOUR-SERVICE-ACCOUNT-EMAIL
con l'email del tuo service account.
Java
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Sostituisci YOUR_TOKEN
con un token casuale segreto. L'endpoint push lo utilizza
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un'altra sottoscrizione:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your service agent # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Sostituisci YOUR-SERVICE-ACCOUNT-EMAIL
con l'email del tuo service account.
Node.js
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Sostituisci YOUR_TOKEN
con un token casuale segreto. L'endpoint push lo utilizza
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un'altra sottoscrizione:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your service agent # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Sostituisci YOUR-SERVICE-ACCOUNT-EMAIL
con l'email del tuo service account.
PHP
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Sostituisci YOUR_TOKEN
con un token casuale segreto. L'endpoint push lo utilizza
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un'altra sottoscrizione:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your service agent # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Sostituisci YOUR-SERVICE-ACCOUNT-EMAIL
con l'email del tuo service account.
Python
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Sostituisci YOUR_TOKEN
con un token casuale segreto. L'endpoint push lo utilizza
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un'altra sottoscrizione:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your service agent # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Sostituisci YOUR-SERVICE-ACCOUNT-EMAIL
con l'email del tuo service account.
Ruby
# Configure the topic gcloud pubsub topics create YOUR_TOPIC_NAME # Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10
Sostituisci YOUR_TOKEN
con un token casuale segreto. L'endpoint push lo utilizza
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un'altra sottoscrizione:
# Configure the push subscription gcloud pubsub subscriptions create YOUR_SUBSCRIPTION_NAME \ --topic=YOUR_TOPIC_NAME \ --push-auth-service-account=YOUR-SERVICE-ACCOUNT-EMAIL\ --push-auth-token-audience=OPTIONAL_AUDIENCE_OVERRIDE\ --push-endpoint=https://YOUR_PROJECT_ID.REGION_ID.r.appspot.com/push-handlers/receive_messages?token=YOUR_TOKEN \ --ack-deadline=10 # Your service agent # `service-{PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com` needs to have the # `iam.serviceAccountTokenCreator` role. PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Sostituisci YOUR-SERVICE-ACCOUNT-EMAIL
con l'email del tuo service account.
Imposta le variabili di ambiente
Vai
Modifica il file app.yaml
per impostare le variabili di ambiente per l'argomento e
il token di verifica:
Java
Modifica il file app.yaml
per impostare le variabili di ambiente per l'argomento e
il token di verifica:
env_variables:
PUBSUB_TOPIC: <your-topic-name>
PUBSUB_VERIFICATION_TOKEN: <your-verification-token>
Node.js
Modifica il file app.yaml
per impostare le variabili di ambiente per l'argomento e
il token di verifica:
PHP
Modifica il file index.php
per impostare le variabili di ambiente per l'argomento e
l'abbonamento:
Python
Modifica il file app.yaml
per impostare le variabili di ambiente per l'ID progetto, l'argomento e il token di verifica:
Ruby
Modifica il file app.standard.yaml
per impostare le variabili di ambiente per l'ID progetto, l'argomento e il token di verifica:
Revisione del codice
L'app di esempio utilizza la libreria client Pub/Sub.
Vai
L'app di esempio utilizza le variabili di ambiente impostate nel file app.yaml
(PUBSUB_TOPIC
e PUBSUB_VERIFICATION_TOKEN
) per la configurazione.
I messaggi ricevuti da questa istanza vengono archiviati in una sezione:
messages []string
La funzione receiveMessagesHandler
riceve i messaggi push, verifica il token e
aggiunge il messaggio allo slice messages
:
Java
Nessun esempio disponibile per questo runtime.
Tieni presente che nell'ambiente flessibile è disponibile un'app demo Java.
Node.js
L'app di esempio utilizza i valori impostati nel file app.yaml
per
configurare le variabili di ambiente. Il gestore delle richieste push utilizza questi valori per
confermare che la richiesta proviene da Pub/Sub e da una fonte attendibile:
// The following environment variables are set by the `app.yaml` file when
// running on App Engine, but will need to be manually set when running locally.
var PUBSUB_VERIFICATION_TOKEN = process.env.PUBSUB_VERIFICATION_TOKEN;
var pubsub = gcloud.pubsub({
projectId: process.env.GOOGLE_CLOUD_PROJECT
});
var topic = pubsub.topic(process.env.PUBSUB_TOPIC);
L'app di esempio gestisce un elenco globale per archiviare i messaggi ricevuti da questa istanza:
// List of all messages received by this instance
var messages = [];
Questo metodo riceve i messaggi push e li aggiunge all'elenco globale messages
:
Questo metodo interagisce con l'app web App Engine per pubblicare nuovi messaggi e visualizzare quelli ricevuti:
PHP
L'app di esempio utilizza i valori impostati nel file app.yaml
per configurare
le variabili di ambiente. Il gestore delle richieste push utilizza questi valori per confermare
che la richiesta proviene da Pub/Sub e da una fonte attendibile:
L'app di esempio gestisce un elenco globale per archiviare i messaggi ricevuti da questa istanza:
$messages = [];
Il metodo pull
recupera i messaggi dall'argomento che hai creato e li aggiunge
all'elenco dei messaggi:
Il metodo publish
pubblica nuovi messaggi nell'argomento:
Python
L'app di esempio utilizza i valori impostati nel file app.yaml
per configurare
le variabili di ambiente. Il gestore delle richieste push utilizza questi valori per confermare
che la richiesta proviene da Pub/Sub e da una fonte attendibile:
app.config['PUBSUB_VERIFICATION_TOKEN'] = \
os.environ['PUBSUB_VERIFICATION_TOKEN']
app.config['PUBSUB_TOPIC'] = os.environ['PUBSUB_TOPIC']
L'app di esempio gestisce un elenco globale per archiviare i messaggi ricevuti da questa istanza:
MESSAGES = []
Il metodo receive_messages_handler()
riceve i messaggi push e li aggiunge all'elenco globale MESSAGES
:
Il metodo index()
interagisce con l'app web App Engine per pubblicare
nuovi messaggi e visualizzare quelli ricevuti:
Ruby
L'app di esempio utilizza i valori impostati nel file app.standard.yaml
per configurare
le variabili di ambiente. Il gestore delle richieste push utilizza questi valori per confermare
che la richiesta proviene da Pub/Sub e da una fonte attendibile:
L'app di esempio gestisce un elenco globale per archiviare i messaggi ricevuti da questa istanza:
Questo metodo riceve i messaggi push e li aggiunge all'elenco globale messages
:
Questo metodo interagisce con l'app web App Engine per pubblicare nuovi messaggi e visualizzare quelli ricevuti:
Esecuzione del campione in locale
Quando esegui l'applicazione localmente, puoi utilizzare Google Cloud CLI per fornire l'autenticazione
per utilizzare le API Google Cloud. Supponendo che tu abbia configurato l'ambiente come descritto in
Prerequisiti, hai già eseguito il comando gcloud init
,
che fornisce questa autenticazione.
Vai
Imposta le variabili di ambiente prima di avviare l'applicazione:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-token]
export PUBSUB_TOPIC=[your-topic]
go run pubsub.go
Java
Imposta le variabili di ambiente prima di avviare l'applicazione:
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
Per eseguire l'applicazione localmente, utilizza gli strumenti di sviluppo che utilizzi di solito.
Node.js
Imposta le variabili di ambiente prima di avviare l'applicazione:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
npm install
npm start
PHP
Installa le dipendenze utilizzando Composer:
composer install
Quindi imposta le variabili di ambiente prima di avviare l'applicazione:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
php -S localhost:8080
Python
Installa le dipendenze, preferibilmente in un ambiente virtuale.
Mac OS / Linux
- Crea un
ambiente Python isolato:
python3 -m venv env
source env/bin/activate
- Se non ti trovi nella directory che contiene il codice campione, vai
alla directory che contiene il codice campione
hello_world
. Poi installa le dipendenze:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Windows
Utilizza PowerShell per eseguire i pacchetti Python.
- Individua l'installazione di PowerShell.
- Fai clic con il tasto destro del mouse sul collegamento a PowerShell e avvialo come amministratore.
- Crea un
ambiente Python isolato.
python -m venv env
.\env\Scripts\activate
- Naviga alla directory del progetto e installa le dipendenze. Se non ti trovi nella directory
che contiene ilcodice campioneo, vai alla directory che contiene il
codice campioneio
hello_world
. Poi installa le dipendenze:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Quindi imposta le variabili di ambiente prima di avviare l'applicazione:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
python main.py
Ruby
Installa le dipendenze:
bundle install
Quindi imposta le variabili di ambiente prima di avviare l'applicazione:
export GOOGLE_CLOUD_PROJECT=[your-project-id]
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
bundle exec ruby app.rb -p 8080
Simulazione delle notifiche push
L'applicazione può inviare messaggi localmente, ma non è in grado di ricevere notifiche push
localmente. Tuttavia, puoi simulare un messaggio push effettuando una richiesta HTTP
all'endpoint di notifica push locale. Il campione include il file
sample_message.json
.
Vai
Puoi utilizzare curl
o
un client httpie
per
inviare una richiesta HTTP POST
:
curl -H "Content-Type: application/json" -i --data @sample_message.json "localhost:8080/push-handlers/receive_messages?token=[your-token]"
Oppure
http POST ":8080/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Risposta:
HTTP/1.1 200 OK
Date: Tue, 13 Nov 2018 16:04:18 GMT
Content-Length: 0
Al termine della richiesta, puoi aggiornare localhost:8080
e visualizzare il messaggio nell'elenco dei messaggi ricevuti.
Java
Puoi utilizzare curl
o
un client httpie
per
inviare una richiesta HTTP POST
:
curl -H "Content-Type: application/json" -i --data @sample_message.json "localhost:8080/push-handlers/receive_messages?token=[your-token]"
Oppure
http POST ":8080/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Al termine della richiesta, puoi aggiornare localhost:8080
e visualizzare il messaggio nell'elenco dei messaggi ricevuti.
Node.js
Puoi utilizzare curl
o
un client httpie
per
inviare una richiesta HTTP POST
:
curl -H "Content-Type: application/json" -i --data @sample_message.json "localhost:8080/push-handlers/receive_messages?token=[your-token]"
Oppure
http POST ":8080/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Risposta:
HTTP/1.1 200 OK
Connection: keep-alive
Date: Mon, 31 Aug 2015 22:19:50 GMT
Transfer-Encoding: chunked
X-Powered-By: Express
Al termine della richiesta, puoi aggiornare localhost:8080
e visualizzare il messaggio nell'elenco dei messaggi ricevuti.
PHP
Puoi utilizzare curl
o
un client httpie
per
inviare una richiesta HTTP POST
:
curl -i --data @sample_message.json "localhost:4567/push-handlers/receive_messages?token=[your-token]"
Oppure
http POST ":4567/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Al termine della richiesta, puoi aggiornare localhost:8080
e visualizzare il messaggio nell'elenco dei messaggi ricevuti.
Python
Puoi utilizzare curl
o
un client httpie
per
inviare una richiesta HTTP POST
:
curl -H "Content-Type: application/json" -i --data @sample_message.json "localhost:8080/pubsub/push?token=[your-token]"
Oppure
http POST ":8080/pubsub/push?token=[your-token]" < sample_message.json
Risposta:
HTTP/1.0 200 OK
Content-Length: 2
Content-Type: text/html; charset=utf-8
Date: Mon, 10 Aug 2015 17:52:03 GMT
Server: Werkzeug/0.10.4 Python/2.7.10
OK
Al termine della richiesta, puoi aggiornare localhost:8080
e visualizzare il messaggio nell'elenco dei messaggi ricevuti.
Ruby
Puoi utilizzare curl
o
un client httpie
per
inviare una richiesta HTTP POST
:
curl -i --data @sample_message.json "localhost:4567/push-handlers/receive_messages?token=[your-token]"
Oppure
http POST ":4567/push-handlers/receive_messages?token=[your-token]" < sample_message.json
Risposta:
HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Content-Length: 13
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Server: WEBrick/1.3.1 (Ruby/2.3.0/2015-12-25)
Date: Wed, 20 Apr 2016 20:56:23 GMT
Connection: Keep-Alive
Hello, World!
Al termine della richiesta, puoi aggiornare localhost:8080
e visualizzare il messaggio nell'elenco dei messaggi ricevuti.
Esecuzione su App Engine
Per eseguire il deployment dell'app demo in App Engine utilizzando lo strumento a riga di comando gcloud
:
Vai
Esegui questo comando dalla directory in cui si trova il file app.yaml
:
gcloud app deploy
Java
Esegui il comando gcloud
dalla directory in cui si trova il file app.yaml
:
gcloud app deploy
Per eseguire il deployment dell'app utilizzando Maven, esegui il comando seguente:
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud . Se
il tuo file pom.xml
specifica già
l'ID progetto
, non devi includere la proprietà -Dapp.deploy.projectId
nel
comando che esegui.
Node.js
Esegui questo comando dalla directory in cui si trova il file app.yaml
:
gcloud app deploy
PHP
Esegui questo comando dalla directory in cui si trova il file app.yaml
:
gcloud app deploy
Python
Esegui questo comando dalla directory in cui si trova il file app.yaml
:
gcloud app deploy
Ruby
Esegui questo comando dalla directory in cui si trova il file app.yaml
:
gcloud app deploy app.standard.yaml
Ora puoi accedere all'applicazione all'indirizzo
https://PROJECT_ID.REGION_ID.r.appspot.com
.
Puoi utilizzare il modulo per inviare messaggi, ma non è garantito quale
istanza della tua applicazione riceverà la notifica. Puoi inviare
più messaggi e aggiornare la pagina per visualizzare il messaggio ricevuto.