Agendar uma transferência do ServiceNow

Com o serviço de transferência de dados do BigQuery para ServiceNow, é possível programar e gerenciar automaticamente jobs de carregamento recorrentes do ServiceNow para o BigQuery.

Limitações

As transferências do ServiceNow estão sujeitas às seguintes limitações:

  • A execução de transferências simultâneas na mesma instância do ServiceNow não é recomendada.
  • O intervalo mínimo entre as transferências recorrentes é de 15 minutos. O intervalo padrão para uma transferência recorrente é 24 horas.
  • O ServiceNow transfere tabelas relacionadas a negócios de três aplicativos: Compras, Catálogo de produtos e Gerenciamento de contratos. É possível transferir as tabelas a seguir:

    • ast_contract
    • clm_condition_check
    • clm_condition_checker
    • clm_contract_history
    • clm_m2m_contract_and_terms
    • clm_m2m_contract_asset
    • clm_m2m_contract_user
    • clm_m2m_rate_card_asset
    • clm_terms_and_conditions
    • pc_hardware_cat_item
    • pc_product_cat_item
    • pc_software_cat_item
    • pc_vendor_cat_item
    • proc_po
    • proc_po_item
    • proc_rec_slip
    • proc_rec_slip_item

Antes de começar

Antes de criar uma transferência do ServiceNow, faça as configurações a seguir para o ServiceNow e o BigQuery.

Pré-requisitos do ServiceNow

Pré-requisitos do BigQuery

Papéis obrigatórios do BigQuery

Para receber as permissões necessárias para criar um conjunto de dados federado, peça ao administrador para conceder a você o papel do IAM Administrador do BigQuery (roles/bigquery.admin). Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para criar uma transferência. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar uma transferência:

  • bigquery.transfers.update do usuário
  • bigquery.datasets.get no conjunto de dados de destino
  • bigquery.datasets.update no conjunto de dados de destino

Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.

Configurar uma transferência de dados do ServiceNow

As transferências de dados do ServiceNow podem ser criadas no console do Google Cloud ou na ferramenta de linha de comando bq.

Console

  1. No Console do Google Cloud, acesse a página BigQuery.

    Ir para o BigQuery

  2. Clique em Transferências de dados > Criar uma transferência.

  3. Na seção Tipo de origem, em Origem, selecione ServiceNow.

  4. No campo Nome de exibição, na seção Nome de configuração da transferência, insira um nome para a transferência.

  5. Na seção Opções de programação, realize estas ações:

    • Na lista Frequência de repetição, selecione uma opção para especificar com que frequência essa transferência é executada. Para especificar uma frequência de repetição personalizada, selecione Personalizada. Se você selecionar Sob demanda, essa transferência vai ser executada quando você acionar manualmente a transferência.

    • Se aplicável, selecione Começar agora ou Começar no horário definido e forneça uma data de início e um horário de execução.

  6. Na seção Configurações de destino, em Conjunto de dados, escolha o conjunto criado para armazenar seus dados.

  7. Na seção Detalhes da fonte de dados, faça o seguinte:

    • Em ID da instância, digite o ID da instância do ServiceNow. É possível conseguir isso no URL do ServiceNow, por exemplo, https://INSTANCE_ID.service-now.com.
    • Em Nome de usuário, digite o nome de usuário do ServiceNow que será usado na conexão.
    • Em Senha, digite a senha do ServiceNow.
    • Em ID do cliente, digite o ID que aparece nas suas credenciais do OAuth. Para gerar credenciais, consulte Criar credenciais do OAuth.
    • Em Chave secreta do cliente, insira a chave das suas credenciais do OAuth.
    • Em Tipo de valor, escolha uma das seguintes opções:
      • Para transferir os valores armazenados no banco de dados, escolha Real.
      • Para transferir os valores de exibição das colunas, selecione Exibição.
  8. No menu Conta de serviço, selecione uma conta de serviço nas contas de serviço associadas ao seu projeto do Google Cloud. A conta de serviço selecionada precisa ter os papéis necessários para executar a transferência.

    Se você fez login com uma identidade federada, é necessário uma conta de serviço para criar uma transferência. Se você fez login com uma Conta do Google, uma conta de serviço para a transferência é opcional.

    Para mais informações sobre o uso de contas de serviço com transferências de dados, consulte Usar contas de serviço.

  9. Opcional: na seção Opções de notificação, faça o seguinte:

    • Para ativar as notificações por e-mail, clique no botão de alternância Notificação por e-mail. Quando essa opção está ativada, o administrador de transferência recebe uma notificação por e-mail quando uma execução de transferência falha.
    • Para ativar as notificações de execução de transferência do Pub/Sub para essa transferência, clique no botão de alternância Notificações do Pub/Sub. Selecione o nome do tópico ou clique em Criar um tópico.
  10. Clique em Salvar.

bq

Insira o comando bq mk e forneça a sinalização de execução da transferência --transfer_config: .

bq mk \
    --transfer_config \
    --project_id=PROJECT_ID \
    --data_source=DATA_SOURCE \
    --display_name=DISPLAY_NAME \
    --target_dataset=DATASET \
    --params='PARAMETERS'

Substitua:

  • PROJECT_ID (opcional): o ID do projeto do Google Cloud. Se um ID de projeto não for especificado, o projeto padrão será usado.
  • DATA_SOURCE: a fonte de dados (por exemplo, servicenow).
  • DISPLAY_NAME: o nome de exibição da configuração da transferência. O nome da transferência pode ser qualquer valor que permita identificá-la facilmente, caso precise modificá-la mais tarde.
  • DATASET: o conjunto de dados de destino na configuração da transferência.
  • PARAMETERS é o parâmetro da configuração de transferência criada no formato JSON. Por exemplo, --params='{"param":"param_value"}'. Veja a seguir os parâmetros de uma transferência do ServiceNow:

    Parâmetro ServiceNow Obrigatório ou opcional Descrição
    connector.instanceId Obrigatório ID da instância do ServiceNow
    connector.authentication.username Obrigatório Nome de usuário das credenciais
    connector.authentication.password Obrigatório Senha das credenciais
    connector.authentication.oauth.clientId Obrigatório ID do cliente do OAuth gerado
    connector.authentication.oauth.clientSecret Obrigatório Chave secreta do cliente do OAuth gerado
    connector.valueType Opcional Actual ou Display (padrão: Actual)

    Por exemplo, o comando a seguir cria uma transferência do ServiceNow no projeto padrão com todos os parâmetros necessários:

      bq mk \
        --transfer_config \
        --target_dataset=mydataset \
        --data_source=servicenow \
        --display_name='My Transfer' \
        --params='{"connector.authentication.oauth.clientId": "1234567890",
            "connector.authentication.oauth.clientSecret":"ABC12345",
            "connector.authentication.username":"user1",
            "Connector.authentication.password":"abcdef1234",
            "connector.instanceId":"https://dev-instance.service-now.com"}'
    

API

Use o método projects.locations.transferConfigs.create e forneça uma instância do recurso TransferConfig.

Resolver problemas com a transferência

Para mais informações, consulte Resolver problemas nas configurações de transferência.

A transferência falha devido à ativação do ServiceNow

Um problema ocorre e causa falha nas transferências quando os aplicativos de aquisição, catálogo de produtos ou gerenciamento de contratos não estão ativados no ServiceNow. Para corrigi-lo, ative os três aplicativos. Por exemplo, ative Compras.

O problema ocorre durante a execução da transferência

Ocorre um problema fazendo com que a execução da transferência não seja criada conforme o esperado. Para resolver o problema, faça o seguinte:

  • Verifique se as credenciais da conta do ServiceNow, como Nome de usuário, Senha, ID do cliente e Chave secreta do cliente , são válidos.
  • Verifique se o ID da instância é válido para sua instância do ServiceNow.

Preços

Não há custo para transferir dados do ServiceNow para o BigQuery enquanto esse recurso está em Pré-lançamento.

A seguir