Como resolvo erros de exceção SQL com fontes de dados SQL personalizadas no QuickSight?

Última atualização: 25/07/2022

Estou tentando usar fontes de dados SQL personalizadas no Amazon QuickSight, mas recebo a mensagem de erro "Your database generated a SQL exception" (Seu banco de dados gerou uma exceção SQL). Como resolvo isso?

Breve descrição

Você recebe a seguinte mensagem de erro quando o Amazon QuickSight está consultando ou atualizando a fonte de dados SQL:

"Your database generated a SQL exception. This can be caused by query timeouts, resource constraints, unexpected DDL alterations before or during a query, and other database errors. Check your database settings and your query, and try again."

Para obter informações mais detalhadas sobre o que causou o erro, escolha Show Details (Mostrar detalhes) abaixo da mensagem de erro.

Os motivos comuns para receber a mensagem de erro incluem:

  • A consulta atinge o tempo limite.
  • Há um problema com a conexão da VPC com sua fonte de dados.
  • Sua conta do QuickSight não tem permissão para acessar os dados.
  • O perfil de serviço do QuickSight não tem permissão para acessar a chave do AWS Key Management Service (AWS KMS).
  • Você está usando tipos de dados ou funções não compatíveis.

Resolução

Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

A consulta atinge o tempo limite

Se a consulta SQL personalizada expirar, simplifique a consulta para otimizar o tempo de execução. Para outras soluções de tempo limite de consulta, consulte Como resolvo problemas de tempo limite de consulta no QuickSight?

Há um problema com a conexão da VPC com sua fonte de dados

Os detalhes da sua mensagem de erro incluem o seguinte:

Communications link failure The last packet successfully received from the server was nnnn milliseconds ago. The last packet sent successfully to the server was nnnn milliseconds ago.

-ou-

Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Se você estiver enfrentando problemas de conexão da VPC com as fontes de dados, verifique o grupo de segurança de rede na VPC que está associado ao recurso. Para obter mais informações, consulte Connecting to a VPC with Amazon QuickSight (Conectar-se a uma VPC com o Amazon QuickSight).

A conta do QuickSight não tem permissão para acessar os dados

Se você tiver um erro de exceção SQL ao tentar acessar dados em um serviço da AWS, verifique as configurações de segurança e permissões do QuickSight.

  1. Abra o console do Amazon QuickSight.
  2. Escolha Manage QuickSight (Gerenciar o QuickSight).
  3. Escolha Security & Permissions (Segurança e permissões).
  4. Configure o acesso aos serviços compatíveis que você usa.

Se você usar o AWS Organizations, poderá receber o erro quando não tiver as políticas de controle de serviço (SCPs) necessárias atribuídas a você. Peça ao administrador do AWS Organizations para conferir as configurações de SCP para verificar as permissões atribuídas a você. Se você for administrador do AWS Organizations, consulte Criar, atualizar e excluir de políticas de controle de serviço.

O perfil de serviço do QuickSight não tem permissão para acessar a chave do KMS gerenciada pela AWS

Você recebe o seguinte erro:

If you are encrypting query results with KMS key, please ensure you are allowed to access your KMS key.

Certifique-se de que o perfil de serviço do QuickSight tenha as permissões de chave do AWS KMS corretas.

  1. Use o console do AWS Identity and Access Management (IAM) para localizar o ARN do perfil de serviço do QuickSight.
  2. Use o console do Amazon Simple Storage Service (Amazon S3) para encontrar o ARN da chave do AWS KMS.
    Vá para o bucket que contém o arquivo de dados.
    Escolha a guia Overview (Visão geral) e localize o KMS key ID (ID da chave do KMS).
  3. Adicione o ARN do perfil de serviço do QuickSight à política de chaves do KMS.

Execute o comando create-grant da CLI da AWS:

aws kms create-grant —key-id aws_kms_key_arn —grantee-principal quicksight_role_arn —operations Decrypt

Observação: substitua aws_kms_key_arn pelo ARN da chave do AWS KMS e quicksight_role_arn pelo ARN do perfil de serviço do QuickSight.

Você está usando tipos de dados ou funções não compatíveis

Se você tentar importar um tipo de dados não compatível ou usar uma função SQL incompatível, receberá um erro de exceção SQL. Para resolver esse problema, verifique a fonte de dados SQL para determinar se o tipo de dados ou a função SQL são compatíveis.

Para ver o que é compatível, verifique os seguintes recursos: