Questa pagina descrive come eseguire il polling programmatico delle risorse di operazione a lungo termine restituite dai metodi delle API Service Infrastructure che richiedono molto tempo per essere completate, ad esempio service.rollouts.create
.
Al termine di un'operazione, il campo done
viene impostato su true.
Per eseguire il polling di un'operazione, invoca ripetutamente il metodo
operations.get
con un backoff consigliato di 10 secondi fino al completamento dell'operazione:
# This is an example of getting a pending `Operation` resource.
gcurl https://servicemanagement.googleapis.com/v1/operations/rollouts.endpointsapis.appspot.com:2016-07-16r2
{
"name": "operations/rollouts.endpointsapis.appspot.com:2016-07-16r2",
"metadata": {
"@type": "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
"resourceNames": [
"services/endpointsapis.appspot.com/rollouts/2016-07-16r2"
],
"steps": [
{
"description": "update Service Controller",
"status": "In_PROGRESS"
}
],
"progressPercentage": 0,
"startTime": "2016-07-16T00:56:55.737Z",
}
"response": {
"@type": "type.googleapis.com/google.api.servicemanagement.v1.Rollout",
"rolloutId": "2016-07-16r2",
"createTime": "2016-07-16T00:56:55.724Z",
"serviceSelectionStrategy": {
"serviceConfigIds": [
"2016-07-16r1"
]
},
"serviceName": "endpointsapis.appspot.com"
}
# This is an example of getting a done `Operation` resource.
gcurl https://servicemanagement.googleapis.com/v1/operations/rollouts.endpointsapis.appspot.com:2016-07-16r2
{
"name": "operations/rollouts.endpointsapis.appspot.com:2016-07-16r2",
"metadata": {
"@type": "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
"resourceNames": [
"services/endpointsapis.appspot.com/rollouts/2016-07-16r2"
],
"steps": [
{
"description": "update Service Controller",
"status": "Done"
}
],
"progressPercentage": 100,
"startTime": "2016-07-16T00:56:55.737Z",
}
"done": true,
"response": {
"@type": "type.googleapis.com/google.api.servicemanagement.v1.Rollout",
"rolloutId": "2016-07-16r2",
"createTime": "2016-07-16T00:56:55.724Z",
"serviceSelectionStrategy": {
"serviceConfigIds": [
"2016-07-16r1"
]
},
"serviceName": "endpointsapis.appspot.com"
}