Trabalhando com a Amazon CloudWatch Logs - Guia do Desenvolvedor de Amazon Kinesis Data Analytics para aplicativos SQL

Após uma análise cuidadosa, decidimos descontinuar as aplicações do Amazon Kinesis Data Analytics para SQL em duas etapas:

1. A partir de 15 de outubro de 2025, você não poderá mais criar aplicações do Kinesis Data Analytics para SQL.

2. Excluiremos as aplicações a partir de 27 de janeiro de 2026. Você não poderá mais iniciar nem operar as aplicações do Amazon Kinesis Data Analytics para SQL. A partir dessa data, não haverá mais suporte ao Amazon Kinesis Data Analytics para SQL. Para obter mais informações, consulte Descontinuação de aplicações do Amazon Kinesis Data Analytics para SQL.

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á.

Trabalhando com a Amazon CloudWatch Logs

Se um aplicativo do estiver configurado incorretamente, ele poderá fazer a transição para um estado de execução durante a inicialização do aplicativo. Ou poderá atualizar, mas não processará nenhum dado no fluxo de entrada no aplicativo. Ao adicionar uma opção de CloudWatch log ao aplicativo, você pode monitorar os problemas de configuração do aplicativo.

pode gerar erros de configuração nas seguintes condições:

  • O fluxo de dados do Kinesis usado para entrada não existe.

  • O fluxo de entrega do Amazon Data Firehose usado para entrada não existe.

  • O bucket do Amazon S3 usado como fonte de dados de referência não existe.

  • O arquivo especificado na fonte de dados de referência no bucket do S3 não existe.

  • O recurso correto não está definido na função AWS Identity and Access Management (IAM) que gerencia as permissões relacionadas.

  • A permissão correta não é definido na função do IAM que gerencia permissões relacionadas.

  • não tem permissão para assumir a função do IAM que gerencia permissões relacionadas.

Para obter mais informações sobre a Amazon CloudWatch, consulte o Guia CloudWatch do usuário da Amazon.

Adicionando a ação PutLogEvents política

precisa de permissões para gravar erros de configuração incorreta. CloudWatch Você pode adicionar essas permissões à função do IAM assumida pelo , como descrito a seguir. Para obter mais informações sobre o uso de um perfil do IAM para , consulte Gerenciamento de identidade e acesso no Kinesis Data Analytics.

Política de confiança

Para conceder permissões ao para assumir uma função do IAM, anexe a política de confiança a seguir à função.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanalytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Política de permissões

Para conceder a um aplicativo permissões para gravar eventos de log a CloudWatch partir de um recurso, você pode usar a seguinte política de permissões do IAM.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt0123456789000", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group:log-stream:my-log-stream*" ] } ] }

Adição de monitoramento de erros de configuração

Use as ações de API a seguir para adicionar uma opção de CloudWatch log a um aplicativo novo ou existente ou alterar uma opção de log de um aplicativo existente.

nota

Atualmente, você só pode adicionar uma opção de CloudWatch log a um aplicativo usando ações de API. Você não pode adicionar opções de CloudWatch registro usando o console.

Adicionando uma opção de CloudWatch registro ao criar um aplicativo

O exemplo de código a seguir demonstra como usar a CreateApplication ação para adicionar uma opção de CloudWatch log ao criar um aplicativo. Para obter mais informações sobre Create_Application, consulte CreateApplication.

{ "ApplicationCode": "<The SQL code the new application will run on the input stream>", "ApplicationDescription": "<A friendly description for the new application>", "ApplicationName": "<The name for the new application>", "Inputs": [ ... ], "Outputs": [ ... ], "CloudWatchLoggingOptions": [{ "LogStreamARN": "<Amazon Resource Name (ARN) of the CloudWatch log stream to add to the new application>", "RoleARN": "<ARN of the role to use to access the log>" }] }

Adicionando uma opção de CloudWatch log a um aplicativo existente

O exemplo de código a seguir demonstra como usar a ação AddApplicationCloudWatchLoggingOption para adicionar uma opção de log do CloudWatch a um aplicativo existente. Para obter mais informações sobre o AddApplicationCloudWatchLoggingOption, consulte AddApplicationCloudWatchLoggingOption.

{ "ApplicationName": "<Name of the application to add the log option to>", "CloudWatchLoggingOption": { "LogStreamARN": "<ARN of the log stream to add to the application>", "RoleARN": "<ARN of the role to use to access the log>" }, "CurrentApplicationVersionId": <Version of the application to add the log to> }

Atualizando uma opção de CloudWatch registro existente

