Solicitações de Serviço

As solicitações de serviço ajudam você a monitorar operações de longa execução, como backups de bancos de dados ou o provisionamento de instâncias de computação.

Quando você inicia uma operação de longa execução, o serviço cria uma solicitação de trabalho. Uma solicitação de serviço é um log de atividades que permite acompanhar cada etapa do andamento da operação. Cada solicitação de serviço tem um OCID  que permite interagir com ela de forma programática e usá-la para automação.

As solicitações de serviço geralmente fornecem informações sobre o status do workflow associado, erros, arquivos de log e uma lista de recursos afetados pelo workflow.

Observação

Alguns serviços da Oracle Cloud Infrastructure, como o Compute e o Database, suportam solicitações de trabalho usando a API de Solicitações de Trabalho, que contém a operação GetWorkRequest.

Alguns serviços oferecem solicitações de trabalho suportadas pela API do serviço em vez da API de Solicitações de Serviço discutida neste tópico. Essas APIs de serviço incluem operações que funcionam de maneira semelhante à operação GetWorkRequest usada pela API de Solicitações de Serviço.

Para obter detalhes, consulte a documentação de referência da API de solicitação de cada serviço. Os links para cada um são fornecidos na seção Mais Informações e APIs para Serviços Compatíveis.

Conceitos Básicos de Solicitações de Serviço

As solicitações de serviço são úteis nos seguintes cenários:

  • Se uma operação falhar, uma solicitação de serviço poderá ajudá-lo a determinar qual etapa do processo teve um erro. As solicitações de serviço capturam falhas de validação assíncronas.
  • Algumas operações afetam vários recursos. Por exemplo, a criação de um pool de instâncias também afeta instâncias e configurações de instâncias. Uma solicitação de serviço fornece uma lista dos recursos que uma operação afeta.
  • Para workflows que requerem operações sequenciais, você pode monitorar a solicitação de serviço de cada operação e confirmar se a operação foi concluída antes de prosseguir para a próxima operação. Por exemplo, digamos que você deseja criar um pool de instâncias com dimensionamento automático ativado. Para fazer isso, primeiro crie o pool de instâncias e, em seguida, configure o dimensionamento automático. Você pode monitorar a solicitação de serviço para criar o pool de instâncias a fim de determinar quando esse workflow está concluído e, em seguida, configurar o dimensionamento automático após a finalização do workflow do pool de instâncias.

As solicitações de serviço são retidas por 12 horas.

Política do Serviço IAM Obrigatória

Para usar o Oracle Cloud Infrastructure, um administrador deve ser membro de um grupo ao qual foi concedido acesso de segurança em uma política por um administrador da tenancy. Esse acesso será necessário se você estiver usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Se você receber uma mensagem informando que não tem permissão ou está não autorizado, verifique com o administrador da tenancy qual tipo de acesso você tem e qual compartimento seu acesso funciona.

Para administradores: As permissões para que os usuários exibam as solicitações de serviço, os logs e as mensagens de erro de uma operação variam de acordo com o serviço. Para alguns serviços, as solicitações de serviço herdam as permissões da operação que gera a solicitação de serviço. Para outros serviços, as solicitações de serviço exigem permissões separadas. Para obter mais informações, consulte Visão Geral de Políticas do Serviço IAM.

Status da Solicitação de Serviço

As solicitações de serviço fornecem visibilidade sobre o andamento de operações assíncronas de longa execução. O status de uma solicitação de serviço indica o andamento da operação.

Os status geralmente incluem valores como IN_PROGRESS, FAILED ou SUCCEEDED. Como cada serviço ou operação que oferece suporte a solicitações de serviço fornece sua própria API para obter o status, os valores específicos retornados em uma solicitação de serviço podem variar de acordo com o serviço e a operação. Para obter informações sobre os atributos de status compatíveis com as solicitações de serviço para cada serviço, consulte Status da Solicitação de Serviço.

Diagnosticando e Solucionando Problemas de Erros de Validação

As solicitações de serviço capturam falhas de validação assíncronas. Se uma operação assíncrona falhar, uma solicitação de serviço poderá ajudá-lo a determinar onde ocorreu o erro no processo.

