

Aviso de fim do suporte: em 7 de outubro de 2026, AWS o suporte para o. AWS IoT Greengrass Version 1 Depois de 7 de outubro de 2026, você não poderá mais acessar os AWS IoT Greengrass V1 recursos. Para obter mais informações, visite [Migrar de AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.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á.

# Kinesis Firehose
<a name="kinesis-firehose-connector"></a>

O [conector](connectors.md) Kinesis Firehose publica dados por meio de um stream de entrega do Amazon Data Firehose para destinos como Amazon S3, Amazon Redshift ou Amazon Service. OpenSearch 

Esse conector é um produtor de dados para um fluxo de entrega do Kinesis. Ele recebe dados de entrada em um tópico MQTT e envia os dados para um fluxo de entrega especificado. Em seguida, o fluxo de entrega envia o registro de dados ao destino configurado (por exemplo, um bucket do S3).

Esse conector tem as seguintes versões.


| Versão | ARN | 
| --- | --- | 
| 5 | `arn:aws:greengrass:region::/connectors/KinesisFirehose/versions/5` | 
| 4 | `arn:aws:greengrass:region::/connectors/KinesisFirehose/versions/4` | 
| 3 | `arn:aws:greengrass:region::/connectors/KinesisFirehose/versions/3` | 
| 2 | `arn:aws:greengrass:region::/connectors/KinesisFirehose/versions/2` | 
| 1 | `arn:aws:greengrass:region::/connectors/KinesisFirehose/versions/1` | 

Para obter informações sobre alterações de versão, consulte o [Changelog](#kinesis-firehose-connector-changelog).

## Requisitos
<a name="kinesis-firehose-connector-req"></a>

Esse conector tem os seguintes requisitos:

------
#### [ Version 4 - 5 ]
+ <a name="conn-req-ggc-v1.9.3"></a>AWS IoT Greengrass Software principal v1.9.3 ou posterior.
+ <a name="conn-req-py-3.7-and-3.8"></a>[Python](https://www.python.org/), versão 3.7 ou 3.8, instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
**nota**  <a name="use-runtime-py3.8"></a>
Para usar o Python 3.8, execute o comando a seguir para criar um symblink da pasta de instalação padrão do Python 3.7 para os binários instalados do Python 3.8.  

  ```
  sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7
  ```
Isso configura seu dispositivo para atender ao requisito Python para AWS IoT Greengrass.
+ <a name="req-kinesis-firehose-stream"></a>Um fluxo de entrega configurado do Kinesis. Para ter mais informações, consulte [Creating an Amazon Data Firehose delivery stream](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) no *Guia do desenvolvedor do Amazon Kinesis Firehose*.
+ <a name="req-kinesis-firehose-iam-policy-v2"></a>A [função de grupo do Greengrass](group-role.md) configurada para permitir as ações `firehose:PutRecord` e `firehose:PutRecordBatch` no fluxo de entrega de destino, conforme mostrado no seguinte exemplo de política do IAM.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
          {
              "Sid":"Stmt1528133056761",
              "Action":[
                  "firehose:PutRecord",
                  "firehose:PutRecordBatch"
              ],
              "Effect":"Allow",
              "Resource":[
              "arn:aws:firehose:us-east-1:123456789012:deliverystream/stream-name"
              ]
          }
      ]
   }
  ```

------

  Esse conector permite que você substitua dinamicamente o fluxo de entrega padrão na carga da mensagem de entrada. Se a implementação usar esse atributo, a política do IAM deverá incluir todos os fluxos de destino como recursos. Você pode conceder acesso granular ou condicional aos recursos (por exemplo, usando um esquema de nomeação \$1 curinga).

  <a name="set-up-group-role"></a>Para o requisito de função de grupo, você deve configurar a função para conceder as permissões necessárias e certificar-se de que a função tenha sido adicionada ao grupo. Para acessar mais informações, consulte [Gerenciar a função de grupo do Greengrass (console)](group-role.md#manage-group-role-console) ou [Gerenciar a função de grupo do Greengrass (CLI)](group-role.md#manage-group-role-cli).

------
#### [ Versions 2 - 3 ]
+ <a name="conn-req-ggc-v1.7.0"></a>AWS IoT Greengrass Software principal v1.7 ou posterior.
+ [Python](https://www.python.org/) versão 2.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ <a name="req-kinesis-firehose-stream"></a>Um fluxo de entrega configurado do Kinesis. Para ter mais informações, consulte [Creating an Amazon Data Firehose delivery stream](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) no *Guia do desenvolvedor do Amazon Kinesis Firehose*.
+ <a name="req-kinesis-firehose-iam-policy-v2"></a>A [função de grupo do Greengrass](group-role.md) configurada para permitir as ações `firehose:PutRecord` e `firehose:PutRecordBatch` no fluxo de entrega de destino, conforme mostrado no seguinte exemplo de política do IAM.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
          {
              "Sid":"Stmt1528133056761",
              "Action":[
                  "firehose:PutRecord",
                  "firehose:PutRecordBatch"
              ],
              "Effect":"Allow",
              "Resource":[
              "arn:aws:firehose:us-east-1:123456789012:deliverystream/stream-name"
              ]
          }
      ]
   }
  ```

------

  Esse conector permite que você substitua dinamicamente o fluxo de entrega padrão na carga da mensagem de entrada. Se a implementação usar esse atributo, a política do IAM deverá incluir todos os fluxos de destino como recursos. Você pode conceder acesso granular ou condicional aos recursos (por exemplo, usando um esquema de nomeação \$1 curinga).

  <a name="set-up-group-role"></a>Para o requisito de função de grupo, você deve configurar a função para conceder as permissões necessárias e certificar-se de que a função tenha sido adicionada ao grupo. Para acessar mais informações, consulte [Gerenciar a função de grupo do Greengrass (console)](group-role.md#manage-group-role-console) ou [Gerenciar a função de grupo do Greengrass (CLI)](group-role.md#manage-group-role-cli).

------
#### [ Version 1 ]
+ <a name="conn-req-ggc-v1.7.0"></a>AWS IoT Greengrass Software principal v1.7 ou posterior.
+ [Python](https://www.python.org/) versão 2.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ <a name="req-kinesis-firehose-stream"></a>Um fluxo de entrega configurado do Kinesis. Para ter mais informações, consulte [Creating an Amazon Data Firehose delivery stream](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) no *Guia do desenvolvedor do Amazon Kinesis Firehose*.
+ A [função de grupo do Greengrass](group-role.md) configurada para permitir a ação `firehose:PutRecord` no fluxo de entrega de destino, conforme mostrado no seguinte exemplo de política do IAM.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
          {
              "Sid":"Stmt1528133056761",
              "Action":[
                  "firehose:PutRecord"
              ],
              "Effect":"Allow",
              "Resource":[
              "arn:aws:firehose:us-east-1:123456789012:deliverystream/stream-name"
              ]
          }
      ]
   }
  ```

------

  <a name="role-resources"></a>Esse conector permite que você substitua dinamicamente o fluxo de entrega padrão na carga da mensagem de entrada. Se a implementação usar esse atributo, a política do IAM deverá incluir todos os fluxos de destino como recursos. Você pode conceder acesso granular ou condicional aos recursos (por exemplo, usando um esquema de nomeação \$1 curinga).

  <a name="set-up-group-role"></a>Para o requisito de função de grupo, você deve configurar a função para conceder as permissões necessárias e certificar-se de que a função tenha sido adicionada ao grupo. Para acessar mais informações, consulte [Gerenciar a função de grupo do Greengrass (console)](group-role.md#manage-group-role-console) ou [Gerenciar a função de grupo do Greengrass (CLI)](group-role.md#manage-group-role-cli).

------

## Parâmetros do conector
<a name="kinesis-firehose-connector-param"></a>

Esse conector oferece os seguintes parâmetros:

------
#### [ Versions 5 ]

`DefaultDeliveryStreamArn`  <a name="kinesis-firehose-DefaultDeliveryStreamArn"></a>
O ARN do fluxo de entrega padrão do Firehose para o qual enviar dados. O fluxo de destino pode ser substituído pela propriedade `delivery_stream_arn` na carga da mensagem de entrada.  
A função do grupo deve permitir as ações apropriadas em todos os fluxos de entrega de destino. Para obter mais informações, consulte [Requisitos](#kinesis-firehose-connector-req).
Nome de exibição no AWS IoT console: **ARN do fluxo de entrega padrão**  
Obrigatório: `true`  
Digite: `string`  
Padrão válido: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`

`DeliveryStreamQueueSize`  <a name="kinesis-firehose-DeliveryStreamQueueSize"></a>
O número máximo de registros e serem retidos na memória antes que os novos registros para o mesmo fluxo de entrega sejam rejeitados. O valor mínimo é 2000.  
Nome de exibição no AWS IoT console: **número máximo de registros a serem armazenados em buffer (por stream**)  
Obrigatório: `true`  
Digite: `string`  
Padrão válido: `^([2-9]\\d{3}|[1-9]\\d{4,})$`

`MemorySize`  <a name="kinesis-firehose-MemorySize"></a>
A quantidade de memória (em KB) a ser alocada para esse conector.  
Nome de exibição no AWS IoT console: **Tamanho da memória**  
Obrigatório: `true`  
Digite: `string`  
Padrão válido: `^[0-9]+$`

`PublishInterval`  <a name="kinesis-firehose-PublishInterval"></a>
O intervalo (em segundos) para a publicação de registros no Firehose. Para desabilitar o agrupamento em lotes, defina esse valor como 0.  
Nome de exibição no AWS IoT console: **intervalo de publicação**  
Obrigatório: `true`  
Digite: `string`  
Valores válidos: `0 - 900`  
Padrão válido: `[0-9]|[1-9]\\d|[1-9]\\d\\d|900`

`IsolationMode`  <a name="IsolationMode"></a>
O modo de [conteinerização](connectors.md#connector-containerization) para este conector. O padrão é`GreengrassContainer`, o que significa que o conector é executado em um ambiente de execução isolado dentro do AWS IoT Greengrass contêiner.  
A configuração padrão de conteinerização para o grupo não se aplica aos conectores.
Nome de exibição no AWS IoT console: **modo de isolamento de contêiner**  
Obrigatório: `false`  
Digite: `string`  
Valores válidos: `GreengrassContainer` ou `NoContainer`  
Padrão válido: `^NoContainer$|^GreengrassContainer$`

------
#### [ Versions 2 - 4 ]

`DefaultDeliveryStreamArn`  <a name="kinesis-firehose-DefaultDeliveryStreamArn"></a>
O ARN do fluxo de entrega padrão do Firehose para o qual enviar dados. O fluxo de destino pode ser substituído pela propriedade `delivery_stream_arn` na carga da mensagem de entrada.  
A função do grupo deve permitir as ações apropriadas em todos os fluxos de entrega de destino. Para obter mais informações, consulte [Requisitos](#kinesis-firehose-connector-req).
Nome de exibição no AWS IoT console: **ARN do fluxo de entrega padrão**  
Obrigatório: `true`  
Digite: `string`  
Padrão válido: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`

`DeliveryStreamQueueSize`  <a name="kinesis-firehose-DeliveryStreamQueueSize"></a>
O número máximo de registros e serem retidos na memória antes que os novos registros para o mesmo fluxo de entrega sejam rejeitados. O valor mínimo é 2000.  
Nome de exibição no AWS IoT console: **número máximo de registros a serem armazenados em buffer (por stream**)  
Obrigatório: `true`  
Digite: `string`  
Padrão válido: `^([2-9]\\d{3}|[1-9]\\d{4,})$`

`MemorySize`  <a name="kinesis-firehose-MemorySize"></a>
A quantidade de memória (em KB) a ser alocada para esse conector.  
Nome de exibição no AWS IoT console: **Tamanho da memória**  
Obrigatório: `true`  
Digite: `string`  
Padrão válido: `^[0-9]+$`

`PublishInterval`  <a name="kinesis-firehose-PublishInterval"></a>
O intervalo (em segundos) para a publicação de registros no Firehose. Para desabilitar o agrupamento em lotes, defina esse valor como 0.  
Nome de exibição no AWS IoT console: **intervalo de publicação**  
Obrigatório: `true`  
Digite: `string`  
Valores válidos: `0 - 900`  
Padrão válido: `[0-9]|[1-9]\\d|[1-9]\\d\\d|900`

------
#### [ Version 1 ]

`DefaultDeliveryStreamArn`  <a name="kinesis-firehose-DefaultDeliveryStreamArn"></a>
O ARN do fluxo de entrega padrão do Firehose para o qual enviar dados. O fluxo de destino pode ser substituído pela propriedade `delivery_stream_arn` na carga da mensagem de entrada.  
A função do grupo deve permitir as ações apropriadas em todos os fluxos de entrega de destino. Para obter mais informações, consulte [Requisitos](#kinesis-firehose-connector-req).
Nome de exibição no AWS IoT console: **ARN do fluxo de entrega padrão**  
Obrigatório: `true`  
Digite: `string`  
Padrão válido: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`

------

**Example**  <a name="kinesis-firehose-connector-create"></a>
**Exemplo de criação de conector (AWS CLI)**  
O seguinte comando da CLI cria um `ConnectorDefinition` com uma versão inicial que contém o conector .  

```
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{
    "Connectors": [
        {
            "Id": "MyKinesisFirehoseConnector",
            "ConnectorArn": "arn:aws:greengrass:region::/connectors/KinesisFirehose/versions/5",
            "Parameters": {
                "DefaultDeliveryStreamArn": "arn:aws:firehose:region:account-id:deliverystream/stream-name",
                "DeliveryStreamQueueSize": "5000",
                "MemorySize": "65535",
                "PublishInterval": "10", 
                "IsolationMode" : "GreengrassContainer"
            }
        }
    ]
}'
```

No AWS IoT Greengrass console, você pode adicionar um conector na página **Conectores** do grupo. Para obter mais informações, consulte [Conceitos básicos de conectores do Greengrass (console)](connectors-console.md).

## Dados de entrada
<a name="kinesis-firehose-connector-data-input"></a>

Esse conector aceita conteúdo de fluxos em tópicos MQTT e envia o conteúdo para o fluxo de entrega de destino. Ele aceita dois tipos de dados de entrada:
+ Dados JSON no tópico `kinesisfirehose/message`.
+ Dados binários no tópico `kinesisfirehose/message/binary/#`.

------
#### [ Versions 2 - 5 ]<a name="kinesis-firehose-input-data"></a>

**Filtro de tópico:** `kinesisfirehose/message`  
Use esse tópico para enviar uma mensagem que contenha dados JSON.    
**Propriedades de mensagens**    
`request`  
Os dados a serem enviados para o fluxo de entrega e o fluxo de entrega de destino, se diferentes do fluxo padrão.  
Obrigatório: `true`  
Tipo: `object` que inclui as seguintes propriedades:    
`data`  
Os dados a serem enviados para o fluxo de entrega.  
Obrigatório: `true`  
Digite: `string`  
`delivery_stream_arn`  
O ARN do fluxo de entrega do Kinesis de destino. Inclua essa propriedade para substituir o fluxo de entrega padrão.  
Obrigatório: `false`  
Digite: `string`  
Padrão válido: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`  
`id`  
Um ID arbitrário para a solicitação. Essa propriedade é usada para mapear a solicitação de entrada para uma resposta de saída. Quando especificada, a propriedade `id` no objeto de resposta é definida para esse valor. Se você não usa esse atributo, é possível omitir essa propriedade ou especificar uma string vazia.  
Obrigatório: `false`  
Digite: `string`  
Padrão válido: `.*`  
**Exemplo de entrada**  

```
{
     "request": {
        "delivery_stream_arn": "arn:aws:firehose:region:account-id:deliverystream/stream2-name",
        "data": "Data to send to the delivery stream."
     },
     "id": "request123"
}
```
 

**Filtro de tópico:** `kinesisfirehose/message/binary/#`  
Use esse tópico para enviar uma mensagem que contenha dados binários. O conector não analisa dados binários. Os dados são transmitidos da forma que se encontram.  
Para mapear a solicitação de entrada para uma resposta de saída, substitua o curinga `#` na mensagem do tópico por um ID de solicitação arbitrário. Por exemplo, se você publicar uma mensagem no `kinesisfirehose/message/binary/request123`, a propriedade `id` no objeto de resposta será definida como `request123`.  
Se você não deseja mapear uma solicitação para uma resposta, é possível publicar suas mensagens em `kinesisfirehose/message/binary/`. Lembre-se de incluir uma barra no final.

------
#### [ Version 1 ]<a name="kinesis-firehose-input-data"></a>

**Filtro de tópico:** `kinesisfirehose/message`  
Use esse tópico para enviar uma mensagem que contenha dados JSON.    
**Propriedades de mensagens**    
`request`  
Os dados a serem enviados para o fluxo de entrega e o fluxo de entrega de destino, se diferentes do fluxo padrão.  
Obrigatório: `true`  
Tipo: `object` que inclui as seguintes propriedades:    
`data`  
Os dados a serem enviados para o fluxo de entrega.  
Obrigatório: `true`  
Digite: `string`  
`delivery_stream_arn`  
O ARN do fluxo de entrega do Kinesis de destino. Inclua essa propriedade para substituir o fluxo de entrega padrão.  
Obrigatório: `false`  
Digite: `string`  
Padrão válido: `arn:aws:firehose:([a-z]{2}-[a-z]+-\d{1}):(\d{12}):deliverystream/([a-zA-Z0-9_\-.]+)$`  
`id`  
Um ID arbitrário para a solicitação. Essa propriedade é usada para mapear a solicitação de entrada para uma resposta de saída. Quando especificada, a propriedade `id` no objeto de resposta é definida para esse valor. Se você não usa esse atributo, é possível omitir essa propriedade ou especificar uma string vazia.  
Obrigatório: `false`  
Digite: `string`  
Padrão válido: `.*`  
**Exemplo de entrada**  

```
{
     "request": {
        "delivery_stream_arn": "arn:aws:firehose:region:account-id:deliverystream/stream2-name",
        "data": "Data to send to the delivery stream."
     },
     "id": "request123"
}
```
 

**Filtro de tópico:** `kinesisfirehose/message/binary/#`  
Use esse tópico para enviar uma mensagem que contenha dados binários. O conector não analisa dados binários. Os dados são transmitidos da forma que se encontram.  
Para mapear a solicitação de entrada para uma resposta de saída, substitua o curinga `#` na mensagem do tópico por um ID de solicitação arbitrário. Por exemplo, se você publicar uma mensagem no `kinesisfirehose/message/binary/request123`, a propriedade `id` no objeto de resposta será definida como `request123`.  
Se você não deseja mapear uma solicitação para uma resposta, é possível publicar suas mensagens em `kinesisfirehose/message/binary/`. Lembre-se de incluir uma barra no final.

------

## Dados de saída
<a name="kinesis-firehose-connector-data-output"></a>

O conector publica informações de status como dados de saída em um tópico MQTT.

------
#### [ Versions 2 - 5 ]

<a name="topic-filter"></a>**Filtro de tópico na assinatura**  <a name="kinesis-firehose-output-topic-status"></a>
`kinesisfirehose/message/status`

**Exemplo de saída**  
A resposta contém o status de cada registro de dados enviado no lote.  

```
{
    "response": [
        {
            "ErrorCode": "error",
            "ErrorMessage": "test error",
            "id": "request123",
            "status": "fail"
        },
        {
            "firehose_record_id": "xyz2",
            "id": "request456",
            "status": "success"
        },
        {
            "firehose_record_id": "xyz3",
            "id": "request890",
            "status": "success"
        }
    ]
}
```
Se o conector detectar um erro que pode ser repetido (por exemplo, erros de conexão), ele tentará publicar novamente no próximo lote. O recuo exponencial é gerenciado pelo SDK. AWS As solicitações que falham com erros repetíveis são adicionadas de volta ao final da fila para publicação.

------
#### [ Version 1 ]

<a name="topic-filter"></a>**Filtro de tópico na assinatura**  <a name="kinesis-firehose-output-topic-status"></a>
`kinesisfirehose/message/status`

**Exemplo de resultado: sucesso**  

```
{
   "response": {
       "firehose_record_id": "1lxfuuuFomkpJYzt/34ZU/r8JYPf8Wyf7AXqlXm",
       "status": "success"
    },
    "id": "request123"
}
```

**Exemplo de resultado: falha**  

```
{
   "response" : {
       "error": "ResourceNotFoundException",
       "error_message": "An error occurred (ResourceNotFoundException) when calling the PutRecord operation: Firehose test1 not found under account 123456789012.",
       "status": "fail"
   },
   "id": "request123"
}
```

------

## Exemplo de uso
<a name="kinesis-firehose-connector-usage"></a>

<a name="connectors-setup-intro"></a>Use as seguintes etapas de alto nível para configurar um exemplo de função do Lambda Python 3.7 que pode ser usado para testar o conector.

**nota**  <a name="connectors-setup-get-started-topics"></a>
Se você usar outros runtimes do Python, poderá criar um symblink do Python3.x para o Python 3.7.
Os tópicos [Conceitos básicos de conectores (console)](connectors-console.md) e [Conceitos básicos de conectores (CLI)](connectors-cli.md) contêm etapas detalhadas que mostram como configurar e implantar um exemplo do conector de notificações do Twilio.

1. Certifique-se de cumprir os [requisitos](#kinesis-firehose-connector-req) para o conector.

   <a name="set-up-group-role"></a>Para o requisito de função de grupo, você deve configurar a função para conceder as permissões necessárias e certificar-se de que a função tenha sido adicionada ao grupo. Para acessar mais informações, consulte [Gerenciar a função de grupo do Greengrass (console)](group-role.md#manage-group-role-console) ou [Gerenciar a função de grupo do Greengrass (CLI)](group-role.md#manage-group-role-cli).

1. <a name="connectors-setup-function"></a>Crie e publique uma função do Lambda que envie dados de entrada para o conector.

   Salve o [código de exemplo](#kinesis-firehose-connector-usage-example) como arquivo PY. <a name="connectors-setup-function-sdk"></a>Baixe e descompacte o [SDK do AWS IoT Greengrass Core para Python](lambda-functions.md#lambda-sdks-core). Crie então um pacote zip que contenha o arquivo PY e a pasta `greengrasssdk` no nível raiz. Este pacote zip é o pacote de implantação que você transfere por upload para o AWS Lambda.

   <a name="connectors-setup-function-publish"></a>Depois de criar a função do Lambda Python 3.7, publique uma versão de função e crie um alias.

1. Configure o grupo do Greengrass.

   1. <a name="connectors-setup-gg-function"></a>Adicione a função do Lambda pelo seu alias (recomendado). Configure o ciclo de vida do Lambda como de longa duração (ou `"Pinned": true` na CLI).

   1. Adicione o conector e configure seus [parâmetros](#kinesis-firehose-connector-param).

   1. Adicione assinaturas que permitam que o conector receba [dados de entrada JSON](#kinesis-firehose-connector-data-input) e envie [dados de saída](#kinesis-firehose-connector-data-output) em filtros de tópico compatíveis.
      + <a name="connectors-setup-subscription-input-data"></a>Defina a função do Lambda como origem, o conector como destino e use um filtro de tópico de entrada compatível.
      + <a name="connectors-setup-subscription-output-data"></a>Defina o conector como origem, o AWS IoT Core como destino, e use um filtro de tópico de saída compatível. Você usa essa assinatura para visualizar mensagens de status no AWS IoT console.

1. <a name="connectors-setup-deploy-group"></a>Implante o grupo.

1. <a name="connectors-setup-test-sub"></a>No AWS IoT console, na página **Teste**, inscreva-se no tópico de dados de saída para ver as mensagens de status do conector. A função de exemplo do Lambda é de longa duração e começa a enviar mensagens imediatamente após o grupo ser implantado.

   Ao finalizar o teste, você pode definir o ciclo de vida do Lambda como sob demanda (ou `"Pinned": false` na CLI) e implantar o grupo. Isso impede o envio de mensagens pela função.

### Exemplo
<a name="kinesis-firehose-connector-usage-example"></a>

O exemplo a seguir da função do Lambda envia uma mensagem de entrada para o conector. Esta mensagem contém dados JSON.

```
import greengrasssdk
import time
import json

iot_client = greengrasssdk.client('iot-data')
send_topic = 'kinesisfirehose/message'

def create_request_with_all_fields():
    return  {
        "request": {
            "data": "Message from Firehose Connector Test"
        },
        "id" : "req_123"
    }

def publish_basic_message():
    messageToPublish = create_request_with_all_fields()
    print("Message To Publish: ", messageToPublish)
    iot_client.publish(topic=send_topic,
        payload=json.dumps(messageToPublish))

publish_basic_message()

def lambda_handler(event, context):
    return
```

## Licenças
<a name="kinesis-firehose-connector-license"></a>

O conector do Kinesis Firehose inclui o seguinte licenciamento/software de terceiros:<a name="boto-3-licenses"></a>
+ [AWS SDK para Python (Boto3)](https://pypi.org/project/boto3/)/Licença Apache 2.0
+ [botocore](https://pypi.org/project/botocore/)/Licença Apache 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/Licença PSF
+ [docutils](https://pypi.org/project/docutils/)/Licença BSD, GNU Licença pública geral (GPL), Licença Python Software Foundation, Domínio público
+ [jmespath](https://pypi.org/project/jmespath/)/Licença MIT
+ [s3transfer](https://pypi.org/project/s3transfer/)/Licença Apache 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/Licença MIT

Esse conector é liberado de acordo com o [Contrato de licença de software do Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Changelog
<a name="kinesis-firehose-connector-changelog"></a>

A tabela a seguir descreve as alterações em cada versão do conector.


| Versão | Alterações | 
| --- | --- | 
| 5 | <a name="isolation-mode-changelog"></a>Adicionado o parâmetro `IsolationMode` para configurar o modo de conteinerização para o conector. | 
| 4 | <a name="upgrade-runtime-py3.7"></a>Atualização do runtime do Lambda para Python 3.7, o que altera o requisito de runtime. | 
| 3 | Correção para reduzir o excesso de registro em log e outras correções de erros secundárias.  | 
| 2 | Suporte adicionado para o envio de registros de dados em lote ao Firehose em um intervalo especificado. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/kinesis-firehose-connector.html)  | 
| 1 | Versão inicial.  | 

<a name="one-conn-version"></a>Um grupo do Greengrass só pode conter uma versão do conector por vez. Para obter informações sobre como fazer upgrade de uma versão do conector, consulte [Atualizar a versões do conector](connectors.md#upgrade-connector-versions).

## Consulte também
<a name="kinesis-firehose-connector-see-also"></a>
+ [Integrar a serviços e protocolos usando conectores do Greengrass](connectors.md)
+ [Conceitos básicos de conectores do Greengrass (console)](connectors-console.md)
+ [Conceitos básicos de conectores do Greengrass (CLI)](connectors-cli.md)
+ [O que é o Amazon Kinesis Data Firehose?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) no *Guia do desenvolvedor do Amazon Kinesis*.