O exemplo de código a seguir demonstra como usar a UpdateApplication ação para modificar uma opção de CloudWatch log existente. Para obter mais informações sobre o UpdateApplication, consulte UpdateApplication.

{ "ApplicationName": "<Name of the application to update the log option for>", "ApplicationUpdate": { "CloudWatchLoggingOptionUpdates": [ { "CloudWatchLoggingOptionId": "<ID of the logging option to modify>", "LogStreamARNUpdate": "<ARN of the new log stream to use>", "RoleARNUpdate": "<ARN of the new role to use to access the log stream>" } ], }, "CurrentApplicationVersionId": <ID of the application version to modify> }

Excluindo uma opção de CloudWatch log de um aplicativo

O exemplo de código a seguir demonstra como usar a DeleteApplicationCloudWatchLoggingOption ação para excluir uma opção de CloudWatch log existente. Para obter mais informações sobre o DeleteApplicationCloudWatchLoggingOption, consulte DeleteApplicationCloudWatchLoggingOption.

{ "ApplicationName": "<Name of application to delete log option from>", "CloudWatchLoggingOptionId": "<ID of the application log option to delete>", "CurrentApplicationVersionId": <Version of the application to delete the log option from> }

Erros de configuração

As seções a seguir contêm detalhes sobre erros que você pode ver no Amazon CloudWatch Logs causados por um aplicativo mal configurado.

Formato da mensagem de erro

As mensagens de erro geradas pelo erro de configuração do aplicativo aparecem no formato a seguir.

{ "applicationARN": "string", "applicationVersionId": integer, "messageType": "ERROR", "message": "string", "inputId": "string", "referenceId": "string", "errorCode": "string" "messageSchemaVersion": "integer", }

Os campos em uma mensagem de erro contêm as seguintes informações:

  • applicationARN: o nome de recurso da Amazon (ARN) do aplicativo que gerou o erro, por exemplo: arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp

  • applicationVersionId: a versão do aplicativo no momento em que o erro foi detectado. Para obter mais informações, consulte ApplicationDetail.

  • messageType: o tipo de mensagem. No momento, esse tipo pode ser apenas ERROR.

  • message: os detalhes do erro, por exemplo:

    There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.
  • inputId: o ID associado à entrada do aplicativo. Esse valor só estará presente se essa entrada for a causa do erro. Esse valor não estará presente se referenceId estiver presente. Para obter mais informações, consulte DescribeApplication.

  • referenceId: o ID associado à fonte de dados de referência do aplicativo. Esse valor só estará presente se essa fonte de dados for a causa do erro. Esse valor não estará presente se inputId estiver presente. Para obter mais informações, consulte DescribeApplication.

  • errorCode: o identificador do erro. Esse ID é InputError ou ReferenceDataError.

  • messageSchemaVersion: um valor que especifica a versão de esquema da mensagem atual, no momento 1. Você pode verificar esse valor para ver se o esquema da mensagem de erro foi atualizado.

Erros

Os erros que podem aparecer no CloudWatch Logs for incluem o seguinte.

O recurso não existe

Se um ARN for especificado para um fluxo de entrada do Kinesis que não existe, mas o ARN estiver sintaticamente correto, um erro semelhante ao seguinte será gerado.

{ "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp", "applicationVersionId": "5", "messageType": "ERROR", "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.", "inputId":"1.1", "errorCode": "InputError", "messageSchemaVersion": "1" }

Se uma chave de arquivo incorreta do Amazon S3 for usada como dados de referência, um erro semelhante ao seguinte será gerado.

{ "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp", "applicationVersionId": "5", "messageType": "ERROR", "message": "There is a problem related to the configuration of your reference data. Please check that the bucket and the file exist, the role has the correct permissions to access these resources and that Kinesis Analytics can assume the role provided.", "referenceId":"1.1", "errorCode": "ReferenceDataError", "messageSchemaVersion": "1" }

A função não existe

Se um nome de região da Amazon (ARN) for especificado para uma função de entrada do IAM que não existe, mas o ARN estiver sintaticamente correto, um erro semelhante ao seguinte será gerado.

{ "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp", "applicationVersionId": "5", "messageType": "ERROR", "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.", "inputId":null, "errorCode": "InputError", "messageSchemaVersion": "1" }

A função não tem permissões para acessar o recurso

Se uma função de entrada for usada e não tiver permissão para acessar os recursos de entrada, como um fluxo de origem do Kinesis, um erro semelhante ao seguinte será gerado.

{ "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp", "applicationVersionId": "5", "messageType": "ERROR", "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.", "inputId":null, "errorCode": "InputError", "messageSchemaVersion": "1" }