REST Resource: projects.configs.waiters

Risorsa: Waiter

Una risorsa Waiter attende che venga soddisfatta una condizione di fine all'interno di una risorsa RuntimeConfig prima di restituire un valore. Ad esempio, supponiamo di avere un sistema distribuito in cui ogni nodo scrive in una risorsa variabile che indica la sua disponibilità nell'ambito del processo di avvio.

Poi configuri una risorsa Waiter con la condizione di successo impostata per attendere che un determinato numero di nodi abbia eseguito il check-in. Successivamente, l'applicazione esegue del codice arbitrario dopo che la condizione è stata soddisfatta e il gestore viene restituito correttamente.

Una volta creata, una risorsa Waiter è immutabile.

Per saperne di più sull'utilizzo dei Waiter, consulta la documentazione sulla creazione di un Waiter.

Rappresentazione JSON
{
  "name": string,
  "timeout": string,
  "failure": {
    object(EndCondition)
  },
  "success": {
    object(EndCondition)
  },
  "createTime": string,
  "done": boolean,
  "error": {
    object(Status)
  }
}
Campi
name

string

Il nome della risorsa Waiter, nel formato:

projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]

[PROJECT_ID] deve essere un ID progetto Google Cloud valido, [CONFIG_NAME] deve essere una risorsa RuntimeConfig valida, [WAITER_NAME] deve corrispondere alla specifica del segmento RFC 1035 e la lunghezza di [WAITER_NAME] deve essere inferiore a 64 byte.

Una volta creata una risorsa Waiter, non puoi modificarne il nome.

timeout

string (Duration format)

[Obbligatorio] Specifica il timeout del gestore in secondi, a partire dall'istante in cui viene chiamato il metodo waiters().create. Se questo tempo trascorre prima che vengano soddisfatte le condizioni di successo o fallimento, il gestore non riesce e imposta il codice error su DEADLINE_EXCEEDED.

Una durata in secondi con un massimo di nove cifre frazionarie, terminata da "s". Esempio: "3.5s".

failure

object(EndCondition)

[Facoltativo] La condizione di errore di questo gestore. Se questa condizione è soddisfatta, done verrà impostato su true e il codice error su ABORTED. La condizione di errore ha la precedenza sulla condizione di successo. Se entrambe le condizioni sono soddisfatte, verrà indicato un errore. Questo valore è facoltativo. Se non è impostata alcuna condizione di errore, l'unico scenario di errore sarà un timeout.

success

object(EndCondition)

[Obbligatorio] La condizione di successo. Se questa condizione è soddisfatta, done verrà impostato su true e il valore error rimarrà non impostato. La condizione di errore ha la precedenza sulla condizione di successo. Se entrambe le condizioni sono soddisfatte, verrà indicato un errore.

createTime

string (Timestamp format)

Solo output. L'istante in cui è stata creata questa risorsa Waiter. L'aggiunta del valore timeout a questo istante genera la scadenza del timeout per l'attesa.

Un timestamp in formato "Zulu" UTC RFC3339, preciso al nanosecondo. Esempio: "2014-10-02T15:01:23.045123456Z".

done

boolean

Solo output. Se il valore è false, significa che l'operatore è ancora in attesa del verificarsi di una delle sue condizioni.

Se è true, il cameriere ha finito. Se l'awaiter è terminato a causa di un timeout o di un errore, verrà impostato error.

error

object(Status)

Solo output. Se l'attività del gestore è terminata a causa di un errore o di un timeout, verrà impostato questo valore.

EndCondition

La condizione che una risorsa Waiter è in attesa.

Rappresentazione JSON
{
  "cardinality": {
    object(Cardinality)
  }
}
Campi
cardinality

object(Cardinality)

La cardinalità del EndCondition.

Cardinality

Una condizione di cardinalità per la risorsa Waiter. Una condizione di cardinalità viene soddisfatta quando il numero di variabili in un prefisso del percorso specificato raggiunge un numero predefinito. Ad esempio, se imposti una condizione di cardinalità in cui path è impostato su /foo e il numero di percorsi è impostato su 2, le seguenti variabili soddisfano la condizione in una risorsa RuntimeConfig:

  • /foo/variable1 = "value1"
  • /foo/variable2 = "value2"
  • /bar/variable3 = "value3"

Tuttavia, non soddisferebbe la stessa condizione con number impostato su 3, perché esistono solo due percorsi che iniziano con /foo. Le condizioni di cardinalità sono ricorsive; vengono conteggiati tutti i sottoalberi sotto il prefisso del percorso specifico.

Rappresentazione JSON
{
  "path": string,
  "number": number
}
Campi
path

string

La radice del sottoalbero di variabili da monitorare. Ad esempio, /foo.

number

number

Le variabili numeriche sotto path che devono esistere per soddisfare questa condizione. Se non specificato, il valore predefinito è 1.

Metodi

create

Crea una risorsa Waiter.

delete

Elimina l'attesa con il nome specificato.

get

Recupera le informazioni su un singolo gestore.

list

Elenca gli elementi in attesa nella configurazione specificata.

testIamPermissions

Restituisce le autorizzazioni di cui dispone un chiamante sulla risorsa specificata.