Solucionar problemas do pipeline de ingestão do ServiceNow
Visualização
O conector ServiceNow está em versão prévia pública fechada. Para participar da pré-visualização, entre em contato com a equipe do Databricks account .
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
-
In the sidebar of the Databricks workspace, click
Catalog.
-
At the top of the Catalog pane, click the
gear icon and select Connections from the menu.
Alternatively, from the Quick access page, click the External data > button and go to the Connections tab.
-
Click the name of the connection.
Connection details are listed on the Overview tab.
Run the following curl request. Replace the items in brackets with your connection properties.
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>"
If the request succeeds, the credentials are correct.
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.