Puoi creare attività HTTP utilizzando il metodo BufferTask
o
Metodo CreateTask
. Questa pagina fornisce indicazioni su come scegliere tra
due metodi per creare attività HTTP.
Il metodo BufferTask
ti consente di creare un'attività inviando una richiesta HTTP al
in coda. Il metodo CreateTask
ti consente di creare un'attività costruendola
. Per la maggior parte dei casi d'uso, la creazione esplicita dell'oggetto attività non è necessaria. Il metodo migliore per creare attività dipende dal fatto che la coda
ha il routing a livello di coda.
Prima di iniziare
Controlla il seguente elenco di casi d'uso per verificare se uno di questi si applica al tuo caso:
- Vuoi creare attività utilizzando l'API RPC o le librerie client (anziché l'API REST)
- Vuoi creare attività come Gli oggetti delle attività di App Engine (anziché più tipici oggetti di attività per destinazioni HTTP generiche che possono o meno essere target App Engine)
Se uno di questi casi si applica al tuo caso, non devi scegliere il metodo di creazione delle attività perché è supportato un solo metodo (il metodo CreateTask
). Vai direttamente alla documentazione CreateTask
per il tipo di attività:
Verificare se la coda ha il routing a livello di coda
Esegui il seguente comando gcloud CLI nel terminale:
gcloud tasks queues describe QUEUE_NAME
Sostituisci
QUEUE_NAME
con il nome della coda.Nell'output, cerca il campo
httpTarget
e controlla se è stato impostatouriOverride
.Se l'output include una riga per
uriOverride
con unhost
specificato, la coda ha il routing a livello di coda. Per scegliere il metodo di creazione delle attività, consulta la sezione Code con routing a livello di coda.Se l'output non include una riga per
uriOverride
o se La descrizione diuriOverride
non mostra un valorehost
specificato, la tua coda sì non hanno il routing a livello di coda. Per scegliere il metodo di creazione delle attività, consulta le sezione Code senza routing a livello di coda (o configurare il routing a livello di coda).
Code con routing a livello di coda
Per le code con routing a livello di coda, il metodo di creazione dell'attività dipende dai requisiti di routing dell'attività:
- La task ha gli stessi requisiti di instradamento specificati a livello di coda:
Utilizza
BufferTask
. Scopri come creare attività con il metodoBufferTask
. - L'attività ha requisiti di routing diversi da quelli specificati a livello di coda:
Imposta il valore
UriOverrideEnforceMode
a
IF_NOT_EXISTS
per garantire che il routing a livello di coda si applichi alle attività per quale instradamento non esiste (ad esempio, attivitàBufferTask
), ma rispetta il routing di attività con specifiche specifiche di routing. Quindi utilizzaCreateTask
. Questo metodo ti consente di specificare il routing individuale per l'attività. Scopri come creare attività con il metodoCreateTask
.
Code senza routing a livello di coda
Per le code senza routing a livello di coda, crea le attività utilizzando il metodo CreateTask
(o
configura
il routing a livello di coda). Il metodo CreateTask
include la specifica del routing per
la task, che è obbligatoria per le code che non dispongono già di informazioni sul routing
a livello di coda. Scopri come creare attività con il
CreateTask
.
Informazioni sul routing a livello di coda
Il routing a livello di coda consente di specificare le informazioni di routing predefinite per le attività nella coda in cui si trova. Puoi specificare se vuoi che il routing predefinito sia applicato solo alle attività che non dispongono di informazioni di routing proprie o a tutte le attività.
Scegli il routing a livello di coda se vuoi:
- Creare attività con richieste HTTP standard (anziché con la costruzione dell'oggetto attività)
- Usa una coda come buffer davanti a un servizio di destinazione
L'approccio per target
Il routing a livello di coda funziona al meglio con architetture che utilizzano una coda per ogni servizio di destinazione. Questo modello ti consente di:
- Gestire le attività in base al target (ad esempio, reindirizzare un gruppo di attività se il servizio di destinazione non è attivo)
- Invia tutte le attività in una coda allo stesso target
- Crea le attività senza creare esplicitamente l'oggetto attività utilizzando il comando
BufferTask
metodo
Attivare e disattivare il comportamento di override a livello di coda
Dopo aver configurato il routing a livello di coda, puoi decidere quando viene applicato impostando UriOverrideEnforceMode della coda.
IF_NOT_EXISTS
: il routing a livello di coda si applica solo quando un'attività non contenere le proprie informazioni di routing. Utilizza questa impostazione se desideri che la coda in grado di inviare attività a obiettivi diversi.ALWAYS
: il routing a livello di coda viene sempre applicato, anche se un'attività contiene le proprie informazioni di routing. Tutte le informazioni di routing impostate a livello di attività sono sovrascritto dal routing a livello di coda. Utilizza questa impostazione se vuoi richiedere alle attività di una determinata coda di utilizzare le stesse informazioni di instradamento.