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 serviço. 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 do Oracle Cloud Infrastructure, como Compute e Database, são compatíveis com solicitações de serviço usando a API de Solicitações de Serviço, que contém a operação GetWorkRequest.

Alguns serviços oferecem solicitações de serviço compatíveis com a API de 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, você deve receber de um administrador o acesso de segurança em uma política . Esse acesso é necessário, quer você esteja usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Caso receba uma mensagem de que você não tem permissão ou de que não está autorizado, verifique com o administrador o tipo de acesso que você tem e em qual compartimento  deve trabalhar.

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 Referência de Políticas.

Se você não estiver familiarizado com as políticas, consulte Conceitos Básicos de Políticas e Políticas Comuns.

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 LaunchInstance na API do serviço 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 serviço e marca a solicitação de serviço 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 de log, mensagens de erro e recursos associados a uma solicitação de serviço específica. 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 serviço de uma instância de computação: Abra o menu de navegação e clique no serviço Compute. No serviço Compute, clique em 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, clique no menu Ações (Menu Ações) 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 como usar a API e assinar solicitações, consulte a documentação da API REST e Credenciais de 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: