Armazenar dados exportados no Amazon S3 - Amazon Monitron

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

Armazenar dados exportados no Amazon S3

Usando um modelo predefinido CloudFormation

O Amazon Monitron fornece um AWS CloudFormation modelo predefinido para ajudar a configurar rapidamente o Firehose para entregar dados de um stream de dados do Kinesis para o bucket do Amazon S3. Esse modelo permite o particionamento dinâmico e os objetos do Amazon S3 entregues usarão o seguinte formato de chave recomendado pelo Amazon Monitron: /project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}

  1. Faça login na sua conta da AWS.

  2. Abra uma nova guia do navegador com o seguinte URL:

    https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?templateURL=https://s3.us-east-1.amazonaws.com/monitron-cloudformation-templates-us-east-1/monitron_kinesis_data_export.yaml&stackName=monitron-kinesis-live-data-export
  3. Na página do AWS CloudFormation que se abre, no canto superior direito, selecione a região na qual você está usando o Amazon Monitron.

  4. Por padrão, o modelo criará um novo fluxo de dados do Kinesis e um bucket S3 junto com outros recursos necessários para entregar dados ao Amazon S3. Você pode alterar os parâmetros para usar os recursos existentes.

  5. Marque a caixa que diz “Eu reconheço que a AWS CloudFormation pode criar recursos do IAM”.

  6. Selecione Criar pilha.

  7. Na próxima página, escolha o ícone de atualização quantas vezes quiser até que o status da pilha seja CREATE_COMPLETE.

Configurando o Kinesis manualmente no console

  1. Faça login no Console de Gerenciamento da AWS e abra o console do Kinesis em https://console.aws.amazon.com/kinesis.

  2. Selecione Fluxos de entrega no painel de navegação.

  3. Escolha Create delivery stream (Criar fluxo de entrega).

  4. Em Origem, selecione Amazon Kinesis Data Streams.

  5. Em Destino, selecione Amazon S3.

  6. Em Configurações de origem, fluxo de dados do Kinesis, insira o ARN do fluxo de dados do Kinesis.

  7. Em Nome do fluxo de entrega, insira o nome do fluxo de dados do Kinesis.

  8. Em Configurações de destino, escolha um bucket do Amazon S3 ou insira um URI do bucket.

  9. (opcional) Ative o particionamento dinâmico usando análise embutida para JSON. Essa opção é apropriada se você quiser particionar os dados de medição de streaming com base nas informações da fonte e no registro de data e hora. Por exemplo: .

    • Escolha Ativado para Particionamento dinâmico.

    • Escolha Ativado para Novo delimitador de linha.

    • Escolha Ativado para Análise embutida para JSON.

    • Em Chaves de particionamento dinâmico, adicione:

      Nome da chave Expressão JQ

      project

      . projectDisplayName| “projeto=\ (.)”

      site

      . siteDisplayName| “site=\ (.)”

      horário

      .timestamp| sub("[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}$"; "00:00:00")| "time=\(.)"

  10. Escolha Aplicar chaves de particionamento dinâmico e confirme se o prefixo do bucket do Amazon S3 gerado é !{partitionKeyFromQuery:project}/!{partitionKeyFromQuery:site}/!{partitionKeyFromQuery:time}/.

  11. No Amazon S3, os objetos usarão o seguinte formato de chave: /project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}

  12. Escolha Create delivery stream (Criar fluxo de entrega).

  13. (opcional) Use um caminho mais granular.

    Se você escolheu uma partição dinâmica, use o formato de chave anterior do Amazon S3 se você planeja usar o AWS Glue e o Athena para consultar os dados. Você também pode escolher um formato de chave mais preciso, mas a consulta do Amazon Athena não será eficiente. Aqui está um exemplo de como configurar um caminho de chave mais preciso para o Amazon S3.

    Em Chaves de particionamento dinâmico, adicione:

    Nome da chave Expressão JQ

    project

    . projectDisplayName| “projeto=\ (.)”

    site

    . siteDisplayName| “site=\ (.)”

    asset

    . assetDisplayName| “ativo =\ (.)”

    position

    . sensorPositionDisplayNome | “position =\ (.)”

    sensor

    .sensor.physicalId | "sensor=\(.)"

    data

    .timestamp| sub(" [0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}$"; "")| "date=\(.)"

    No Amazon S3, os objetos usarão o seguinte formato de chave: /project={projectName}/site={siteName}/asset={assetName}/position={positionName}/sensor={sensorId}/date={yyyy-mm-dd}/time={HH:MM:SS}/{filename}