Aggiungi un'attività App Engine a una coda di Cloud Tasks
Questa guida rapida mostra come aggiungere un task App Engine a una coda Cloud Tasks utilizzando l'API Cloud Tasks.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Cloud Tasks API:
gcloud services enable cloudresourcemanager.googleapis.com tasks.googleapis.com
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Resource Manager and Cloud Tasks API:
gcloud services enable cloudresourcemanager.googleapis.com tasks.googleapis.com
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Il
service account predefinito di App Engine
viene creato automaticamente quando utilizzi App Engine. Puoi utilizzare questo account di servizio quando provi questa guida rapida. Tuttavia, a seconda della configurazione dei criteri dell'organizzazione, al service account predefinito potrebbe non essere assegnato automaticamente il ruolo
Editor
nel progetto. In questo caso, devi concedere all'account di servizio i seguenti ruoli:- Amministratore Artifact Registry (
roles/artifactregistry.admin
) - Writer Create-on-push Artifact Registry (
roles/artifactregistry.createOnPushWriter
) - Amministratore Compute (
roles/compute.admin
) - Logs Writer (
roles/logging.logWriter
) - Visualizzatore oggetti Storage (
roles/storage.objectViewer
)
- Amministratore Artifact Registry (
Aggiungere un'applicazione App Engine
Quando scegli come target un'attività App Engine e prima di poter eseguire il deployment di un'app nell'ambiente standard di App Engine, devi aggiungere un'applicazione App Engine al tuo progetto.
Nella console Google Cloud, vai alla pagina App Engine.
Nella finestra di dialogo Ti diamo il benvenuto in App Engine, esegui una delle seguenti operazioni:
Se hai già creato un'applicazione App Engine e viene visualizzato il messaggio La tua applicazione App Engine è stata creata, puoi saltare i passaggi rimanenti di questa sezione e procedere con quelli descritti nella sezione Installare ed eseguire il deployment del sample.
o
Se non hai ancora creato un'applicazione App Engine, fai clic su Crea un'applicazione e continua con i passaggi rimanenti di questa sezione.
Seleziona una regione per la tua applicazione e prendine nota.
Tieni presente che
europe-west
eus-central
si chiamano rispettivamenteeurope-west1
eus-central1
nei comandi Cloud Tasks.Non selezionare un account di servizio. Verrà utilizzato il service account predefinito di App Engine.
Fai clic su Avanti.
L'applicazione è stata configurata e creata. L'operazione potrebbe richiedere alcuni minuti.
Non scaricare Cloud SDK, ma fai clic su Lo farò più tardi.
Dovresti visualizzare il messaggio L'applicazione App Engine è stata creata.
Installa ed esegui il deployment del sample
L'esempio Node.js utilizzato in questa guida rapida è costituito da due file:
createTask.js
viene eseguito localmente come strumento a riga di comando per creare e aggiungere attività alla
coda Tasks; server.js
viene eseguito su App Engine come
servizio di lavoro per elaborare l'attività.
Nel terminale, clona il repository dell'applicazione di esempio sulla tua macchina locale.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Vai alla directory contenente il codice di esempio.
cd nodejs-docs-samples/cloud-tasks/snippets
Installa tutte le dipendenze utilizzando un gestore di pacchetti Node.js.
Puoi utilizzare NPM:
npm install
In alternativa, puoi utilizzare Yarn:
yarn install
Esegui il deployment del servizio di lavoro (
server.js
) nell'ambiente standard di App Engine.gcloud app deploy app.yaml
Assicurati che l'app contenente il servizio sia in esecuzione.
gcloud app browse
Nel browser, vai al link fornito. Ad esempio:
https://PROJECT_ID.uc.r.appspot.com/
Dovresti vedere
Hello, World!
.
Crea una coda di attività Cloud Tasks
Utilizza il comando gcloud tasks queues create
per creare la coda nell'ambiente che hai preparato.
Nel terminale, crea una coda che registri tutte le operazioni.
gcloud tasks queues create QUEUE_NAME \ --log-sampling-ratio=1.0 \ --location=REGION
Sostituisci quanto segue:
QUEUE_NAME
: un nome per le tue attività Cloud codaREGION
: la regione in cui hai disegnato l'app
Attendi l'inizializzazione della coda e verifica che sia stata creata correttamente.
gcloud tasks queues describe QUEUE_NAME \ --location=REGION
L'output dovrebbe essere simile al seguente:
name: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_NAME rateLimits: maxBurstSize: 100 maxConcurrentDispatches: 1000 maxDispatchesPerSecond: 500.0 retryConfig: maxAttempts: 100 maxBackoff: 3600s maxDoublings: 16 minBackoff: 0.100s state: RUNNING
Aggiungere un'attività alla coda Cloud Tasks
Crea un'attività, aggiungila alla coda creata e consegna l'attività al di Google Cloud.
Imposta le seguenti variabili di ambiente. Il client utilizza queste informazioni per creare la richiesta.
export PROJECT_ID=PROJECT_ID export LOCATION_ID=REGION export QUEUE_ID=QUEUE_NAME
Crea un'attività con un payload di
hello
e aggiungila alla coda. Il payload può essere qualsiasi dato della richiesta di cui il servizio di lavoro ha bisogno per elaborare l'attività.node createTask.js $PROJECT_ID $QUEUE_ID $LOCATION_ID hello
Verifica che l'attività sia stata eseguita visualizzando i log del worker completamente gestito di Google Cloud.
gcloud app logs read
I log dovrebbero avere un aspetto simile al seguente:
2024-06-20 15:00:00 default[20240620t143852] "POST /log_payload HTTP/1.1" 200 2024-06-20 15:00:00 default[20240620t143852] App listening on port 8081 2024-06-20 15:00:00 default[20240620t143852] Press Ctrl+C to quit. 2024-06-20 15:00:00 default[20240620t143852] Received task with payload: hello
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi per le risorse utilizzate in questa pagina, elimina il progetto Google Cloud Google Cloud.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
In alternativa, puoi eliminare le risorse che hai creato:
Elimina la coda di Cloud Tasks:
gcloud tasks queues delete QUEUE_NAME \ --location=REGION