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 febbraio 2020, REGION_ID.r
è incluso negli 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 una messaggistica asincrona many-to-many affidabile tra le applicazioni. Le applicazioni publisher possono inviare messaggi a un argomento e altre applicazioni possono abbonarsi all'argomento per riceverli.
Questo documento descrive come utilizzare Cloud Client Raccolta per inviare e ricevere messaggi Pub/Sub in un'app Java 8.
Prerequisiti
- Segui le istruzioni in "Ciao, mondo!" per Java 8 su App Engine per configurare l'ambiente e il progetto e comprendere Le app Java 8 di App Engine sono strutturate.
- Annota e salva l'ID progetto, perché ti servirà per eseguire dell'applicazione di esempio descritta in questo documento.
Clonazione dell'app di esempio
Copia le app di esempio sulla tua macchina locale e vai alla directory pubsub
:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/appengine-java8/pubsub
Creazione di 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:
bv # 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 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'
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à il tuo ID progetto, non devi includere la proprietà -Dapp.deploy.projectId
nel comando eseguito.
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 aggiornare la pagina per visualizzare il messaggio ricevuto.