Richieste di lavoro
Le richieste di lavoro consentono di monitorare le operazioni con tempi di esecuzione lunghi, ad esempio i backup del database o il provisioning delle istanze di computazione.
Quando si avvia un'operazione con tempi di esecuzione lunghi, il servizio crea una richiesta di lavoro. Una richiesta di lavoro è un log attività che consente di tenere traccia di ogni passo dello stato di avanzamento dell'operazione. Ogni richiesta di lavoro dispone di un OCID che consente di interagire con esso a livello di programmazione e di utilizzarlo per l'automazione.
Le richieste di lavoro in genere forniscono informazioni sullo stato del flusso di lavoro associato, errori, file di log e un elenco di risorse interessate dal flusso di lavoro.
Alcuni servizi Oracle Cloud Infrastructure, come Compute e Database, supportano le richieste di lavoro utilizzando l'API delle richieste di lavoro, che contiene l'operazione GetWorkRequest
.
Alcuni servizi offrono richieste di lavoro supportate dall'API del servizio anziché dall'API Richieste di lavoro descritta in questo argomento. Ciascuna di queste API di servizio include operazioni che funzionano in modo simile all'operazione GetWorkRequest
utilizzata dall'API delle richieste di lavoro.
Per i dettagli, consultare la documentazione di riferimento per l'API delle richieste di lavoro di ciascun servizio. I collegamenti a ciascun collegamento vengono forniti nella sezione Ulteriori informazioni e API per i servizi supportati.
Introduzione alle richieste di lavoro
Le richieste di lavoro sono utili nei seguenti scenari:
- Se un'operazione non riesce, una richiesta di lavoro può aiutare a determinare quale fase del processo ha avuto un errore. Le richieste di lavoro acquisiscono errori di convalida asincrona.
- Alcune operazioni interessano più risorse. Ad esempio, la creazione di un pool di istanze influisce anche sulle configurazioni delle istanze e delle istanze. Una richiesta di lavoro fornisce un elenco delle risorse interessate da un'operazione.
- Per i flussi di lavoro che richiedono operazioni sequenziali, è possibile monitorare la richiesta di lavoro di ciascuna operazione e confermare che l'operazione è stata completata prima di procedere all'operazione successiva. Ad esempio, si supponga di voler creare un pool di istanze con il ridimensionamento automatico abilitato. A tale scopo, devi prima creare il pool di istanze e quindi configurare il ridimensionamento automatico. È possibile monitorare la richiesta di lavoro per la creazione del pool di istanze per determinare quando il workflow è completo, quindi configurare il ridimensionamento automatico al termine del workflow del pool di istanze.
Le richieste di lavoro vengono conservate per 12 ore.
Criterio IAM necessario
Per utilizzare Oracle Cloud Infrastructure, un amministratore deve essere membro di un gruppo a cui è stato concesso l'accesso di sicurezza in un criterio da un amministratore della tenancy. Questo accesso è necessario, indipendentemente dal fatto che si stia utilizzando la console o l'API REST con un SDK, un'interfaccia CLI o unaltro strumento. Se viene visualizzato un messaggio che informa che non si dispone dell'autorizzazione o che non si è autorizzati, verificare con l'amministratore della tenancy il tipo di accesso di cui si dispone e il compartimento in cui funziona l'accesso.
Per gli amministratori: le autorizzazioni che consentono agli utenti di visualizzare le richieste di lavoro, i log e i messaggi di errore per un'operazione variano a seconda del servizio. Per alcuni servizi, le richieste di lavoro ereditano le autorizzazioni dell'operazione che genera dinamicamente la richiesta di lavoro. Per altri servizi, le richieste di lavoro richiedono autorizzazioni separate. Per ulteriori informazioni, vedere Panoramica dei criteri IAM.
Stato della richiesta di lavoro
Le richieste di lavoro offrono visibilità sullo stato di avanzamento delle operazioni asincrone con tempi di esecuzione lunghi. Lo stato di una richiesta di lavoro indica lo stato di avanzamento dell'operazione.
Gli stati in genere includono valori quali IN_PROGRESS
, FAILED
o SUCCEEDED
. Poiché ogni servizio o operazione che supporta le richieste di lavoro fornisce la propria API per ottenere lo stato, i valori specifici restituiti in una richiesta di lavoro possono variare a seconda del servizio e dell'operazione. Per informazioni sugli attributi di stato supportati dalle richieste di lavoro per ciascun servizio, vedere Stato richiesta di lavoro.
Risoluzione dei problemi errori di convalida
Le richieste di lavoro acquisiscono errori di convalida asincrona. Se un'operazione asincrona non riesce, una richiesta di lavoro può aiutare a determinare dove si è verificato l'errore nel processo.
Si verificano errori sincroni durante la chiamata iniziale all'API del servizio e vengono restituiti dall'API del servizio. Si verificano errori asincroni durante il flusso di lavoro che si verificano dopo la chiamata API iniziale e vengono restituiti dalla richiesta di lavoro. Una chiamata all'API del servizio che restituisce una risposta HTTP 200 ("richiesta riuscita") potrebbe essere seguita da un errore asincrono acquisito dalla richiesta di lavoro.
Ad esempio, quando si crea un'istanza di computazione, viene effettuata una chiamata API all'operazione LaunchInstance
. A questo punto si verifica la convalida sincrona. Se si verifica un errore, viene restituita una risposta HTTP 4xx. Se la chiamata riesce, viene restituita una risposta HTTP 200 e viene avviato il workflow di creazione dell'istanza.
Mentre il workflow di creazione istanza continua, si verificano ulteriori controlli di convalida ed errore e viene creata una richiesta di lavoro asincrona per tenere traccia dello stato di avanzamento del workflow. La risposta all'operazione LaunchInstance
contiene l'OCID della richiesta di lavoro nell'intestazione opc-work-request-id
. È possibile monitorare lo stato della richiesta di lavoro in qualsiasi momento chiamando l'operazione GetWorkRequest
e passando l'ID della richiesta di lavoro. Se si verifica un errore durante il workflow, è possibile recuperare un elenco di errori richiamando ListWorkRequestErrors
e passando l'ID della richiesta di lavoro.
La richiesta di lavoro rimane in coda fino al completamento dell'operazione.
Per informazioni dettagliate sulle richieste di lavoro, incluse le modalità di filtro della risposta alla richiesta e di una richiesta e risposta campione, vedere Richieste di lavoro asincrone.
Esempio di workflow di convalida delle richieste di lavoro
Il diagramma seguente mostra un esempio di workflow di creazione istanza in cui la convalida sincrona riesce e la convalida asincrona non riesce.
- Chiamare l'endpoint
LaunchInstance
nell'API di computazione. - Si verifica la convalida sincrona e si riceve una risposta HTTP 2xx dall'API di computazione. La risposta include l'OCID della richiesta di lavoro nell'intestazione
opc-work-request-id
. - Il workflow di creazione istanza viene avviato e la convalida asincrona viene eseguita in tutto il workflow. Si è verificato un errore e la convalida non riesce.
- L'API di computazione popola gli errori delle richieste di lavoro e contrassegna la richiesta di lavoro come non riuscita.
- Per monitorare la richiesta di lavoro, chiamare
GetWorkRequest
nell'API Richieste di lavoro e passare l'ID della richiesta di lavoro trovato nell'intestazioneopc-work-request-id
. - Se la richiesta di lavoro non è riuscita, chiamare
ListWorkRequestErrors
nell'API Richieste di lavoro e passare l'ID richiesta di lavoro per recuperare un elenco di errori. - L'API Richieste di lavoro restituisce un elenco di errori che è possibile utilizzare per determinare la causa dell'errore.
Utilizzo della console per visualizzare le richieste di lavoro
È possibile utilizzare la console per visualizzare i messaggi di log, i messaggi di errore e le risorse associate a una richiesta di lavoro specifica. I passi per visualizzare una richiesta di lavoro possono variare a seconda del servizio e della risorsa di cui si desidera visualizzare le richieste di lavoro.
-
Passare alla risorsa di cui si desidera visualizzare le richieste di lavoro.
Ad esempio, per visualizzare le richieste di lavoro per un'istanza di computazione, aprire il menu di navigazione e selezionare Computazione. In Computazione, selezionare Istanze.
- Se la risorsa viene visualizzata in una vista elenco, fare clic sul nome della risorsa per visualizzare i dettagli della risorsa.
- In Risorse, fare clic su Richieste di lavoro. Lo stato di tutte le richieste di lavoro viene visualizzato nella pagina.
-
Per visualizzare i messaggi di log, i messaggi di errore e le risorse associate a una richiesta di lavoro specifica, fare clic sul nome dell'operazione. Selezionare quindi un'opzione nella sezione Ulteriori informazioni.
Per le risorse associate, è possibile fare clic sul menu
accanto a una risorsa per copiare l'OCID della risorsa.
Ulteriori informazioni e API per i servizi supportati
Per informazioni sull'uso dell'API e sulle richieste di firma, consultare la documentazione relativa all'API REST e le credenziali di sicurezza. Per informazioni sugli SDK, vedere SDK e CLI.
Utilizzare le operazioni API riportate di seguito per monitorare lo stato delle richieste di lavoro.
- API della richiesta di lavoro di Application Performance Monitoring
- API della richiesta di lavoro di Autonomous Recovery Service
- API richiesta di lavoro Bastion
- Richieste di lavoro della piattaforma Blockchain
- API richiesta di lavoro di Cloud Advisor
- API richiesta di lavoro gruppi di posizionamento cluster
- API richiesta di lavoro di computazione
-
Hub connettore:
- API richiesta di lavoro istanze contenitore
- API richiesta di lavoro Content Management
-
Catalogo dati:
- API richiesta di lavoro integrazione dati
-
Etichettatura dati:
-
Data Science:
- API richiesta di lavoro database
- API richiesta di lavoro Gestione database
- API richiesta di lavoro migrazione del database
- API richiesta di lavoro Strumenti di database
- Database OCI con API richiesta di lavoro PostgreSQL
- API della richiesta di lavoro DevOps
- API richiesta di lavoro storage di file
- Storage di file con API richiesta di lavoro Lustre
- API richiesta di lavoro gestione applicazione flotta
- API richiesta di lavoro Full Stack Disaster Recovery
- API delle richieste di lavoro di Globally Distributed Autonomous Database
- Globally Distributed Exadata Database on Exascale Infrastructure Work Request API
- API della richiesta di lavoro GoldenGate
-
IAM:
- API richiesta di lavoro integrazione
- API richiesta di lavoro Java Management
- API richiesta di lavoro del motore Kubernetes
-
Load balancer:
- API richiesta di lavoro Log Analytics
- API richiesta di lavoro Management Agent
- API della richiesta di lavoro MySQL HeatWave
- API richiesta di lavoro firewall di rete
-
Storage degli oggetti:
- API della richiesta di lavoro del bridge Oracle Cloud
- API richiesta di lavoro Oracle Cloud Migrations
- API richiesta di lavoro hub di gestione del sistema operativo
- API richiesta di lavoro automazione processo
- API richiesta di lavoro coda
- API richiesta di lavoro Resource Manager
- API richiesta di lavoro Secure Desktops
- API richiesta di lavoro mesh servizio
- API richiesta di lavoro di monitoraggio dello stack
- API richiesta di lavoro Vision
- Visual Builder Studio: API WorkRequest
- API delle richieste di lavoro di analisi delle vulnerabilità
- WebLogic API della richiesta di lavoro di gestione