ID regione
REGION_ID
è un codice abbreviato assegnato da Google
in base alla regione selezionata al momento della creazione dell'app. Il codice non
corrispondono a un paese o a una provincia, anche se potrebbero essere visualizzati alcuni ID regione
in modo simile ai codici paese e provincia di uso comune. Per le app create dopo il giorno
Febbraio 2020, REGION_ID.r
è incluso in
URL di 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 un servizio di messaggistica asincrona, many-to-many affidabile tra le applicazioni. Editore le applicazioni possono inviare messaggi a un argomento, mentre altre applicazioni possono sottoscrivere quell'argomento per ricevere i messaggi.
Questo documento descrive come utilizzare le librerie client di Cloud per inviare e e ricevere messaggi Pub/Sub in un'app di App Engine. per inviare e ricevere messaggi Pub/Sub in un'app di App Engine.Prerequisiti
- Segui le istruzioni per creare un'app per il runtime selezionato per configurare l'ambiente e il progetto e comprendere le app di App Engine sono strutturate.
- Annota e salva l'ID progetto, perché ti servirà per eseguire dell'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.
-
Attiva l'API Google Cloud Pub/Sub.
Clonazione dell'app di esempio
Copia le app di esempio sulla tua macchina locale e vai al pubsub
directory:
Vai
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
cd golang-samples/appengine_flexible/pubsub
Java
versione 11/17
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/flexible/java-11/pubsub/
versione 8
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/flexible/java-8/pubsub/
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/flexible/pubsub
Ruby
git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples
cd ruby-docs-samples/appengine/flexible/pubsub/
.NET
git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples
cd dotnet-docs-samples/appengine/flexible/Pubsub/Pubsub.Sample
Crea un argomento e una sottoscrizione
Creare un argomento e una sottoscrizione, che includono la specifica dell'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 segreto casuale. L'endpoint push utilizza questo
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un altro abbonamento:
# 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'indirizzo email del tuo account di servizio.
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 segreto casuale. L'endpoint push utilizza questo
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un altro abbonamento:
# 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'indirizzo email del tuo account di servizio.
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 segreto casuale. L'endpoint push utilizza questo
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un altro abbonamento:
# 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'indirizzo email del tuo account di servizio.
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 segreto casuale. L'endpoint push utilizza questo
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un altro abbonamento:
# 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'indirizzo email del tuo account di servizio.
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 segreto casuale. L'endpoint push utilizza questo
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un altro abbonamento:
# 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'indirizzo email del tuo account di servizio.
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 segreto casuale. L'endpoint push utilizza questo
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un altro abbonamento:
# 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'indirizzo email del tuo account di servizio.
.NET
# 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 segreto casuale. L'endpoint push utilizza questo
per verificare le richieste.
Per utilizzare Pub/Sub con l'autenticazione, crea un altro abbonamento:
# 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'indirizzo email del tuo account di servizio.
Imposta le variabili di ambiente
Vai
Modifica il file app.yaml
per impostare le variabili di ambiente per l'argomento e
token di verifica:
Java
Modifica il file app.yaml
per impostare le variabili di ambiente per l'argomento e
token di verifica:
Node.js
Modifica il file app.yaml
per impostare le variabili di ambiente per l'argomento e
token di verifica:
PHP
Modifica il file index.php
per impostare le variabili di ambiente per l'argomento e
abbonamento:
Python
Modifica il file app.yaml
per impostare le variabili di ambiente per il tuo ID progetto.
e il token di verifica:
Ruby
Modifica il file app.yaml
per impostare le variabili di ambiente per il tuo ID progetto.
e il token di verifica:
.NET
Modifica il file app.yaml
per impostare le variabili di ambiente per l'argomento
e il token di verifica:
Revisione del codice
L'app di esempio utilizza Libreria client Pub/Sub.
Vai
L'app di esempio utilizza le variabili di ambiente che hai impostato nel file app.yaml
(PUBSUB_TOPIC
e PUBSUB_VERIFICATION_TOKEN
) per la configurazione.
I messaggi ricevuti da questa istanza sono archiviati in una sezione:
messages []string
La funzione pushHandler
riceve i messaggi inviati tramite push, verifica il token e
aggiunge il messaggio alla sezione messages
:
La funzione publishHandler
pubblica nuovi messaggi nell'argomento.
Java
L'app di esempio utilizza i valori impostati nel file app.yaml
per
e configurare le variabili di ambiente. Il gestore di richieste push utilizza questi valori
per confermare che la richiesta provenga da Pub/Sub e abbia avuto origine da un
fonte:
String pubsubVerificationToken = System.getenv("PUBSUB_VERIFICATION_TOKEN");
L'app di esempio gestisce un'istanza del database Cloud Datastore per archiviare i messaggi.
Il servlet PubSubPush
riceve i messaggi inviati tramite push e li aggiunge al
Istanza di database messageRepository
:
versione 11/17
versione 8
Il servlet PubSubPublish
interagisce con l'app web App Engine per
pubblica nuovi messaggi e visualizza i messaggi ricevuti:
Node.js
L'app di esempio utilizza i valori che hai impostato nel file app.yaml
per
e configurare le variabili di ambiente. Il gestore di richieste push utilizza questi valori
per confermare che la richiesta provenga da Pub/Sub e abbia avuto origine da un
fonte:
// 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 inviati tramite push e li aggiunge a messages
elenco globale:
Questo metodo interagisce con l'app web App Engine per pubblicare nuovi per visualizzare i messaggi ricevuti:
PHP
L'app di esempio utilizza i valori che hai impostato nel file app.yaml
per configurare
variabili di ambiente. Il gestore di richieste push utilizza questi valori per confermare
che la richiesta provenisse da Pub/Sub e abbia avuto origine da un'origine 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 che hai impostato nel file app.yaml
per configurare
variabili di ambiente. Il gestore di richieste push utilizza questi valori per confermare
che la richiesta provenisse da Pub/Sub e abbia avuto origine da un'origine 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 pubsub_push()
riceve i messaggi inviati tramite push e li aggiunge a MESSAGES
elenco globale:
Il metodo index()
interagisce con l'app web App Engine per la pubblicazione
nuovi messaggi e visualizzazione dei messaggi ricevuti:
Ruby
L'app di esempio utilizza i valori che hai impostato nel file app.yaml
per configurare
variabili di ambiente. Il gestore di richieste push utilizza questi valori per confermare
che la richiesta provenisse da Pub/Sub e abbia avuto origine da un'origine attendibile:
L'app di esempio gestisce un elenco globale per archiviare i messaggi ricevuti da questa istanza:
Questo metodo riceve i messaggi inviati tramite push e li aggiunge a messages
elenco globale:
Questo metodo interagisce con l'app web App Engine per pubblicare nuovi messaggi e visualizzare quelli ricevuti:
.NET
Esecuzione dell'esempio in locale
Durante l'esecuzione in locale, puoi utilizzare Google Cloud CLI per fornire l'autenticazione
per utilizzare le API Google Cloud. Supponendo di aver 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
mvn clean package
Imposta le variabili di ambiente prima di avviare l'applicazione:
export PUBSUB_VERIFICATION_TOKEN=[your-verification-token]
export PUBSUB_TOPIC=[your-topic]
mvn jetty:run
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
. Quindi installa delle dipendenze:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Windows
Utilizza le funzionalità di PowerShell per eseguire i pacchetti Python.
- Individua la tua installazione di PowerShell.
- Fai clic con il tasto destro del mouse sulla scorciatoia a PowerShell e avviala 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 sei nella directory
che contiene il codice campione, passa alla directory che contiene
Codice campione
hello_world
. Quindi, 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
.NET
Esegui i comandi seguenti dalla directory radice dell'applicazione:
dotnet restore
dotnet run
Nel browser web, inserisci http://localhost:5000/. Per uscire dal server web, premi Ctrl+C nella finestra del terminale.
Simulazione di notifiche push
L'applicazione può inviare messaggi localmente, ma non è in grado di ricevere messaggi push
in locale. Tuttavia, puoi simulare un messaggio push effettuando una richiesta HTTP
all'endpoint delle notifiche push locali. L'esempio include il file
sample_message.json
.
Vai
Puoi usare curl
o
un cliente httpie
per
invia una richiesta POST
HTTP:
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
Una volta completata la richiesta, puoi aggiornare localhost:8080
e visualizzare
messaggio nell'elenco dei messaggi ricevuti.
Java
Puoi usare curl
o
un cliente httpie
per
invia una richiesta POST
HTTP:
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: Wed, 26 Apr 2017 00:03:28 GMT
Content-Length: 0
Server: Jetty(9.3.8.v20160314)
Una volta completata la richiesta, puoi aggiornare localhost:8080
e visualizzare
messaggio nell'elenco dei messaggi ricevuti.
Node.js
Puoi usare curl
o
un cliente httpie
per
invia una richiesta POST
HTTP:
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
Una volta completata la richiesta, puoi aggiornare localhost:8080
e visualizzare
messaggio nell'elenco dei messaggi ricevuti.
PHP
Puoi usare curl
o
un cliente httpie
per
invia una richiesta POST
HTTP:
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
Una volta completata la richiesta, puoi aggiornare localhost:8080
e visualizzare
messaggio nell'elenco dei messaggi ricevuti.
Python
Puoi usare curl
o
un cliente httpie
per
invia una richiesta POST
HTTP:
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
Una volta completata la richiesta, puoi aggiornare localhost:8080
e visualizzare
messaggio nell'elenco dei messaggi ricevuti.
Ruby
Puoi usare curl
o
un cliente httpie
per
invia una richiesta POST
HTTP:
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!
Una volta completata la richiesta, puoi aggiornare localhost:8080
e visualizzare
messaggio nell'elenco dei messaggi ricevuti.
.NET
Per inviare una richiesta POST
HTTP:
Get-Content -Raw .\sample_message.json | Invoke-WebRequest -Uri
http://localhost:5000/Push?token=your-secret-token -Method POST -ContentType
'text/json' -OutFile out.txt
Una volta completata la richiesta, puoi aggiornare localhost:5000
e visualizzare
messaggio nell'elenco dei messaggi ricevuti.
Esecuzione su App Engine
Per eseguire il deployment dell'app demo in App Engine utilizzando la riga di comando gcloud
questo strumento:
Vai
Esegui questo comando dalla directory in cui si trova il file app.yaml
:
gcloud app deploy
Java
Per eseguire il deployment della tua app utilizzando Maven, esegui questo comando:
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud. Se
il tuo pom.xml
file
specifica
ID progetto, non devi includere la proprietà -Dapp.deploy.projectId
nell'
il comando che esegui.
Node.js
Esegui questo comando dalla directory in cui si trova il file app.yaml
ha sede:
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.yaml
.NET
Esegui questo comando dalla directory in cui si trova il file app.yaml
:
gcloud app deploy
Ora puoi accedere all'applicazione da
https://PROJECT_ID.REGION_ID.r.appspot.com
.
Puoi utilizzare il modulo per inviare messaggi, ma non c'è alcuna garanzia di quale
dell'applicazione riceveranno la notifica. Puoi inviare
più messaggi e aggiorna la pagina per visualizzare il messaggio ricevuto.