Erros síncronos ocorrem durante a chamada inicial à API do serviço e são retornados pela API do serviço. Erros assíncronos ocorrem durante o workflow que ocorre após a chamada de API inicial e são retornados pela solicitação de serviço. Uma chamada bem-sucedida à API de serviço que retorna uma resposta HTTP 200 ("a solicitação foi bem-sucedida") pode ser seguida por um erro assíncrono capturado pela solicitação de serviço.

Por exemplo, quando você cria uma instância de computação, uma chamada de API é feita para a operação LaunchInstance. Nesse ponto, ocorre uma validação síncrona. Se ocorrer uma falha, uma resposta HTTP 4xx será retornada. Se a chamada for bem-sucedida, uma resposta HTTP 200 será retornada e o workflow de criação da instância será iniciado.

Enquanto o workflow de criação da instância continua, ocorrem verificações adicionais de validação e erro, e uma solicitação de serviço assíncrona é criada para acompanhar o andamento do workflow. A resposta à operação LaunchInstance contém o OCID da solicitação de serviço no cabeçalho opc-work-request-id. Você pode monitorar o status da solicitação de serviço a qualquer momento chamando a operação GetWorkRequest e informando o ID da solicitação de serviço. Se ocorrer um erro durante o workflow, você poderá recuperar uma lista de erros chamando ListWorkRequestErrors e informando o ID da solicitação de serviço.

A própria solicitação de serviço permanece em uma fila até que a operação seja concluída.

Para obter informações detalhadas sobre solicitações de serviço, incluindo como filtrar a resposta da solicitação e uma solicitação e resposta de amostra, consulte Solicitações de Serviço Assíncronas.

Exemplo de Workflow de Validação da Solicitação de Serviço

O diagrama a seguir mostra um exemplo de workflow de criação de instância no qual a validação síncrona é bem-sucedida e a validação assíncrona falha.

  1. Você chama o ponto final da LaunchInstance na API do Compute.
  2. A validação síncrona ocorre e você recebe uma resposta HTTP 2xx da API do serviço Compute. A resposta inclui o OCID da solicitação de serviço no cabeçalho opc-work-request-id.
  3. O workflow de criação da instância é iniciado e a validação assíncrona ocorre em todo o workflow. Ocorre um erro e a validação falha.
  4. A API do serviço Compute preenche os erros da solicitação de trabalho e marca a solicitação de trabalho como com falha.
  5. Para monitorar a solicitação de serviço, chame GetWorkRequest na API de Solicitações de Serviço e informe o ID da solicitação de serviço encontrado no cabeçalho opc-work-request-id.
  6. Vendo que a solicitação de serviço falhou, você chama ListWorkRequestErrors na API de Solicitações de Serviço e especifica o ID da solicitação de serviço para recuperar uma lista de erros.
  7. A API de Solicitações de Serviço retorna uma lista de erros que você pode usar para determinar a causa da falha.
Diagrama de alto nível do workflow de criação de instância mostrando validação síncrona e assíncrona.

Usando a Console para Exibir Solicitações de Serviço

Você pode usar a Console para ver as mensagens do log, as mensagens do erro e os recursos associados a uma solicitação específica de serviço. As etapas para exibir uma solicitação de serviço podem variar de acordo com o serviço e o recurso cujas solicitações de serviço você deseja ver.

  1. Navegue até o recurso cujas solicitações de serviço você deseja ver.

    Por exemplo, para ver as solicitações de trabalho de uma instância de computação: Abra o menu de navegação e selecione Compute. Em Compute, selecione Instâncias.

  2. Se o recurso for exibido em uma view de lista, clique no nome do recurso para exibir os detalhes do recurso.
  3. Em Recursos, clique em Solicitações de Serviço. O status de todas as solicitações de serviço aparece na página.
  4. Para ver as mensagens de log, mensagens de erro e recursos associados a uma solicitação de serviço específica, clique no nome da operação. Em seguida, selecione uma opção na seção Mais informações.

    Para recursos associados, você pode clicar no menu Ações (três pontos) ao lado de um recurso para copiar o OCID do recurso.

Mais informações e APIs para Serviços Compatíveis

Para obter informações sobre o uso da API e as solicitações de assinatura, consulte Documentação da API REST e Credenciais da Segurança. Para obter informações sobre SDKs, consulte SDKs e a CLI.

Use as seguintes operações de API para monitorar o estado das solicitações de serviço: