Solucionar problemas do pipeline de ingestão do ServiceNow
Visualização
O conector ServiceNow está em versão prévia pública.
Este artigo descreve problemas comuns ao usar o conector de ingestão Gerenciar ServiceNow em Databricks LakeFlow Connect e como resolvê-los.
Erro de autenticação
Erro:
com.databricks.pipelines.execution.conduit.common.DataConnectorException: [SERVICENOW_CONNECTION_ERROR.OAUTH_TOKEN_EXCHANGE] Failed to authenticate to ServiceNow. This can be caused by issues with your UC credentials, ServiceNow OAuth setup, and more...
Etapa 1
Confirme se o senhor forneceu o nome de usuário, a senha, o ID do cliente e o segredo do cliente corretos ao criar a conexão do Unity Catalog.
O nome de usuário e a senha para autenticação no ServiceNow não são necessariamente seu nome de usuário e senha pessoais para SSO. Esses são os valores de nome de usuário e senha associados a um usuário que se destina à autenticação e ingestão com o serviço externo.
- Catalog Explorer
- curl
-
Na barra lateral do site Databricks workspace, clique em
Catalog .
-
Na parte superior do painel Catálogo , clique no ícone de
engrenagem e selecione Conexões no menu.
Como alternativa, na página de acesso rápido , clique no botão External data (Dados externos ) > e vá para Connections (Conexões ) tab.
-
Clique no nome da conexão.
Os detalhes da conexão estão listados na Visão geral tab.
executar a seguinte solicitação curl. Substitua os itens entre colchetes pelas suas propriedades de conexão.
curl -X POST "https://<instance-id>.service-now.com/oauth_token.do" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=password" \
--data-urlencode "client_id=<client-id>" \
--data-urlencode "client_secret=<client-secret>" \
--data-urlencode "username=<username>" \
--data-urlencode "password=<password>"
Se a solicitação for bem-sucedida, as credenciais estarão corretas.
Etapa 2
Confirme se o usuário autenticador tem a função admin
. A Databricks também recomenda que o usuário autenticador tenha a função snc_read_only
para restringir ainda mais as permissões.
Etapa 3
Confirme se o usuário autenticador está marcado como Ativo :
-
No ServiceNow, clique em Organization > Users.
-
Selecione o usuário que você planeja usar para autenticação.
-
Confirme se a caixa de seleção Ativo está marcada.
Etapa 4
Confirme se o plug-in OAuth 2.0 no ServiceNow está ativo:
-
No ServiceNow, clique em System Definition > Plugins.
-
execute o seguinte script na seção Scripts - Background :
var oauthActive = gs.getProperty('com.snc.platform.security.oauth.is.active');
gs.info('OAuth Active: ' + oauthActive);Se o script retornar
true
, a instalação do plug-in foi bem-sucedida. Se esse script retornarfalse
, desinstale-o e reinstale-o.
Etapa 5
Confirme se o site OAuth endpoint está configurado corretamente:
-
No ServiceNow, visite System OAuth > Application Registry .
-
No canto superior direito, clique em NOVO.
-
Nas opções do aplicativo OAuth, clique em Create an OAuth API endpoint for external clients (Criar um ponto de extremidade da API OAuth para clientes externos ).
-
Confirme se a caixa de seleção Ativo está marcada.
Depois de criar o aplicativo OAuth com êxito, ele aparecerá na lista em System OAuth > Application Registry com o tipo OAuth Client .
Etapa 6
Se o problema persistir após seguir essas etapas de solução de problemas, envie um ticket de suporte.