

Aviso de fim do suporte: em 15 de dezembro de 2025, AWS encerrará o suporte para AWS IoT Analytics. Depois de 15 de dezembro de 2025, você não poderá mais acessar o AWS IoT Analytics console ou os AWS IoT Analytics recursos. Para obter mais informações, consulte [AWS IoT Analytics Fim do suporte](https://docs.aws.amazon.com/iotanalytics/latest/userguide/iotanalytics-end-of-support.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Solução de problemas AWS IoT Analytics
<a name="troubleshoot"></a>

Consulte a seção a seguir para solucionar erros e encontrar possíveis soluções para resolver problemas com AWS IoT Analytics.

**Topics**
+ [Como saber se minhas mensagens estão chegando no AWS IoT Analytics?](#getting-data)
+ [Por que meu pipeline perde mensagens? Como posso corrigir isso?](#pipeline-no-data)
+ [Por que não há dados em meu datastore?](#datastore-no-data)
+ [Por que meu conjunto de dados simplesmente mostra `__dt`?](#dataset-no-data)
+ [Como fazer para codificar um evento orientado pela conclusão do conjunto de dados?](#event-driven-dataset)
+ [Como fazer para configurar corretamente minha instância de caderno para usar o AWS IoT Analytics?](#configure-notebook-instance)
+ [Por que não consigo criar cadernos em uma instância?](#notebook-instance)
+ [Por que não estou vendo meus conjuntos de dados no Quick Suite?](#sq-no-dataset)
+ [Por que não vejo o botão conteinerizar em meu caderno Jupyter existente?](#containerization-jupyter-notebook)
+ [Por que minha instalação do plug-in de conteinerização está falhando?](#containerization-installation-fails)
+ [Por que meu plug-in de conteinerização está emitindo um erro?](#containerization-error)
+ [Por que não vejo minhas variáveis durante a conteinerização?](#containerization-no-variables)
+ [Quais variáveis posso adicionar a meu contêiner como uma entrada?](#add-variables-to-container)
+ [Como faço para definir a saída de meu contêiner como uma entrada para a análise subsequente?](#containerization-subsequent-analysis)
+ [Por que meu conjunto de dados de contêiner está falhando?](#container-dataset-fails)

## Como saber se minhas mensagens estão chegando no AWS IoT Analytics?
<a name="getting-data"></a>

Verifique se a regra para injetar dados no canal por meio do mecanismo de regras está configurada corretamente.

```
aws iot get-topic-rule --rule-name {{your-rule-name}}
```

A resposta deve ser parecida com o seguinte:

```
{
    "ruleArn": "arn:aws:iot:us-west-2:{{your-account-id}}:rule/{{your-rule-name}}",
    "rule": {
        "awsIotSqlVersion": "2016-03-23",
        "sql": "SELECT * FROM 'iot/{{your-rule-name}}'",
        "ruleDisabled": false,
        "actions": [
            {
                "iotAnalytics": {
                    "channelArn": "arn:aws:iotanalytics:{{region}}:{{your_account_id}}:channel/{{your-channel-name}}"
                }
            }
        ],
        "ruleName": "{{your-rule-name}}"
    }
}
```

Certifique-se de que o nome da região e do canal usados na regra estão corretos. Para garantir que os dados atinjam o mecanismo de regras e a regra está sendo executada corretamente, é possível adicionar um novo destino para armazenar mensagens recebidas no bucket do Amazon S3 temporariamente. 

## Por que meu pipeline perde mensagens? Como posso corrigir isso?
<a name="pipeline-no-data"></a>
+ Uma atividade recebeu uma entrada JSON inválida:

  Todas as atividades, exceto as atividades do Lambda, exigem especificamente uma string JSON válida como entrada. Se o JSON recebido por uma atividade for inválido, a mensagem é descartada e não faz seu caminho para o datastore. Verifique se você está consumindo mensagens JSON válidas para o serviço. Em caso de entrada de binário, certifique-se de que a primeira atividade no pipeline é uma atividade do Lambda que converte dados binários em JSON válido antes de transmiti-lo para a próxima atividade ou armazená-lo no datastore. Para obter mais informações, consulte [Exemplo 2 da função do Lambda](https://docs.aws.amazon.com/iotanalytics/latest/userguide/pipeline-activities.html#aws-iot-analytics-pipeline-activities-lambda-ex2). 
+ Uma função do Lambda invocada por uma atividade do Lambda tem permissões insuficientes: 

  Certifique-se de que cada função do Lambda em uma atividade do Lambda tenha permissão para ser invocada a partir do serviço. AWS IoT Analytics Você pode usar o AWS CLI comando a seguir para conceder permissão.

  ```
  aws lambda add-permission --function-name <name> --region <region> --statement-id <id> --principal iotanalytics.amazonaws.com --action lambda:InvokeFunction
  ```
+ Um filtro ou atividade removeAttribute é definida incorretamente:

  Certifique-se de que as definições de qualquer atividade do `filter` ou `removeAttribute` estão corretas. Se você filtrar uma mensagem ou remover todos os atributos de uma mensagem, essa mensagem não é adicionada ao datastore. 

## Por que não há dados em meu datastore?
<a name="datastore-no-data"></a>
+ Existe um atraso entre ingestão de dados e a disponibilidade de dados:

  Pode demorar vários minutos depois de os dados serem ingeridos em um canal antes que os dados estejam disponíveis no datastore. O tempo varia com base no número de atividades do pipeline e na definição de qualquer atividade do Lambda personalizadas no pipeline. 
+ As mensagens estão sendo filtradas no pipeline:

  Certifique-se de que você não está soltando mensagens no pipeline. (Consulte a pergunta e resposta anteriores.)
+ Sua consulta de conjunto de dados está incorreta:

  Certifique-se de que a consulta que gera o conjunto de dados do datastore está correta. Remova os filtros desnecessários da consulta para garantir que seus dados chegam ao datastore.

## Por que meu conjunto de dados simplesmente mostra `__dt`?
<a name="dataset-no-data"></a>
+ Essa coluna é adicionada automaticamente pelo serviço e contém o tempo aproximado de ingestão dos dados. Ela pode ser usada para otimizar as consultas. Se seu conjunto de dados não contiver nada além disso, consulte a pergunta e a resposta anteriores. 

## Como fazer para codificar um evento orientado pela conclusão do conjunto de dados?
<a name="event-driven-dataset"></a>
+ Será necessário configurar a sondagem com base no comando `describe-dataset` para verificar se o status do conjunto de dados com determinado timestamp é **BEM-SUCEDIDO**. 

## Como fazer para configurar corretamente minha instância de caderno para usar o AWS IoT Analytics?
<a name="configure-notebook-instance"></a>

Siga estas etapas para garantir que a função do IAM que você está usando para criar a instância do bloco de anotações tem as permissões necessárias:

1. Acesse o console de SageMaker IA e crie uma instância de notebook.

1. Preencha os detalhes e selecione **create a new role (criar uma nova função)**. Anote o Role ARN (ARN da função).

1. Crie a instância de bloco de anotações. Isso também cria uma função que a SageMaker IA pode usar. 

1. Acesse o console do IAM e modifique a função de SageMaker IA recém-criada. Quando você abrir essa função, ela deve ter uma política gerenciada. 

1. Clique **em adicionar política em linha**, escolha **Io TAnalytics** como serviço e, em permissão de leitura, selecione **GetDatasetContent**.

1. Analise a política, adicione um nome para a política e, em seguida, create (criar). A função recém-criada agora tem permissão de política para ler um conjunto de AWS IoT Analytics dados.

1. Acesse o AWS IoT Analytics console e crie notebooks na instância do notebook. 

1. Aguarde até que a instância do blocos de anotações esteja no estado "In Service" (Em serviço).

1. Escolha **criar cadernos** e selecione a instância de caderno que você criou. Isto cria um caderno Jupyter com o modelo selecionado que pode acessar seus conjuntos de dados. 

## Por que não consigo criar cadernos em uma instância?
<a name="notebook-instance"></a>
+ Certifique-se de criar uma instância de blocos de anotações correta com a política do IAM. (Siga as etapas na pergunta anterior.)
+ Certifique-se de que a instância de blocos de anotações está no estado "Em serviço". Ao criar uma instância, ela é iniciada em um estado “Pendente”. Geralmente, demora aproximadamente cinco minutos para que ela entre no estado "In Service" (Em serviço). Se a instância de cadernos entrar no estado “Falha” após cinco minutos, verifique as permissões novamente.

## Por que não estou vendo meus conjuntos de dados no Quick Suite?
<a name="sq-no-dataset"></a>

O Quick Suite pode precisar de permissão para ler o conteúdo do seu AWS IoT Analytics conjunto de dados. Para dar permissão, siga estas etapas:

1. **Escolha o nome da sua conta no canto superior direito do Quick Suite e escolha Gerenciar. QuickSight**

1. No painel de navegação esquerdo, escolha **Segurança e permissões**. Em **QuickSight acesso aos AWS serviços**, verifique se o acesso foi concedido AWS IoT Analytics a.

   1. Se AWS IoT Analytics não tiver acesso, escolha **Adicionar ou remover**. 

   1. Escolha a caixa ao lado **AWS IoT Analytics** e selecione **Atualizar**. Isso dá permissão ao Quick Suite para ler o conteúdo do seu conjunto de dados.

1. Tente novamente para visualizar seus dados.

Certifique-se de escolher a mesma AWS região para o Quick Suite AWS IoT Analytics e para o Quick Suite. Caso contrário, você poderá ter problemas para acessar os AWS recursos. Para ver a lista de regiões compatíveis, consulte [AWS IoT Analytics endpoints e cotas e endpoints e cotas](https://docs.aws.amazon.com/general/latest/gr/iot-analytics.html) [do Quick Suite](https://docs.aws.amazon.com/general/latest/gr/quicksight.html) no. *Referência geral da Amazon Web Services*

## Por que não vejo o botão conteinerizar em meu caderno Jupyter existente?
<a name="containerization-jupyter-notebook"></a>
+ Isso é causado pela falta de um plug-in de AWS IoT Analytics conteinerização. Se você criou sua instância de SageMaker notebook antes de 23 de agosto de 2018, precisará instalar manualmente o plug-in seguindo as instruções em Como armazenar [um notebook em contêineres](https://docs.aws.amazon.com/iotanalytics/latest/userguide/automate.html#aws-iot-analytics-automate-containerize).
+ Se você não ver o botão de conteinerizar depois de criar a instância do SageMaker notebook a partir do AWS IoT Analytics console ou instalá-la manualmente, entre em contato com o AWS IoT Analytics suporte técnico.

## Por que minha instalação do plug-in de conteinerização está falhando?
<a name="containerization-installation-fails"></a>
+ Normalmente, a instalação do plug-in falha devido à falta de permissões na instância do SageMaker notebook. Para obter as permissões necessárias para a instância de notebook, consulte [Permissões](https://docs.aws.amazon.com/iotanalytics/latest/userguide/automate.html#aws-iot-analytics-automate-permissions) e adicione as permissões necessárias para a função de instância de notebook. Se o problema persistir, crie uma nova instância do notebook a partir do AWS IoT Analytics console.
+ Você pode ignorar a mensagem a seguir no log se ela aparecer durante a instalação do plug-in: “Para inicializar essa extensão no navegador sempre que o upload do caderno (ou de outro aplicativo) é feito”.

## Por que meu plug-in de conteinerização está emitindo um erro?
<a name="containerization-error"></a>
+ A conteinerização pode falhar e gerar erros por vários motivos. Verifique se você está usando o kernel correto antes de conteinerizar seu notebook. Os kernels conteinerizados começam com o prefixo "Containerized".
+ Como o plug-in cria e salva uma imagem de docker em um repositório do ECR, verifique se sua função de instância de notebook tem permissões suficientes para ler, listar e criar repositórios do ECR. Para obter as permissões necessárias para a instância de notebook, consulte [Permissões](https://docs.aws.amazon.com/iotanalytics/latest/userguide/automate.html#aws-iot-analytics-automate-permissions) e adicione as permissões necessárias para a função de instância de notebook.
+ Além disso, verifique se o nome do repositório está em conformidade com os requisitos do ECR. Os nomes de repositório do ECR devem começar com uma letra e podem conter apenas letras minúsculas, números, hífens, sublinhados e barras.
+ Se o processo de conteinerização falhar com o erro: "Esta instância tem espaço livre insuficiente para executar a conteinerização" tente usar uma instância maior para resolver o problema.
+ Se você vir erros de conexão ou um erro de criação de imagem, tente novamente. Se o problema persistir, reinicie a instância e instale a versão mais recente do plug-in.

## Por que não vejo minhas variáveis durante a conteinerização?
<a name="containerization-no-variables"></a>
+ O plug-in de AWS IoT Analytics conteinerização reconhece automaticamente todas as variáveis em seu notebook depois de executar o notebook com o kernel “Containerizado”. Use um dos kernels conteinerizados para executar o notebook e, em seguida, execute a conteinerização.

## Quais variáveis posso adicionar a meu contêiner como uma entrada?
<a name="add-variables-to-container"></a>
+ Você pode adicionar qualquer variável cujo valor queira modificar durante o tempo de execução como uma entrada para o contêiner. Isso permite executar o mesmo contêiner com diferentes parâmetros que precisam ser fornecidos no momento da criação do conjuntos de dados. O plug-in Jupyter de AWS IoT Analytics conteinerização simplifica esse processo ao reconhecer automaticamente as variáveis no notebook e disponibilizá-las como parte do processo de conteinerização. 

## Como faço para definir a saída de meu contêiner como uma entrada para a análise subsequente?
<a name="containerization-subsequent-analysis"></a>
+ Um local específico no S3 onde os artefatos executados podem ser armazenados é criado para cada execução de seu conjunto de dados de contêiner. Para acessar esse local de saída, crie uma variável com o tipo `outputFileUriValue` em seu conjunto de dados de contêiner. O valor dessa variável deve ser um caminho do S3 que é usado para armazenar arquivos de saída adicionais. Para acessar esses artefatos salvos em execuções subsequentes, você pode usar a API `getDatasetContent` e escolher o arquivo de saída apropriado para a execução subsequente.

## Por que meu conjunto de dados de contêiner está falhando?
<a name="container-dataset-fails"></a>
+ Verifique se você está passando a `executionRole` correta para o conjunto de dados de contêiner. A política de confiança da `executionRole` deve incluir `iotanalytics.amazonaws.com` e `sagemaker.amazonaws.com`.
+ Se você vir `AlgorithmError` como o motivo da falha, tente depurar o código do contêiner manualmente. Isso acontece quando há um bug no código do contêiner ou quando a função de execução não tem permissão para executar o contêiner. Se você fez contêineres usando o plug-in AWS IoT Analytics Jupyter, crie uma nova instância do SageMaker notebook com a mesma função que o ExecutionRole do ContainerDataset e tente executar o notebook manualmente. Se o contêiner tiver sido criado fora do plug-in Jupyter, tente executar o código manualmente e limitar a permissão para a executionRole.