

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

# Componentes fornecidos pela AWS
<a name="public-components"></a>

O AWS IoT Greengrass fornece e mantém componentes pré-construídos que você pode implantar em seus dispositivos. Esses componentes incluem recursos (como gerenciador de fluxos), conectores AWS IoT Greengrass V1 (como métricas do CloudWatch) e ferramentas de desenvolvimento local (como a CLI). AWS IoT Greengrass É possível [implantar esses componentes](manage-deployments.md) em seus dispositivos para obter sua funcionalidade independente ou pode usá-los como dependências em seus componentes personalizados do [Greengrass](develop-greengrass-components.md).

**nota**  <a name="component-nucleus-dependency-update-note"></a>
Vários componentes fornecidos pela AWS dependem de versões secundárias específicas do Greengrass nucleus. Por causa dessa dependência, você precisa atualizar esses componentes ao atualizar o Greengrass nucleus para uma nova versão secundária. Para obter informações sobre as versões específicas do núcleo das quais cada componente depende, consulte o tópico do componente correspondente. Para obter mais informações sobre como atualizar o núcleo, consulte [Atualizar o software de núcleo do AWS IoT Greengrass (OTA)](update-greengrass-core-v2.md).

<a name="component-table-type-description"></a>Quando um componente tem um tipo de componente genérico e Lambda, a versão atual do componente é do tipo genérico e uma versão anterior do componente é do tipo Lambda.


| Componente | Descrição | [Tipo de componente](develop-greengrass-components.md#component-types) | SO com suporte | [Código aberto](open-source.md) | Compatível com o nucleus lite | 
| --- | --- | --- | --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | O núcleo do software AWS IoT Greengrass Core. Use esse componente para configurar e atualizar o software em seus dispositivos principais. | Núcleo | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-nucleus) | Não | 
| [Greengrass nucleus lite](greengrass-nucleus-lite-component.md) | Um nucleus leve para dispositivos com recursos limitados, otimizados para dispositivos de borda de baixo custo e aplicações de alto volume | NucleusLite | Linux | [Sim](https://github.com/aws-greengrass/aws-greengrass-lite) | Não | 
| <a name="client-device-auth-component-table-row"></a>[Autenticação do dispositivo cliente](client-device-auth-component.md) | Permite que dispositivos IoT locais, chamados de dispositivos clientes, se conectem ao dispositivo principal. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-client-device-auth) | Não | 
| [CloudWatch métricas](cloudwatch-metrics-component.md) | Publica métricas personalizadas no Amazon CloudWatch | Genérico, Lambda | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-cloudwatch-metrics) | Sim | 
| [AWS IoT Device Defender](device-defender-component.md) | Notifica os administradores sobre alterações no estado do dispositivo principal do Greengrass para identificar comportamentos incomuns. | Genérico, Lambda | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-device-defender) | Não | 
| [Spooler de disco](disk-spooler-component.md) | Habilita uma opção de armazenamento persistente para mensagens enviadas dos dispositivos principais do Greengrass para o AWS IoT Core. Esse componente armazenará essas mensagens de saída no disco. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-disk-spooler) | Não | 
| [Gerenciador de aplicações do Docker](docker-application-manager-component.md) | Permite que o AWS IoT Greengrass baixe imagens do Docker do Docker Hub e do Amazon Elastic Container Registry (Amazon ECR). | Genérico | Linux, Windows | Não | Não | 
| [Conector Edge para Kinesis Video Streams](kvs-edge-connector-component.md) | Lê feeds de vídeo de câmeras locais, publica os streams no Kinesis Video Streams e exibe os streams nos painéis da Grafana com o AWS IoT TwinMaker. | Genérico | Linux | Não | Não | 
| [CLI do Greengrass](greengrass-cli-component.md) | Fornece uma interface de linha de comando que você pode usar para criar implantações locais e interagir com o dispositivo principal do Greengrass e seus componentes. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-cli) | [Não](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/ggl-cli.md) | 
| <a name="ip-detector-component-table-row"></a>[Detector IP](ip-detector-component.md) | Relata as informações de conectividade do agente MQTT para o AWS IoT Greengrass, assim dispositivos do cliente possam descobrir como se conectar. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-ip-detector) | Não | 
| [Firehose](kinesis-firehose-component.md) | Publica dados por meio de fluxos de entrega do Amazon Data Firehose para destinos no Nuvem AWS. | Lambda | Linux | Não | Não | 
| [Lançador Lambda](lambda-launcher-component.md) | Lida com processos e configuração de ambiente para funções do Lambda. | Genérico | Linux | Não | Não | 
| [Gerente do Lambda](lambda-manager-component.md) | Lida com comunicação entre processos e escalabilidade para funções do Lambda. | Plug-in | Linux | Não | Não | 
| [Runtimes do Lambda](lambda-runtimes-component.md) | Fornece artefatos para cada runtime do Lambda. | Genérico | Linux | Não | Não | 
| [Roteador de assinatura legado](legacy-subscription-router-component.md) | Gerencia assinaturas para funções do Lambda que são executadas no AWS IoT Greengrass V1. | Genérico | Linux | Não | Não | 
| [Console de depuração local](local-debug-console-component.md) | Fornece um console local que você pode usar para depurar e gerenciar o dispositivo principal do Greengrass e seus componentes. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-localdebugconsole) | Não | 
| [Gerenciador de logs](log-manager-component.md) | Coleta e carrega logs no dispositivo principal do Greengrass. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-log-manager) | Não | 
| [Componentes de Machine Learning](machine-learning-components.md) | Fornece modelos de machine learning e exemplos de código de inferência que você pode usar para realizar inferência de machine learning nos dispositivos principais do Greengrass. | Consulte [Componentes de Machine Learning](machine-learning-components.md). | Não | 
| [Adaptador de protocolo Modbus-RTU](modbus-rtu-protocol-adapter-component.md) | Pesquisa informações de dispositivos Modbus RTU locais. | Lambda | Linux | Não | Não | 
| [Emissor de telemetria de núcleo](nucleus-emitter-component.md) | Publica dados de telemetria de integridade do sistema coletados do núcleo para um tópico local ou para um tópico do MQTT do AWS IoT Core. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-telemetry-nucleus-emitter) | Não | 
| <a name="mqtt-bridge-component-table-row"></a>[Ponte MQTT](mqtt-bridge-component.md) | Retransmite mensagens MQTT entre dispositivos clientes, publicação/assinatura local do AWS IoT Greengrass e AWS IoT Core. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-mqtt-bridge) | Não | 
| <a name="mqtt-broker-moquette-component-table-row"></a>[Agente MQTT 3.1.1 (Moquette)](mqtt-broker-moquette-component.md) | Executa um agente MQTT 3.1.1 que manipula mensagens entre dispositivos clientes e o dispositivo principal. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-moquette-mqtt) | Não | 
| <a name="mqtt-broker-emqx-component-table-row"></a>[Agente MQTT 5 (EMQX)](mqtt-broker-emqx-component.md) | Executa um agente MQTT 5 que manipula mensagens entre dispositivos clientes e o dispositivo principal. | Genérico | Linux, Windows | Não | Não | 
| [Fornecedor PKCS\$111](pkcs11-provider-component.md) | Permite que os componentes do Greengrass acessem uma chave privada e um certificado que você armazena com segurança em um módulo de segurança de hardware (HSM). | Plug-in | Linux | [Sim](https://github.com/aws-greengrass/aws-greengrass-pkcs11-provider) | Não | 
| [Gerenciador de segredos](secret-manager-component.md) | Implanta segredos a partir de segredos do AWS Secrets Manager para que você possa usar com segurança credenciais, como senhas, em componentes personalizados no dispositivo principal do Greengrass. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-secret-manager) | Não | 
| [Criação Segura de Túneis](secure-tunneling-component.md) | Permite conexões de tunelamento seguras do AWS IoT que você pode usar para estabelecer comunicações direcionais com os principais dispositivos do Greengrass que estão protegidos por firewalls restritos. | Genérico | Linux | Não | Sim | 
| <a name="shadow-manager-component-table-row"></a>[Gerenciador de sombras](shadow-manager-component.md) | Permite interação com sombras no dispositivo principal. Ele gerencia o armazenamento de documentos paralelos e também a sincronização dos estados paralelos locais com o serviço AWS IoT Device Shadow. | Plug-in | Linux, Windows | [Sim](https://github.com/aws-greengrass/aws-greengrass-shadow-manager) | Não | 
| [Amazon SNS](sns-component.md) | Publica mensagens em tópicos do Amazon SNS. | Lambda | Linux | Não | Não | 
| [Gerenciador de fluxos](stream-manager-component.md) | Transmite dados de alto volume de fontes locais para a Nuvem AWS. | Genérico | Linux, Windows | Não | Sim | 
| [Encaminhador de logs do sistema](system-log-forwarder-component.md) | Faça upload dos logs do systemd-journald para a Nuvem AWS. | Genérico | Linux | [Sim](https://github.com/aws-greengrass/aws-greengrass-system-log-forwarder) | Sim | 
| [Systems Manager Agent](systems-manager-agent-component.md) | Gerencie o dispositivo principal com AWS Systems Manager, o que permite corrigir dispositivos, executar comandos e muito mais. | Genérico | Linux | [Sim](https://github.com/aws/amazon-ssm-agent/blob/mainline/packaging/greengrass/component.json) | Não | 
| [Serviço de troca de token](token-exchange-service-component.md) | Fornece credenciais da AWS que você pode usar para interagir com os serviços da AWS. | Genérico | Linux, Windows | Não | Não | 
| [Coletor IoT SiteWise OPC UA](iotsitewise-opcua-collector-component.md) | Coleta dados dos servidores OPC-UA. | Genérico | Linux, Windows | Não | Não | 
| [Simulador de fonte de SiteWise dados IoT OPC UA](iotsitewise-opcua-data-source-simulator-component.md) | Executa um servidor OPC-UA local que gera dados de amostra. | Genérico | Linux, Windows | Não | Não | 
| [Editora de IoT SiteWise](iotsitewise-publisher-component.md) | Publica dados na Nuvem AWS. | Genérico | Linux, Windows | Não | Não | 
| [Processador de IoT SiteWise](iotsitewise-processor-component.md) | Processa dados nos dispositivos principais do Greengrass. | Genérico | Linux, Windows | Não | Não | 

# Greengrass nucleus
<a name="greengrass-nucleus-component"></a>

O componente do núcleo do Greengrass (`aws.greengrass.Nucleus`) é um componente obrigatório e o requisito mínimo para executar o software AWS IoT Greengrass Core em um dispositivo. Você pode configurar esse componente para personalizar e atualizar seu software AWS IoT Greengrass Core remotamente. Implante esse componente para definir configurações como proxy, função do dispositivo e configuração do AWS IoT item em seus dispositivos principais.

**nota**  
A partir da versão 2.14.0 do Greengrass, uma versão otimizada para uso de memória do runtime do dispositivo do nucleus está disponível para dispositivos de borda restritos. Consulte [Greengrass nucleus lite](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html) para obter mais informações sobre sua configuração e uso.

**Importante**  
Quando a versão do componente do núcleo muda, ou quando você altera determinados parâmetros de configuração, o software AWS IoT Greengrass Core, que inclui o núcleo e todos os outros componentes do seu dispositivo, reinicia a aplicação das alterações.   
<a name="component-patch-update"></a>Quando você implanta um componente, AWS IoT Greengrass instala as versões mais recentes suportadas de todas as dependências desse componente. Por esse motivo, novas versões AWS de patch dos componentes públicos fornecidos podem ser implantadas automaticamente em seus dispositivos principais se você adicionar novos dispositivos a um grupo de coisas ou atualizar a implantação que visa esses dispositivos. Algumas atualizações automáticas, como a atualização do núcleo, podem fazer com que seus dispositivos sejam reiniciados inesperadamente.   
<a name="component-version-pinning"></a>Para evitar atualizações não intencionais para um componente que está sendo executado no dispositivo, recomendamos que você inclua diretamente sua versão preferida desse componente ao [criar uma implantação](create-deployments.md). Para obter mais informações sobre o comportamento de atualização AWS IoT Greengrass do software Core, consulte[Atualizar o software de núcleo do AWS IoT Greengrass (OTA)](update-greengrass-core-v2.md).

**Topics**
+ [Versões](#greengrass-nucleus-component-versions)
+ [Requisitos do dispositivo](#greengrass-v2-requirements)
+ [Plataformas compatíveis](#greengrass-v2-supported-platforms)
+ [Sistema operacional](#greengrass-nucleus-component-os-support)
+ [Requisitos](#greengrass-nucleus-component-requirements)
+ [Dependências](#greengrass-nucleus-component-dependencies)
+ [Download e instalação](#greengrass-nucleus-component-install)
+ [Configuração](#greengrass-nucleus-component-configuration)
+ [Arquivo de log local](#greengrass-nucleus-component-log-file)
+ [Changelog](#greengrass-nucleus-component-changelog)

## Versões
<a name="greengrass-nucleus-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2,16.x
+ 2,15x
+ 2,14.x
+ 2.13.x
+ 2.12.x
+ 2.11.x
+ 2.10.x
+ 2.9.x
+ 2.8.x
+ 2.7.x
+ 2.6.x
+ 2.5.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Requisitos do dispositivo
<a name="greengrass-v2-requirements"></a>

**nota**  
Você pode usar AWS IoT Device Tester for AWS IoT Greengrass para verificar se seu dispositivo pode executar o software AWS IoT Greengrass Core e se comunicar com Nuvem AWS o. Para obter mais informações, consulte [Como usar o AWS IoT Device Tester para o AWS IoT Greengrass V2](device-tester-for-greengrass-ug.md).

------
#### [ Linux ]
+ <a name="requirement-supported-region"></a>O uso de um [Região da AWS](https://en.wikipedia.org/wiki/Amazon_Web_Services#Availability_and_topology)que suporte AWS IoT Greengrass V2. Para obter a lista de regiões compatíveis, consulte [Endpoints e cotas do AWS IoT Greengrass V2](https://docs.aws.amazon.com/general/latest/gr/greengrassv2.html) no *Referência geral da AWS*.
+ Espaço mínimo de 256 MB em disco disponível para o software AWS IoT Greengrass Core. Esse requisito não inclui os componentes implantados no dispositivo principal.
+ Mínimo de 96 MB de RAM alocados para o software AWS IoT Greengrass Core. Esse requisito não inclui os componentes executados no dispositivo principal. Para obter mais informações, consulte [Controlar a alocação de memória com opções de JVM](configure-greengrass-core-v2.md#jvm-tuning).
+ Ambiente de Execução Java (JRE) versão 8 ou superior. O Java deve estar disponível na variável de ambiente [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) no dispositivo. Para usar o Java para desenvolver componentes personalizados, é necessário instalar um Java Development Kit (JDK). Recomendamos que você use as versões de suporte de longo prazo do [Amazon Corretto](https://aws.amazon.com/corretto/) ou do [OpenJDK](https://openjdk.java.net/). A versão 8 ou superior é obrigatória.
+ [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.25 ou superior.
+ Você deve executar o software AWS IoT Greengrass Core como usuário root. Por exemplo, use o `sudo`.
+ O usuário root que executa o software AWS IoT Greengrass Core, por exemplo`root`, deve ter permissão para executar `sudo` com qualquer usuário e qualquer grupo. O arquivo `/etc/sudoers` deve dar permissão a esse usuário para executar o `sudo` como outros grupos. A permissão para o usuário em `/etc/sudoers` deve ser semelhante à do exemplo a seguir.

  ```
  root    ALL=(ALL:ALL) ALL
  ```
+ O dispositivo principal deve conseguir fazer solicitações de saída para um conjunto de endpoints e portas. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).
+ É necessário montar o diretório `/tmp` com as permissões `exec`.
+ Todos os seguintes comandos de shell:
  + `ps -ax -o pid,ppid`
  + `sudo`
  + `sh`
  + `kill`
  + `cp`
  + `chmod`
  + `rm`
  + `ln`
  + `echo`
  + `exit`
  + `id`
  + `uname`
  + `grep`
+ Seu dispositivo também pode exigir os seguintes comandos de shell opcionais:
  + (Opcional) `systemctl`. Esse comando é usado para configurar o software de núcleo do AWS IoT Greengrass como um serviço do sistema.
  + (Opcional) `useradd`, `groupadd` e `usermod`. Esses comandos são usados para configurar o usuário `ggc_user` e o grupo `ggc_group` do sistema.
  + (Opcional) `mkfifo`. Esse comando é usado para executar funções do Lambda como componentes.
+ Para configurar os limites de recursos do sistema para processos de componentes, o dispositivo deve executar o kernel do Linux versão 2.6.24 ou mais recente.
+ Para executar as funções do Lambda, o dispositivo deve atender a requisitos adicionais. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).

------
#### [ Windows ]
+ <a name="requirement-supported-region"></a>O uso de um [Região da AWS](https://en.wikipedia.org/wiki/Amazon_Web_Services#Availability_and_topology)que suporte AWS IoT Greengrass V2. Para obter a lista de regiões compatíveis, consulte [Endpoints e cotas do AWS IoT Greengrass V2](https://docs.aws.amazon.com/general/latest/gr/greengrassv2.html) no *Referência geral da AWS*.
+ Espaço mínimo de 256 MB em disco disponível para o software AWS IoT Greengrass Core. Esse requisito não inclui os componentes implantados no dispositivo principal.
+ Mínimo de 160 MB de RAM alocados para o software AWS IoT Greengrass Core. Esse requisito não inclui os componentes executados no dispositivo principal. Para obter mais informações, consulte [Controlar a alocação de memória com opções de JVM](configure-greengrass-core-v2.md#jvm-tuning).
+ Ambiente de Execução Java (JRE) versão 8 ou superior. O Java deve estar disponível na variável de sistema [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) no dispositivo. Para usar o Java para desenvolver componentes personalizados, é necessário instalar um Java Development Kit (JDK). Recomendamos que você use as versões de suporte de longo prazo do [Amazon Corretto](https://aws.amazon.com/corretto/) ou do [OpenJDK](https://openjdk.java.net/). A versão 8 ou superior é obrigatória. 
**nota**  
Para usar a versão 2.5.0 do [Greengrass nucleus](#greengrass-nucleus-component), é necessário usar uma versão de 64 bits do Ambiente de Execução Java (JRE). A versão 2.5.1 do Greengrass nucleus oferece suporte a 32 bits e 64 bits. JREs
+ O usuário que instala o software AWS IoT Greengrass Core deve ser um administrador.
+ Você deve instalar o software AWS IoT Greengrass Core como um serviço do sistema. Especifique `--setup-system-service true` quando você instalar o software.
+ Cada usuário que executa processos de componentes deve existir na LocalSystem conta, e o nome e a senha do usuário devem estar na instância do Credential Manager da LocalSystem conta. Você pode configurar esse usuário seguindo as instruções para [instalar o software AWS IoT Greengrass Core](install-greengrass-core-v2.md).
+ O dispositivo principal deve conseguir fazer solicitações de saída para um conjunto de endpoints e portas. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).

------

## Plataformas compatíveis
<a name="greengrass-v2-supported-platforms"></a>

AWS IoT Greengrass suporta oficialmente dispositivos que executam as seguintes plataformas. Dispositivos com plataformas não incluídas nessa lista podem funcionar, mas AWS IoT Greengrass testes somente nessas plataformas especificadas.

------
#### [ Linux ]

Arquiteturas:
+ Armv7l
+ Armv (8) AArch64
+ x86\$164

------
#### [ Windows ]

Arquiteturas:
+ x86\$164

Versões:
+ Windows 10
+ Windows 11
+ Windows Server 2019
+ Windows Server 2022

**nota**  
No momento, alguns AWS IoT Greengrass recursos não são compatíveis com dispositivos Windows. Para obter mais informações, consulte [Compatibilidade de recursos do Greengrass](operating-system-feature-support-matrix.md) e [Considerações sobre recursos](#greengrass-v2-windows-feature-considerations).

------

### Considerações sobre recursos
<a name="greengrass-v2-windows-feature-considerations"></a>

No momento, alguns AWS IoT Greengrass recursos não são compatíveis com dispositivos Windows. Avalie as diferenças dos recursos para confirmar se um dispositivo Windows atende aos seus requisitos. Para obter mais informações, consulte [Compatibilidade de recursos do Greengrass](operating-system-feature-support-matrix.md).

[Para criar um sistema operacional personalizado baseado em Linux, você pode usar a BitBake receita AWS IoT Greengrass do projeto. `meta-aws`](https://github.com/aws/meta-aws/tree/master/recipes-iot) O `meta-aws` projeto fornece receitas que você pode usar para criar recursos de software de AWS ponta em sistemas [Linux embarcados](https://elinux.org/) que são construídos com [OpenEmbedded](https://www.openembedded.org/wiki/Main_Page)as estruturas de construção do Projeto Yocto. O [Yocto Project](https://www.yoctoproject.org/) é um projeto de colaboração de código aberto que ajuda você a construir sistemas personalizados baseados em Linux para aplicações incorporadas, seja qual for a arquitetura do hardware. A BitBake receita para AWS IoT Greengrass instalar, configurar e executar automaticamente o software AWS IoT Greengrass Core em seu dispositivo.

As plataformas Linux também podem ser executadas AWS IoT Greengrass em um contêiner Docker. Para obter mais informações, consulte [Execute AWS IoT Greengrass o software Core em um contêiner Docker](run-greengrass-docker.md). 

## Sistema operacional
<a name="greengrass-nucleus-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

Para obter mais informações, consulte [Plataformas compatíveis](#greengrass-v2-supported-platforms).

## Requisitos
<a name="greengrass-nucleus-component-requirements"></a>

Os dispositivos devem atender a certos requisitos para instalar e executar o núcleo Greengrass e o AWS IoT Greengrass software Core. Para obter mais informações, consulte [Requisitos do dispositivo](#greengrass-v2-requirements).

O componente do Greengrass nucleus é compatível para ser executado em uma VPC. Para implantá-lo em uma VPC, o procedimento a seguir é necessário.
+ O componente do núcleo do Greengrass deve ter conectividade com AWS IoT data, AWS IoT Credentials e Amazon S3.

## Dependências
<a name="greengrass-nucleus-component-dependencies"></a>

O Greengrass nucleus não inclui nenhuma dependência de componente. No entanto, vários componentes fornecidos pela AWS incluem o núcleo como uma dependência. Para obter mais informações, consulte [Componentes fornecidos pela AWS](public-components.md).

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Download e instalação
<a name="greengrass-nucleus-component-install"></a>

É possível baixar um instalador que configura o componente do Greengrass nucleus no dispositivo. Esse instalador configura o dispositivo como um dispositivo principal do Greengrass. Há dois tipos de instalações que você pode realizar: uma instalação rápida que cria AWS os recursos necessários para você ou uma instalação manual em que você mesmo cria os AWS recursos. Para obter mais informações, consulte [Instalar o software do AWS IoT Greengrass Core](install-greengrass-core-v2.md).

Também é possível seguir um tutorial para instalar o Greengrass nucleus e explorar o desenvolvimento de componentes do Greengrass. Para obter mais informações, consulte [Tutorial: Conceitos básicos do AWS IoT Greengrass V2](getting-started.md).

## Configuração
<a name="greengrass-nucleus-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente. Alguns parâmetros exigem que o software AWS IoT Greengrass Core seja reiniciado para entrar em vigor. Para mais informações sobre essa configuração, consulte [Configurar o software AWS IoT Greengrass principal](configure-greengrass-core-v2.md).

`iotRoleAlias`  
<a name="nucleus-component-configuration-iot-role-alias"></a>O alias de AWS IoT função que aponta para uma função do IAM de troca de tokens. O provedor de AWS IoT credenciais assume essa função para permitir que o dispositivo principal do Greengrass interaja com os serviços. AWS Para obter mais informações, consulte [Autorize os dispositivos principais a interagir com os serviços AWS](device-service-role.md).  
Quando você executa o software AWS IoT Greengrass Core com a `--provision true` opção, o software provisiona um alias de função e define seu valor no componente do núcleo.

  `interpolateComponentConfiguration`   
(Opcional) É possível habilitar o Greengrass nucleus para interpolar [variáveis de fórmulas de componentes](component-recipe-reference.md#recipe-variables) em configurações de componentes e [mesclar atualizações de configuração](update-component-configurations.md#merge-configuration-update-recipe-variables). Recomendamos que você defina essa opção para `true` para que o dispositivo principal possa executar componentes do Greengrass que usam variáveis de fórmula nas configurações.  
Esse recurso está disponível para a versão v2.6.0 e posterior do componente.  
Padrão: `false`

`networkProxy`  
(Opcional) O proxy de rede para ser usado em todas as conexões. Para obter mais informações, consulte [Conectar-se à porta 443 ou por meio de um proxy de rede](configure-greengrass-core-v2.md#configure-alpn-network-proxy).  
<a name="nucleus-component-parameter-restart-para"></a>Quando você implanta uma alteração nesse parâmetro de configuração, o software AWS IoT Greengrass principal é reiniciado para que a alteração entre em vigor.
Esse objeto contém as informações a seguir:    
`noProxyAddresses`  
(Opcional) Uma lista separada por vírgulas de endereços IP ou nomes de host isentos do proxy.  
`proxy`  
O proxy para se conectar. Esse objeto contém as informações a seguir:    
`url`  
O URL do servidor de proxy, no formato `scheme://userinfo@host:port`.  <a name="nucleus-component-configuration-proxy-url-segments"></a>
+ `scheme`: o esquema, que deve ser `http` ou `https`.
**Importante**  
<a name="https-proxy-greengrass-nucleus-requirement"></a>Os dispositivos do Greengrass nucleus devem executar o [Greengrass nucleus](#greengrass-nucleus-component) v2.5.0 ou posterior para usar proxies HTTPS.  
Se você configurar um proxy HTTPS, deverá adicionar o certificado de CA do servidor proxy ao certificado de CA raiz da Amazon do dispositivo principal. Para obter mais informações, consulte [Ative o dispositivo principal para confiar em um proxy HTTPS](configure-greengrass-core-v2.md#https-proxy-certificate-trust).
+ `userinfo`: (opcional) as informações de nome de usuário e senha. Se você especificar essas informações no `url`, o dispositivo principal do Greengrass ignorará os campos `username` e `password`.
+ `host`: o nome do host ou endereço IP do servidor de proxy.
+ `port`: (opcional) o número da porta. Se você não especifica a porta, o dispositivo principal do Greengrass usa os seguintes valores padrão:
  + `http`: 80
  + `https`: 443  
`username`  
(Opcional) O nome de usuário que autentica o servidor de proxy.  
`password`  
(Opcional) A senha que autentica o servidor de proxy.

`mqtt`  
(Opcional) A configuração MQTT para o dispositivo principal do Greengrass. Para obter mais informações, consulte [Conectar-se à porta 443 ou por meio de um proxy de rede](configure-greengrass-core-v2.md#configure-alpn-network-proxy).  
<a name="nucleus-component-parameter-restart-para"></a>Quando você implanta uma alteração nesse parâmetro de configuração, o software AWS IoT Greengrass principal é reiniciado para que a alteração entre em vigor.
Esse objeto contém as informações a seguir:    
`port`  
(Opcional) A porta que deve ser usada para conexões MQTT.  
Padrão: `8883`  
`keepAliveTimeoutMs`  
(Opcional) A quantidade de tempo em milissegundos entre cada mensagem `PING` que o cliente envia para manter a conexão MQTT ativa. Este valor deve ser maior que `pingTimeoutMs`.  
Padrão: `60000` (60 segundos)  
`pingTimeoutMs`  
(Opcional) A quantidade de tempo em milissegundos que o cliente espera para receber uma mensagem `PINGACK` do servidor. Se a espera exceder o tempo limite, o dispositivo principal fecha e reabre a conexão MQTT. Esse valor deve ser menor que `keepAliveTimeoutMs`.  
Padrão: `30000` (30 segundos)  
`operationTimeoutMs`  
(Opcional) A quantidade de tempo em milissegundos que o cliente espera para que as operações do MQTT (como `CONNECT` ou `PUBLISH`) sejam concluídas. Essa opção não se aplica ao `PING` do MQTT nem a mensagens de manutenção.  
Padrão: `30000` (30 segundos)  
`maxInFlightPublishes`  
(Opcional) O número máximo de mensagens MQTT1 não confirmadas que podem estar em andamento ao mesmo tempo.  
Este atributo está disponível para a versão v2.1.0 e posterior deste componente.  
Padrão: `5`  
Intervalo válido: valor máximo de 100  
`maxMessageSizeInBytes`  
(Opcional) O tamanho máximo de uma mensagem MQTT. Se uma mensagem excede esse tamanho, o Greengrass nucleus a rejeita com um erro.  
Este atributo está disponível para a versão v2.1.0 e posterior deste componente.  
Padrão: `131072` (128 KB)  
Intervalo válido: valor máximo `2621440` (2.5 MB)  
`maxPublishRetry`  
(Opcional) O número máximo de tentativas de enviar uma mensagem que não foi publicada. É possível especificar `-1` para tentar ilimitadas vezes.  
Este atributo está disponível para a versão v2.1.0 e posterior deste componente.  
Padrão: `100`  
`spooler`  
(Opcional) A configuração do spooler MQTT para o dispositivo do Greengrass nucleus. Esse objeto contém as informações a seguir:    
`storageType`  
O tipo de armazenamento usado para armazenar mensagens. Se o `storageType` estiver definido como `Disk`, o `pluginName` pode ser configurado. É possível especificar `Memory` ou `Disk`.  
Este atributo está disponível para a versão v2.11.0 e posterior do [componente de núcleo do Greengrass](#greengrass-nucleus-component).  
Se o `storageType` do spooler MQTT estiver definido como `Disk` e você quiser fazer o downgrade do Greengrass nucleus da versão 2.11.x para uma versão anterior, será preciso alterar a configuração novamente para `Memory`. A única configuração do `storageType` compatível com as versões 2.10.x e anteriores do Greengrass nucleus é a `Memory`. Não seguir essas orientações pode resultar em erros do spooler. Isso faria com que o dispositivo principal do Greengrass não conseguisse enviar mensagens MQTT para a Nuvem AWS.
Padrão: `Memory`  
`pluginName`  
(Opcional) O nome do componente do plug-in. Esse componente só será usado se o `storageType` estiver definido como `Disk`. Essa opção é padronizada para `aws.greengrass.DiskSpooler` e usará o[Spooler de disco](disk-spooler-component.md) fornecido pelo Greengrass.  
Este atributo está disponível para a versão v2.11.0 e posterior do [componente de núcleo do Greengrass](#greengrass-nucleus-component).  
Padrão: `"aws.greengrass.DiskSpooler"`  
`maxSizeInBytes`  
(Opcional) O tamanho máximo do cache em que o dispositivo do núcleo armazena mensagens MQTT não processadas na memória. Se o cache está cheio, novas mensagens são rejeitadas.  
Padrão: `2621440` (2.5 MB)  
`keepQos0WhenOffline`  
(Opcional) É possível transferir mensagens QoS 0 do MQTT que o dispositivo principal recebe enquanto está offline. Se você definir essa opção como `true`, o dispositivo principal armazenará mensagens QoS 0 que ele não pode enviar enquanto estiver offline. Se você definir essa opção como `false`, o dispositivo principal descartará essas mensagens. O dispositivo principal sempre armazena mensagens QoS 1, a menos que a transferência esteja cheia.  
Padrão: `false`  
`version`  
(Opcional) A versão do MQTT. É possível especificar `mqtt3` ou `mqtt5`.  
Esse recurso está disponível para a versão 2.10.0 e posterior do [componente de Greengrass nucleus](#greengrass-nucleus-component).  
Padrão: `mqtt5`  
`receiveMaximum`  
(Opcional) O número máximo de pacotes QoS1 não reconhecidos que o operador pode enviar.  
Esse atributo está disponível para a versão 2.10.0 e posterior do [componente de núcleo do Greengrass](#greengrass-nucleus-component).  
Padrão: `100`  
`sessionExpirySeconds`  
(Opcional) A quantidade de tempo em segundos que pode ser solicitada para que uma sessão dure a partir do IoT Core. O padrão é o tempo máximo suportado pelo AWS IoT Core.  
Esse recurso está disponível para a versão 2.10.0 e posterior do [componente de Greengrass nucleus](#greengrass-nucleus-component).  
Padrão: `604800 (7 days)`  
`minimumReconnectDelaySeconds`  
(Opcional) Uma opção para o comportamento de reconexão. O tempo mínimo em segundos para o MQTT reconectar.  
Esse atributo está disponível para a versão 2.10.0 e posterior do [componente de núcleo do Greengrass](#greengrass-nucleus-component).  
Padrão: `1`  
`maximumReconnectDelaySeconds`  
(Opcional) Uma opção para o comportamento de reconexão. O tempo máximo em segundos para o MQTT reconectar.  
Esse atributo está disponível para a versão 2.10.0 e posterior do [componente de núcleo do Greengrass](#greengrass-nucleus-component).  
Padrão: `120`  
`minimumConnectedTimeBeforeRetryResetSeconds`  
(Opcional) Uma opção para o comportamento de reconexão. O tempo, em segundos, durante o qual a conexão deve estar ativa antes que o atraso na tentativa seja redefinido ao mínimo.  
Esse atributo está disponível para a versão 2.10.0 e posterior do [componente de núcleo do Greengrass](#greengrass-nucleus-component).  
Padrão: `30`

  `jvmOptions`  
(Opcional) As opções de JVM a serem usadas para executar o software AWS IoT Greengrass Core. Para obter informações sobre as opções recomendadas de JVM para executar o software AWS IoT Greengrass Core, consulte. [Controlar a alocação de memória com opções de JVM](configure-greengrass-core-v2.md#jvm-tuning)  
<a name="nucleus-component-parameter-restart-para"></a>Quando você implanta uma alteração nesse parâmetro de configuração, o software AWS IoT Greengrass principal é reiniciado para que a alteração entre em vigor.

`iotDataEndpoint`  
<a name="nucleus-component-configuration-iot-data-endpoint"></a>O endpoint de AWS IoT dados para seu. Conta da AWS  
<a name="nucleus-component-set-iot-endpoints"></a>Quando você executa o software AWS IoT Greengrass Core com a `--provision true` opção, o software obtém seus endpoints de dados e credenciais AWS IoT e os define no componente nuclear.

`iotCredEndpoint`  
<a name="nucleus-component-configuration-iot-cred-endpoint"></a>O endpoint AWS IoT de credenciais para seu. Conta da AWS  
<a name="nucleus-component-set-iot-endpoints"></a>Quando você executa o software AWS IoT Greengrass Core com a `--provision true` opção, o software obtém seus endpoints de dados e credenciais AWS IoT e os define no componente nuclear.

`greengrassDataPlaneEndpoint`  
Este atributo está disponível para a versão v2.7.0 e posterior deste componente.  
Para obter mais informações, consulte [Usar um certificado de dispositivo assinado por uma CA privada](configure-greengrass-core-v2.md#configure-nucleus-private-ca).

`greengrassDataPlanePort`  
Esse atributo está disponível na versão 2.0.4 e posteriores.  
(Opcional) A porta usada para conexões de plano de dados. Para obter mais informações, consulte [Conectar-se à porta 443 ou por meio de um proxy de rede](configure-greengrass-core-v2.md#configure-alpn-network-proxy).  
Você precisa especificar uma porta na qual o dispositivo possa fazer conexões de saída. Se você especificar uma porta bloqueada, o dispositivo não conseguirá se conectar AWS IoT Greengrass para receber implantações.
Escolha uma das seguintes opções:  
+ `443`
+ `8443`
Padrão: `8443`

`awsRegion`  
O Região da AWS para usar.

`runWithDefault`  
O usuário do sistema usado para executar componentes.  
<a name="nucleus-component-parameter-restart-para"></a>Quando você implanta uma alteração nesse parâmetro de configuração, o software AWS IoT Greengrass principal é reiniciado para que a alteração entre em vigor.
Esse objeto contém as informações a seguir:    
`posixUser`  
O nome ou ID do usuário do sistema e, opcionalmente, do grupo do sistema que o dispositivo do núcleo usa para executar componentes genéricos e do Lambda. Especifique o usuário e o grupo separando-os por dois pontos (`:`), no seguinte formato: `user:group`. O grupo é opcional. Se você não especificar um grupo, o software AWS IoT Greengrass Core usará o grupo primário para o usuário. Por exemplo, é possível especificar `ggc_user` ou `ggc_user:ggc_group`. Para obter mais informações, consulte [Configurar o usuário que executa os componentes](configure-greengrass-core-v2.md#configure-component-user).  
Quando você executa o instalador do software AWS IoT Greengrass Core com a `--component-default-user ggc_user:ggc_group` opção, o software define esse parâmetro no componente do núcleo.  
`windowsUser`  
Este atributo está disponível para a versão v2.5.0 e posterior deste componente.  
O nome do usuário do Windows a ser usado para executar esse componente nos dispositivos principais do Windows. O usuário deve existir em cada dispositivo principal do Windows, e seu nome e senha devem ser armazenados na instância do Gerenciador de Credenciais da LocalSystem conta. Para obter mais informações, consulte [Configurar o usuário que executa os componentes](configure-greengrass-core-v2.md#configure-component-user).  
Quando você executa o instalador do software AWS IoT Greengrass Core com a `--component-default-user ggc_user` opção, o software define esse parâmetro no componente do núcleo.  
`systemResourceLimits`  
Esse atributo está disponível na versão 2.4.0 e posteriores deste componente. O AWS IoT Greengrass atualmente não é compatível com esse recurso nos dispositivos principais do Windows.   
Por padrão, os limites de recursos do sistema devem ser aplicados a processos de componentes do Lambda genéricos e não conteinerizados. É possível substituir os limites de recursos do sistema para componentes individuais ao criar uma implantação. Para obter mais informações, consulte [Configurar limites de recursos do sistema para componentes](configure-greengrass-core-v2.md#configure-component-system-resource-limits).  
Esse objeto contém as informações a seguir:    
`cpus`  
 <a name="system-resource-limits-cpu-definition-each"></a>A quantidade máxima de tempo da CPU que os processos de um componente podem usar no dispositivo principal. O tempo total da CPU de um dispositivo essencial é equivalente ao número de núcleos da CPU do dispositivo. Por exemplo, em um dispositivo principal com quatro núcleos da CPU, você pode definir esse valor como `2` a fim de limitar os processos do componente para 50% de uso em cada núcleo da CPU. Em um dispositivo com um núcleo da CPU, você pode definir esse valor como `0.25` a fim de limitar os processos do componente para 25% de uso da CPU. Se você definir esse valor como um número maior que o número de núcleos de CPU, o software AWS IoT Greengrass Core não limitará o uso da CPU dos componentes.   
`memory`  
 <a name="system-resource-limits-memory-definition-each"></a>A quantidade máxima de RAM, expressa em kilobytes, que os processos de um componente podem usar no dispositivo principal. 

 `s3EndpointType`   
(Opcional) O tipo de endpoint do S3. Esse parâmetro só terá efeito para a região Leste dos EUA, N. da Virgínia (`us-east-1`). A configuração desse parâmetro em qualquer outra região será ignorada. Escolha uma das seguintes opções:  
+ `REGIONAL`: o cliente do S3 e o URL pré-assinado usam o endpoint regional.
+ `GLOBAL`: o cliente do S3 e o URL pré-assinado usam o endpoint legado.
+ `DUALSTACK`: o URL pré-assinado do S3 usa o endpoint de pilha dupla.
Padrão: `GLOBAL`

 `fipsMode`   
(Opcional) Faz com que o Greengrass use endpoints do FIPS. Para mais informações sobre como habilitar endpoints do FIPS, consulte [endpoints do FIPS](FIPS.html).  
Escolha uma das seguintes opções:  
+ `true` Quando definido como verdadeiro, os endpoints usarão o endpoint do FIPS.
+ `false` Quando definido como falso, os endpoints usarão o endpoint do FIPS.
Padrão: `false`

`logging`  
(Opcional) A configuração do registro em log do dispositivo principal. Para mais informações sobre como configurar e usar registros em log do Greengrass, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).  
Esse objeto contém as informações a seguir:    
  `level`   
(Opcional) O nível mínimo de mensagens de log a serem enviadas.  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
  `format`   
(Opcional) O formato de dados dos logs. Escolha uma das seguintes opções:  
+ `TEXT`: escolha essa opção se quiser visualizar os logs em formato de texto.
+ `JSON`: escolha essa opção se quiser visualizar os logs com o [comando de logs da CLI do Greengrass](gg-cli-logs.md) ou interagir com os logs de forma programática.
Padrão: `TEXT`  
`outputType`  
(Opcional) O tipo de saída para logs. Escolha uma das seguintes opções:  
+ `FILE`— O software AWS IoT Greengrass Core envia registros para arquivos no diretório que você especifica. `outputDirectory`
+ `CONSOLE`— O software AWS IoT Greengrass Core imprime registros em`stdout`. Escolha essa opção para ver os logs à medida que o dispositivo principal os imprime.
Padrão: `FILE`  
  `fileSizeKB`   
(Opcional) O tamanho máximo de cada arquivo de log (em kilobytes). Depois que um arquivo de log excede esse tamanho máximo de arquivo, o software AWS IoT Greengrass Core cria um novo arquivo de log.  
<a name="nucleus-component-logging-parameter-file-only"></a>Esse parâmetro só se aplica quando você especifica `FILE` para `outputType`.  
Padrão: `1024`  
  `totalLogsSizeKB`   
(Opcional) O tamanho total máximo dos arquivos de log (em kilobytes) para cada componente, incluindo o Greengrass nucleus. Os arquivos de log do Greengrass nucleus também incluem logs de [componentes de plug-ins](develop-greengrass-components.md#component-types). Depois que o tamanho total dos arquivos de log de um componente excede esse tamanho máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.  
Esse parâmetro é equivalente ao parâmetro de [limite de espaço em disco](log-manager-component.md#log-manager-component-configuration) (`diskSpaceLimit`) do [componente gerenciador de log](log-manager-component.md), que você pode especificar para o Greengrass nucleus (sistema) e cada componente. O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log para o núcleo do Greengrass e cada componente.  
<a name="nucleus-component-logging-parameter-file-only"></a>Esse parâmetro só se aplica quando você especifica `FILE` para `outputType`.  
Padrão: `10240`  
  `outputDirectory`   
(Opcional) O diretório de saída para os arquivos de log.  
<a name="nucleus-component-logging-parameter-file-only"></a>Esse parâmetro só se aplica quando você especifica `FILE` para `outputType`.  
Padrão:`/greengrass/v2/logs`, em que `/greengrass/v2` é a pasta raiz do AWS IoT Greengrass .

  `fleetstatus`   
Este parâmetro está disponível para a versão v2.1.0 e posterior deste componente.  
(Opcional) A configuração do status da frota do dispositivo principal.  
Esse objeto contém as informações a seguir:    
`periodicStatusPublishIntervalSeconds`  
(Opcional) A quantidade de tempo (em segundos) entre o qual o dispositivo principal publica o status do dispositivo para a Nuvem AWS.  
Mínimo: `86400` (24 horas)  
Padrão: `86400` (24 horas)

  `telemetry`   
(Opcional) A configuração de telemetria de integridade do sistema para o dispositivo principal. Para mais informações sobre métricas de telemetria e como agir com base nos dados de telemetria, consulte [Colete dados de telemetria de integridade do sistema a partir dos dispositivos principais AWS IoT Greengrass](telemetry.md).  
Esse objeto contém as informações a seguir:    
`enabled`  
(Opcional) É possível habilitar ou desabilitar a telemetria.  
Padrão: `true`  
`periodicAggregateMetricsIntervalSeconds`  
(Opcional) O intervalo (em segundos) durante o qual o dispositivo principal agrega métricas.  
Se você definir esse valor abaixo do mínimo compatível, o núcleo usará o valor padrão em vez disso.  
Mínimo: `3600`  
Padrão: `3600`  
`periodicPublishMetricsIntervalSeconds`  
(Opcional) o tempo (em segundos) durante o qual o dispositivo principal publica métricas de telemetria para a Nuvem AWS.  
Se você definir esse valor abaixo do mínimo compatível, o núcleo usará o valor padrão em vez disso.  
Mínimo: `86400`  
Padrão: `86400`

`deploymentPollingFrequencySeconds`  
(Opcional) O período em segundos para pesquisar as notificações de implantação.  
Padrão: `15`

`componentStoreMaxSizeBytes`  
(Opcional) O tamanho máximo em disco do armazenamento de componentes, que inclui fórmulas e artefatos de componentes.  
Padrão: `10000000000` (10 GB)

  `platformOverride`   
(Opcional) Um dicionário de atributos que identifica a plataforma do dispositivo principal. Use isso para definir atributos de plataforma personalizados que as fórmulas de componentes podem usar para identificar o ciclo de vida e os artefatos corretos do componente. Por exemplo, é possível definir um atributo de capacidade de hardware para implantar somente o conjunto mínimo de artefatos para execução de um componente. Para mais informações, consulte o [parâmetro da plataforma de manifesto](component-recipe-reference.md#component-platform-definition) na fórmula do componente.  
Você também pode usar esse parâmetro para substituir os atributos da plataforma `os` e `architecture` do dispositivo principal.

  `httpClient`   
Este parâmetro está disponível para a versão v2.5.0 e posterior deste componente.  
(Opcional) A configuração do cliente HTTP para o dispositivo principal. Essas opções de configuração se aplicam a todas as solicitações HTTP feitas pelo componente. Se um dispositivo principal for executado em uma rede mais lenta, será possível aumentar essas durações de tempo limite para evitar que as solicitações HTTP atinjam o limite.  
Esse objeto contém as informações a seguir:    
`connectionTimeoutMs`  
(Opcional) o tempo (em milissegundos) necessário para aguardar a abertura de uma conexão antes que o tempo da solicitação de conexão expire.  
Padrão: `2000` (2 segundos)  
`socketTimeoutMs`  
(Opcional) A quantidade de tempo (em milissegundos) de espera para que os dados sejam transferidos por uma conexão aberta antes que o tempo limite da conexão seja atingido.  
Padrão: `30000` (30 segundos)

  `deploymentConfigurationTimeSource`   
Esse parâmetro está disponível na versão 2.15.0 e posterior desse componente.  
(Opcional) O carimbo de data/hora a ser usado ao processar uma implantação. O padrão é o `deploymentCreationTime`.  
Este objeto contém os valores a seguir:    
`deploymentCreationTime`  
O valor padrão de `deploymentConfigurationTimeSource`. O dispositivo usa o carimbo de data/hora de criação da implantação para resolver conflitos de chave de configuração durante o processamento. Quando esse comportamento é selecionado, a configuração do dispositivo local mantida pelo nucleus pode ter um registro de data e hora maior do que o da implantação de entrada e rejeita as alterações de configuração recebidas que agora são consideradas desatualizadas.  
`deploymentProcessingTime`  
O dispositivo usa seu carimbo de data/hora local para resolver conflitos de chave de configuração durante o processamento da implantação. Quando processado, o dispositivo atualiza as configurações com base no carimbo de data/hora de processamento em vez do carimbo de data/hora de criação da implantação. Esse comportamento pressupõe que o relógio do dispositivo esteja calibrado corretamente.  
Defina essa configuração do nucleus na imagem ou instalação inicial do dispositivo, em vez de por meio de uma implantação, quando quiser que novos dispositivos usem esse comportamento na primeira conexão. Use a opção [https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-installer.html](https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-installer.html) do instalador do nucleus classic para essa configuração.  
Essa configuração inicial é essencial porque os dispositivos processam várias implantações em ordem arbitrária. Sem a configuração inicial adequada, um dispositivo pode processar implantações usando o comportamento padrão `deploymentCreationTime` antes de receber a implantação que define a configuração do nucleus como `deploymentProcessingTime`.

**Example Exemplo: atualização da mesclagem de configuração**  

```
{
  "iotRoleAlias": "GreengrassCoreTokenExchangeRoleAlias",
  "networkProxy": {
    "noProxyAddresses": "http://192.168.0.1,www.example.com",
    "proxy": {
      "url": "http://my-proxy-server:1100",
      "username": "Mary_Major",
      "password": "pass@word1357"
    }
  },
  "mqtt": {
    "port": 443
  },
  "greengrassDataPlanePort": 443,
  "jvmOptions": "-Xmx64m",
  "runWithDefault": {
    "posixUser": "ggc_user:ggc_group"
  }
}
```

## Arquivo de log local
<a name="greengrass-nucleus-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="greengrass-nucleus-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.16.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.16.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.15.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.15.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.3  |  Correções de bugs e melhorias [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.2  |  Correções de bugs e melhorias [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.1  |  Correções de bugs e melhorias [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.14.0  |  Esta versão não está mais disponível. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.13.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.3  |   Esta versão não está mais disponível. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  Correções de bugs e melhorias [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.12.0  |  <a name="changelog-nucleus-2.12.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.3  |  <a name="changelog-nucleus-2.11.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.2  |  <a name="changelog-nucleus-2.11.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.1  |  <a name="changelog-nucleus-2.11.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.11.0  |  <a name="changelog-nucleus-2.11.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.3  |  <a name="changelog-nucleus-2.10.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.2  |  <a name="changelog-nucleus-2.10.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.1  |  <a name="changelog-nucleus-2.10.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.10.0  |  <a name="changelog-nucleus-2.10.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.6  |  <a name="changelog-nucleus-2.9.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.5  |  <a name="changelog-nucleus-2.9.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.4  |  <a name="changelog-nucleus-2.9.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.3  |  <a name="changelog-nucleus-2.9.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.2  |  <a name="changelog-nucleus-2.9.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.1  |  <a name="changelog-nucleus-2.9.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.9.0  |  <a name="changelog-nucleus-2.9.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.8.1  |  <a name="changelog-nucleus-2.8.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.8.0  |  <a name="changelog-nucleus-2.8.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.7.0  |  <a name="changelog-nucleus-2.7.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.6.0  |  <a name="changelog-nucleus-2.6.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.6  |  <a name="changelog-nucleus-2.5.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.5  |  <a name="changelog-nucleus-2.5.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.4  |  <a name="changelog-nucleus-2.5.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.3  |  <a name="changelog-nucleus-2.5.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.2  |  <a name="changelog-nucleus-2.5.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.1  |   Esta versão não está mais disponível. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  <a name="changelog-nucleus-2.5.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.5.0  |  <a name="changelog-nucleus-2.5.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.4.0  |  <a name="changelog-nucleus-2.4.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.3.0  |  <a name="changelog-nucleus-2.3.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.2.0  |  <a name="changelog-nucleus-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.1.0  |  <a name="changelog-nucleus-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.5  |  <a name="changelog-nucleus-2.0.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.4  |  <a name="changelog-nucleus-2.0.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-component.html)  | 
|  2.0.3  |  Versão inicial.  | 

# Greengrass nucleus lite
<a name="greengrass-nucleus-lite-component"></a>

O Greengrass nucleus lite (`aws.greengrass.NucleusLite`) é um runtime de dispositivo para dispositivos de borda restritos, otimizado para ocupar o mínimo de memória (usa menos de 5 MB de RAM). Ele foi introduzido com a AWS IoT Greengrass versão 2.14.0 e é compatível com versões anteriores de componentes AWS IoT Greengrass genéricos, da API Greengrass V2 e do SDK.

O Greengrass nucleus lite é oferecido como uma alternativa ao [Greengrass nucleus (`aws.greengrass.Nucleus`)](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html) comum, e pode ser usado em frotas heterogêneas de dispositivos Greengrass.

**Topics**
+ [Versões](#greengrass-nucleus-lite-component-versions)
+ [Sistema operacional](#greengrass-nucleus-lite-component-os-support)
+ [Requisitos](#greengrass-nucleus-lite-component-requirements)
+ [Compatibilidade](#greengrass-nucleus-lite-component-compatibility)
+ [Download e instalação](#greengrass-nucleus-lite-component-install)
+ [Configuração](#greengrass-nucleus-lite-component-configuration)
+ [Arquivo de log local](#greengrass-nucleus-lite-component-log-file)
+ [Changelog](#greengrass-nucleus-lite-component-changelog)

## Versões
<a name="greengrass-nucleus-lite-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Sistema operacional
<a name="greengrass-nucleus-lite-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux (distribuições com systemd)

Para obter mais informações, consulte [Greengrass nucleus](https://docs.aws.amazon.com/greengrass/v2/developerguide/operating-system-feature-support-matrix.html).

## Requisitos
<a name="greengrass-nucleus-lite-component-requirements"></a>

Os dispositivos devem atender a certos requisitos para instalar e executar o AWS IoT Greengrass nucleus lite e o software AWS IoT Greengrass Core. Para obter mais informações, consulte o [Guia de configuração](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/SETUP.md#setting-up-greengrass-nucleus-lite).
+ 5 MB de espaço RAM para o runtime do nucleus.
+ 5MB de armazenamento (disco/FLASH).

Dependências adicionais do sistema estão documentadas no [Guia de configuração](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/SETUP.md#dependencies).

O componente do Greengrass nucleus é compatível para ser executado em uma VPC. Para implantá-lo em uma VPC, o procedimento a seguir é necessário:
+ O núcleo do Greengrass deve ter conectividade com AWS IoT dados, AWS IoT credenciais e Amazon S3.

## Compatibilidade
<a name="greengrass-nucleus-lite-component-compatibility"></a>

O AWS IoT Greengrass nucleus lite é compatível com a API AWS IoT Greengrass v2 (subconjunto de) e é compatível. SDKs Ele não depende de nenhuma linguagem específica, runtimes/VMs mas os componentes adicionados a uma implantação podem exigir a presença de tempos de execução específicos (por exemplo: Java JVM, Python). Para obter mais informações sobre quais recursos oferecem suporte ao Greengrass nucleus lite, consulte [Compatibilidade de recursos do Greengrass](operating-system-feature-support-matrix.md).

## Download e instalação
<a name="greengrass-nucleus-lite-component-install"></a>

Você pode baixar um pacote apt, [compilar a partir do código-fonte](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/README.md#getting-started), [usar uma camada Yocto](https://github.com/aws4embeddedlinux/meta-aws) ou [baixar uma imagem pré-construída do Yocto para um dispositivo compatível (por exemplo](https://github.com/aws4embeddedlinux/meta-aws-demos),). RaspberryPi No [Console do AWS IoT Core](https://console.aws.amazon.com/iot/home), será possível baixar um **kit de conexão** contendo todas as credenciais e a configuração inicial do seu dispositivo. As instruções sobre como instalar estão incluídas em cada método de distribuição específico.

Você também pode seguir um tutorial para instalar o AWS IoT Greengrass nucleus lite e explorar o desenvolvimento de componentes do Greengrass. Para obter mais informações, consulte [Tutorial: Conceitos básicos do AWS IoT Greengrass V2](getting-started.md).

## Configuração
<a name="greengrass-nucleus-lite-component-configuration"></a>

O nucleus oferece os parâmetros de [configuração](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/SETUP.md#configuring-greengrass) a seguir. Alguns parâmetros exigem que o software AWS IoT Greengrass Core seja reiniciado para entrar em vigor.

`iotRoleAlias`  
O alias de AWS IoT função que aponta para uma função do IAM de troca de tokens. O provedor de AWS IoT credenciais assume essa função para permitir que o dispositivo principal do Greengrass interaja com os serviços. AWS Para obter mais informações, consulte [Autorizar dispositivos principais a interagir com os AWS serviços](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html).

`iotDataEndpoint`  
<a name="nucleus-component-configuration-iot-data-endpoint"></a>O endpoint de AWS IoT dados para seu. Conta da AWS

`iotCredEndpoint`  
<a name="nucleus-component-configuration-iot-cred-endpoint"></a>O endpoint AWS IoT de credenciais para seu. Conta da AWS

`greengrassDataPlanePort`  
A porta usada para conexões de plano de dados. Para obter mais informações, consulte [Conexão à porta 443 ou por um proxy de rede](https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-alpn-network-proxy).  
Você precisa especificar uma porta na qual o dispositivo possa fazer conexões de saída. Se você especificar uma porta bloqueada, o dispositivo não conseguirá se conectar AWS IoT Greengrass para receber implantações. Escolha uma das seguintes opções:  
+ `443`
+ `8443`
+ Padrão: `8443`

`awsRegion`  
O Região da AWS para usar.

`runWithDefault`  
O usuário do sistema usado para executar componentes.  
<a name="nucleus-component-parameter-restart-para"></a>Quando você implanta uma alteração nesse parâmetro de configuração, o software AWS IoT Greengrass principal é reiniciado para que a alteração entre em vigor.
Esse objeto contém as informações a seguir:    
`posixUser`  
O nome ou ID do usuário do sistema e, opcionalmente, do grupo do sistema que o dispositivo do nucleus usa para executar componentes genéricos. Especifique o usuário e o grupo separando-os por dois pontos (`:`), no seguinte formato: `user:group`. O grupo é opcional. Se você não especificar um grupo, o software AWS IoT Greengrass Core usará o grupo primário para o usuário. Por exemplo, é possível especificar `ggc_user` ou `ggc_user:ggc_group`. Para obter mais informações, consulte [Configurar o usuário que executa os componentes](configure-greengrass-core-v2.md#configure-component-user).

`networkProxy`  
(Opcional) O proxy de rede para ser usado em todas as conexões. Para obter mais informações, consulte [Conectar-se à porta 443 ou por meio de um proxy de rede](configure-greengrass-core-v2.md#configure-alpn-network-proxy).  
Quando você implanta uma alteração nesse parâmetro de configuração, a alteração entrará em vigor após a próxima reinicialização do software AWS IoT Greengrass principal.
Esse objeto contém as informações a seguir:    
`noProxyAddresses`  
(Opcional) Uma lista separada por vírgulas de endereços IP ou nomes de host isentos do proxy.  
`proxy`  
O proxy para se conectar. Esse objeto contém as informações a seguir:    
`url`  
O URL do servidor de proxy, no formato `http://host:port`.  
+ `scheme`: o esquema, que deve ser `http`.
+ `host`: o nome do host ou endereço IP do servidor de proxy.
+ `port`: (opcional) o número da porta. Se você não especificar a porta, o dispositivo principal do Greengrass usa valore padrão a seguir:
  + `http`: 80

## Arquivo de log local
<a name="greengrass-nucleus-lite-component-log-file"></a>

As mensagens são registradas no stdout e os arquivos de log são gerenciados pelo systemd.

**Para exibir os logs desse componente**
+ Use `journalctl` para exibir os logs.

## Changelog
<a name="greengrass-nucleus-lite-component-changelog"></a>


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.3.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.0.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-nucleus-lite-component.html)  | 
|  2.0.0  |  Versão inicial.  | 

# Autenticação do dispositivo cliente
<a name="client-device-auth-component"></a>

O componente de autenticação do dispositivo cliente (`aws.greengrass.clientdevices.Auth`) autentica os dispositivos cliente e autoriza as ações do dispositivo cliente.

**nota**  <a name="client-device-component-context"></a>
Os dispositivos cliente são dispositivos IoT locais que se conectam a um dispositivo principal do Greengrass para enviar mensagens MQTT e dados para processamento. Para obter mais informações, consulte [Interagir com dispositivos de IoT locais](interact-with-local-iot-devices.md).

**Topics**
+ [Versões](#client-device-auth-component-versions)
+ [Tipo](#client-device-auth-component-type)
+ [Sistema operacional](#client-device-auth-component-os-support)
+ [Requisitos](#client-device-auth-component-requirements)
+ [Dependências](#client-device-auth-component-dependencies)
+ [Configuração](#client-device-auth-component-configuration)
+ [Arquivo de log local](#client-device-auth-component-log-file)
+ [Changelog](#client-device-auth-component-changelog)

## Versões
<a name="client-device-auth-component-versions"></a>

**nota**  
A versão 2.3.0 da autenticação do dispositivo cliente foi descontinuada. É altamente recomendável que você atualize para a versão 2.3.1 ou superior da autenticação do dispositivo cliente.

Esse componente tem as seguintes versões:
+ 2.5.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="client-device-auth-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="client-device-auth-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="client-device-auth-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ A [função de serviço do Greengrass](greengrass-service-role.md) deve estar associada à sua Conta da AWS e permitir a `iot:DescribeCertificate` permissão.
+ A AWS IoT política do dispositivo principal deve permitir as seguintes permissões:
  + `greengrass:GetConnectivityInfo`, em que os recursos incluem o ARN do dispositivo principal que executa este componente
  + `greengrass:VerifyClientDeviceIoTCertificateAssociation`, em que os recursos incluem o nome do recurso da Amazon (ARN) de cada dispositivo cliente que se conecta ao dispositivo principal
  + `greengrass:VerifyClientDeviceIdentity`
  + `greengrass:PutCertificateAuthorities`
  + `iot:Publish`, em que os recursos incluem o ARN do seguinte tópico MQTT:
    + `$aws/things/coreDeviceThingName*-gci/shadow/get`
  + `iot:Subscribe`, onde os recursos incluem os seguintes filtros ARNs de tópicos do MQTT:
    + `$aws/things/coreDeviceThingName*-gci/shadow/update/delta`
    + `$aws/things/coreDeviceThingName*-gci/shadow/get/accepted`
  + `iot:Receive`, onde os recursos incluem os seguintes tópicos ARNs do MQTT:
    + `$aws/things/coreDeviceThingName*-gci/shadow/update/delta`
    + `$aws/things/coreDeviceThingName*-gci/shadow/get/accepted`

  Para obter mais informações, consulte [AWS IoT políticas para operações de plano de dados](device-auth.md#iot-policies) e [AWS IoT Política mínima para oferecer suporte aos dispositivos do cliente](device-auth.md#client-device-support-minimal-iot-policy).
+ (Opcional) Para usar a autenticação off-line, a função AWS Identity and Access Management (IAM) usada pelo AWS IoT Greengrass serviço deve conter a seguinte permissão:
  + `greengrass:ListClientDevicesAssociatedWithCoreDevice` para permitir que o dispositivo principal liste clientes para autenticação off-line.
+ O componente de autenticação do dispositivo cliente é compatível para execução em uma VPC. Para implantá-lo em uma VPC, o procedimento a seguir é necessário.
  + O componente de autenticação do dispositivo cliente deve ter conectividade com AWS IoT data, AWS IoT Credentials e Amazon S3.

### Endpoints e portas
<a name="client-device-auth-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `iot.region.amazonaws.com`  | 443 | Sim |  Usado para obter informações sobre certificados de AWS IoT coisas.  | 

## Dependências
<a name="client-device-auth-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#client-device-auth-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.5.5 ]

A tabela a seguir lista as dependências da versão 2.5.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,6,0 <2,17,0 | Flexível | 

------
#### [ 2.5.4 ]

A tabela a seguir lista as dependências da versão 2.5.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,6,0 <2,16,0 | Flexível | 

------
#### [ 2.5.2 – 2.5.3 ]

A tabela a seguir lista as dependências das versões 2.5.2 e 2.5.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,6,0 <2,15,0 | Flexível | 

------
#### [ 2.5.1 ]

A tabela a seguir lista as dependências da versão 2.5.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.14.0 | Flexível | 

------
#### [ 2.4.4 - 2.5.0 ]

A tabela a seguir lista as dependências da versão 2.4.4 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.13.0 | Flexível | 

------
#### [ 2.4.3 ]

A tabela a seguir lista as dependências da versão 2.4.3 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.12.0 | Flexível | 

------
#### [ 2.4.1 and 2.4.2 ]

A tabela a seguir lista as dependências das versões 2.4.1 e 2.4.2 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.11.0 | Flexível | 

------
#### [ 2.3.0 – 2.4.0 ]

A tabela a seguir lista as dependências das versões 2.3.0 a 2.4.0 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.10.0 | Flexível | 

------
#### [ 2.3.0 ]

A tabela a seguir lista as dependências para a versão 2.3.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.10.0 | Flexível | 

------
#### [ 2.2.3 ]

A tabela a seguir lista as dependências da versão 2.2.3 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <=2.9.0 | Flexível | 

------
#### [ 2.2.2 ]

A tabela a seguir lista as dependências da versão 2.2.2 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <=2.8.0 | Flexível | 

------
#### [ 2.2.1 ]

A tabela a seguir lista as dependências da versão 2.2.1 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.8.0 | Flexível | 

------
#### [ 2.2.0 ]

A tabela a seguir lista as dependências para a versão 2.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.6.0 <2.7.0 | Flexível | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.7.0 | Flexível | 

------
#### [ 2.0.4 ]

A seguinte tabela lista as dependências da versão 2.0.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.6.0 | Flexível | 

------
#### [ 2.0.2 and 2.0.3 ]

A tabela a seguir lista as dependências das versões 2.0.2 e 2.0.3 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.5.0 | Flexível | 

------
#### [ 2.0.1 ]

A tabela a seguir lista as dependências da versão 2.0.1 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.4.0 | Flexível | 

------
#### [ 2.0.0 ]

A seguinte tabela lista as dependências da versão 2.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.3.0 | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="client-device-auth-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

**nota**  
A permissão de assinatura é avaliada durante uma solicitação de assinatura do cliente ao agente MQTT local. Se a permissão de assinatura existente do cliente for revogada, ele não poderá mais assinar um tópico. No entanto, ele continuará recebendo mensagens dos tópicos assinados anteriormente. Para evitar esse comportamento, o agente MQTT local deve ser reiniciado após revogar a permissão de assinatura para forçar uma nova autorização dos clientes.  
Para o componente do agente MQTT 5 (EMQX), atualize a configuração `restartIdentifier` para reiniciar o agente MQTT 5.  
Para o componente do agente MQTT 3.1.1 (Moquette), ele reinicia semanalmente por padrão quando o certificado do servidor muda, forçando os clientes a reautorizarem. É possível forçar uma reinicialização alterando as informações de conectividade (endereços IP) do dispositivo principal ou fazendo uma implantação para remover o componente do agente e implantá-lo novamente mais tarde.

------
#### [ v2.5.0 – 2.5.4 ]

`deviceGroups`  
Grupos de dispositivos são grupos de dispositivos cliente que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos cliente e definir *políticas de autorização de dispositivos cliente* que especifiquem as permissões para cada grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`formatVersion`  
A versão do formato desse objeto de configuração.  
Escolha uma das seguintes opções:  
+ `2021-03-05`  
`definitions`  
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma *regra de seleção* para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondem à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.  
Esse objeto contém as informações a seguir:    
`groupNameKey`  
O nome desse grupo de dispositivos. *groupNameKey*Substitua por um nome que ajude a identificar esse grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`selectionRule`  
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.  
Cada regra de seleção inclui pelo menos uma *cláusula de regra de seleção*, que é uma consulta de expressão única que pode corresponder aos dispositivos cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a [sintaxe da consulta de indexação de frotas do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Use o curinga `*` para combinar vários dispositivos cliente com uma cláusula de regra de seleção. É possível usar esse curinga no início e no final do nome da coisa para corresponder aos dispositivos cliente cujos nomes começam ou terminam com a string especificada por você. Também é possível usar esse curinga para corresponder a todos os dispositivos cliente.  
Para selecionar um valor que contenha um caractere de dois pontos (`:`), faça o escape dos dois pontos com um caractere de barra invertida (`\`). Em formatos como JSON, é necessário fazer o escape dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifique `thingName: MyTeam\\:ClientDevice1` para selecionar uma coisa cujo nome seja `MyTeam:ClientDevice1`.
É possível especificar o seguinte seletor:  
+ `thingName`— O nome da AWS IoT coisa de um dispositivo cliente.

**Example Exemplo de regra de seleção**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes são `MyClientDevice1` ou `MyClientDevice2`.  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes começam com `MyClientDevice`.  

```
thingName: MyClientDevice*
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes terminam com `MyClientDevice`.  

```
thingName: *MyClientDevice
```

**Example Exemplo de regra de seleção (corresponder a todos os dispositivos)**  
A regra de seleção a seguir corresponde a todos os dispositivos cliente.  

```
thingName: *
```  
`policyName`  
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no objeto `policies`.  
`policies`  
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.  
Esse objeto contém as informações a seguir:    
`policyNameKey`  
O nome dessa política de autorização. *policyNameKey*Substitua por um nome que ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`statementNameKey`  
O nome dessa declaração de política. *statementNameKey*Substitua por um nome que ajude a identificar essa declaração de política.  
Esse objeto contém as informações a seguir:    
`operations`  
A lista de operações para permitir os recursos dessa política.  
É possível incluir usando uma destas operações:  
+ `mqtt:connect`: concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.

  Essa operação é compatível com os seguintes recursos:
  + `mqtt:clientId:deviceClientId`: restringe o acesso com base no ID do cliente que um dispositivo cliente usa para se conectar ao agente MQTT do dispositivo principal. *deviceClientId*Substitua pela ID do cliente a ser usada.
+ `mqtt:publish`: concede permissão para publicar mensagens MQTT em tópicos.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic`: restringe o acesso com base no tópico MQTT em que um dispositivo cliente publica uma mensagem. *mqttTopic*Substitua pelo tópico a ser usado.

    Esse recurso não é compatível com curingas de tópicos MQTT.
+ `mqtt:subscribe`: concede permissão para assinar os filtros de tópicos MQTT para receber mensagens.

  Essa operação é compatível com os seguintes recursos:
  + `mqtt:topicfilter:mqttTopicFilter`: restringe o acesso com base nos tópicos MQTT em que um dispositivo cliente pode assinar mensagens. *mqttTopicFilter*Substitua pelo filtro de tópicos a ser usado.

    Esse recurso não é compatível com curingas de tópicos MQTT.  
`resources`  
A lista de recursos para permitir as operações dessa política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, é possível especificar uma lista de recursos de tópicos MQTT (`mqtt:topic:mqttTopic`) em uma política que especifica a operação `mqtt:publish`.  
É possível especificar o curinga `*` em qualquer lugar dentro da variável de recurso para permitir o acesso a todos os recursos. Por exemplo, é possível especificar **mqtt:topic:my\$1** para permitir o acesso aos recursos que correspondam a essa entrada.  
A seguinte variável de recurso é compatível:  
+ `mqtt:topic:${iot:Connection.Thing.ThingName}`

  Isso se resume ao nome da coisa no AWS IoT Core registro para a qual a política está sendo avaliada. AWS IoT Core usa o certificado que o dispositivo apresenta ao se autenticar para determinar qual coisa usar para verificar a conexão. Essa variável de política só está disponível quando um dispositivo se conecta pelo MQTT ou pelo MQTT pelo WebSocket protocolo.  
`statementDescription`  
(Opcional) Uma descrição para essa declaração de política.

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as informações a seguir:    
`serverCertificateValiditySeconds`  
(Opcional) A quantidade de tempo (em segundos) após a qual o certificado do servidor MQTT local expira. É possível configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.  
Esse componente alterna o certificado do servidor MQTT local 24 horas antes de expirar. O agente MQTT, como o [componente do agente Moquette MQTT](mqtt-broker-moquette-component.md), gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos cliente conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período.  
Padrão: `604800` (7 dias)  
Valor mínimo: `172800` (2 dias)  
Valor máximo: `864000` (10 dias)

`performance`  
(Opcional) As opções de configuração de performance desse dispositivo principal. Esse objeto contém as informações a seguir:    
`maxActiveAuthTokens`  
(Opcional) O número máximo de tokens de autorização do dispositivo cliente ativos. É possível aumentar esse número para permitir que um número maior de dispositivos cliente se conecte a um único dispositivo principal, sem precisar reautenticá-los.  
Padrão: `2500`  
`cloudRequestQueueSize`  
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.  
Padrão: `100`  
`maxConcurrentCloudRequests`  
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para a Nuvem AWS. É possível aumentar esse número para melhorar a performance da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos cliente.  
Padrão: `1`

`certificateAuthority`  
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela própria autoridade de certificação intermediária.  
Se você configurar o dispositivo principal do Greengrass com uma autoridade de certificação (CA) personalizada e usar a mesma CA para emitir certificados de dispositivo cliente, o Greengrass ignorará as verificações da política de autorização para operações de MQTT do dispositivo cliente. O componente de autenticação do dispositivo cliente confia totalmente nos clientes usando certificados assinados pela CA que ele está configurado para usar.  
Para restringir esse comportamento ao usar uma CA personalizada, crie e assine dispositivos cliente usando outra CA ou uma CA intermediária e, em seguida, ajuste os campos `certificateUri` e `certificateChainUri` para apontar para a CA intermediária correta.
 Esse objeto contém as informações a seguir.    
certificateUri  
O local do certificado. Pode ser um URI do sistema de arquivos ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.  
`certificateChainUri`  
O local da cadeia de certificados para a CA do dispositivo principal. Essa deve ser a cadeia completa de certificados até a CA raiz. Pode ser um URI do sistema de arquivos ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.  
`privateKeyUri`  
O local da chave privada do dispositivo principal. Isso pode ser um URI do sistema de arquivos ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.

`security`  
(Opcional) Opções de configuração de segurança desse dispositivo principal. Esse objeto contém as informações a seguir.    
`clientDeviceTrustDurationMinutes`  
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.

`metrics`  
(Opcional) As opções de métricas desse dispositivo principal. As métricas de erro só serão exibidas se houver um erro com a autenticação do dispositivo cliente. Esse objeto contém as informações a seguir:    
`disableMetrics`  
Se o campo `disableMetrics` for definido como `true`, a autenticação do dispositivo cliente não coletará métricas.  
Padrão: `false`  
`aggregatePeriodSeconds`  
O período de agregação em segundos que determina com que frequência a autenticação do dispositivo cliente agrega métricas e as envia ao agente de telemetria. Isso não altera a frequência com que as métricas são publicadas porque o agente de telemetria ainda as publica uma vez por dia.  
Padrão: `3600`

startupTimeoutSeconds  
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para `ERRORED` se ele exceder esse tempo limite.  
Padrão: `120`

**Example Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com `MyClientDevice` se conectem publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

**Example Exemplo: atualização de mesclagem de configurações (usando uma política de nome da coisa)**  <a name="client-device-auth-component-configuration-example-mythingname"></a>
O exemplo de configuração a seguir permite que dispositivos cliente publiquem em tópicos que começam com o nome da coisa do dispositivo cliente e terminam com a string `topic`.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "myThing": {
        "selectionRule": "thingName: *",
        "policyName": "MyThingNamePolicy"
      }
    },
    "policies": {
      "MyThingNamePolicy": {
        "policyStatement": {
          "statementDescription": "mqtt publish",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:${iot:Connection.Thing.ThingName}/*/topic"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.4.5 ]

`deviceGroups`  
Grupos de dispositivos são grupos de dispositivos cliente que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos cliente e definir *políticas de autorização de dispositivos cliente* que especifiquem as permissões para cada grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`formatVersion`  
A versão do formato desse objeto de configuração.  
Escolha uma das seguintes opções:  
+ `2021-03-05`  
`definitions`  
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma *regra de seleção* para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondem à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.  
Esse objeto contém as informações a seguir:    
`groupNameKey`  
O nome desse grupo de dispositivos. *groupNameKey*Substitua por um nome que ajude a identificar esse grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`selectionRule`  
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.  
Cada regra de seleção inclui pelo menos uma *cláusula de regra de seleção*, que é uma consulta de expressão única que pode corresponder aos dispositivos cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a [sintaxe da consulta de indexação de frotas do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Use o curinga `*` para combinar vários dispositivos cliente com uma cláusula de regra de seleção. É possível usar esse curinga no início e no final do nome da coisa para corresponder aos dispositivos cliente cujos nomes começam ou terminam com a string especificada por você. Também é possível usar esse curinga para corresponder a todos os dispositivos cliente.  
Para selecionar um valor que contenha um caractere de dois pontos (`:`), faça o escape dos dois pontos com um caractere de barra invertida (`\`). Em formatos como JSON, é necessário fazer o escape dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifique `thingName: MyTeam\\:ClientDevice1` para selecionar uma coisa cujo nome seja `MyTeam:ClientDevice1`.
É possível especificar o seguinte seletor:  
+ `thingName`— O nome da AWS IoT coisa de um dispositivo cliente.

**Example Exemplo de regra de seleção**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes são `MyClientDevice1` ou `MyClientDevice2`.  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes começam com `MyClientDevice`.  

```
thingName: MyClientDevice*
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes terminam com `MyClientDevice`.  

```
thingName: *MyClientDevice
```

**Example Exemplo de regra de seleção (corresponder a todos os dispositivos)**  
A regra de seleção a seguir corresponde a todos os dispositivos cliente.  

```
thingName: *
```  
`policyName`  
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no objeto `policies`.  
`policies`  
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.  
Esse objeto contém as informações a seguir:    
`policyNameKey`  
O nome dessa política de autorização. *policyNameKey*Substitua por um nome que ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`statementNameKey`  
O nome dessa declaração de política. *statementNameKey*Substitua por um nome que ajude a identificar essa declaração de política.  
Esse objeto contém as informações a seguir:    
`operations`  
A lista de operações para permitir os recursos dessa política.  
É possível incluir usando uma destas operações:  
+ `mqtt:connect`: concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.

  Essa operação é compatível com os seguintes recursos:
  + `mqtt:clientId:deviceClientId`: restringe o acesso com base no ID do cliente que um dispositivo cliente usa para se conectar ao agente MQTT do dispositivo principal. *deviceClientId*Substitua pela ID do cliente a ser usada.
+ `mqtt:publish`: concede permissão para publicar mensagens MQTT em tópicos.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic`: restringe o acesso com base no tópico MQTT em que um dispositivo cliente publica uma mensagem. *mqttTopic*Substitua pelo tópico a ser usado.

    Esse recurso não é compatível com curingas de tópicos MQTT.
+ `mqtt:subscribe`: concede permissão para assinar os filtros de tópicos MQTT para receber mensagens.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter`: restringe o acesso com base nos tópicos MQTT em que um dispositivo cliente pode assinar mensagens. *mqttTopicFilter*Substitua pelo filtro de tópicos a ser usado.

    Esse recurso é compatível com os curingas `+` e `#` do tópico MQTT. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.

    O dispositivo cliente pode assinar os filtros de tópicos exatos que você permitir. Por exemplo, se você permitir que o dispositivo cliente assine o recurso `mqtt:topicfilter:client/+/status`, o dispositivo cliente poderá assinar `client/+/status`, mas não `client/client1/status`.
É possível especificar o curinga `*` para permitir o acesso a todas as ações.  
`resources`  
A lista de recursos para permitir as operações dessa política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, é possível especificar uma lista de recursos de tópicos MQTT (`mqtt:topic:mqttTopic`) em uma política que especifica a operação `mqtt:publish`.  
É possível especificar o curinga `*` para permitir o acesso a todos os recursos. Não é possível usar o curinga `*` para corresponder a identificadores parciais de recursos. Por exemplo, é possível especificar **"resources": "\$1"**, mas não é possível especificar **"resources": "mqtt:clientId:\$1"**.  
`statementDescription`  
(Opcional) Uma descrição para essa declaração de política.

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as informações a seguir:    
`serverCertificateValiditySeconds`  
(Opcional) A quantidade de tempo (em segundos) após a qual o certificado do servidor MQTT local expira. É possível configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.  
Esse componente alterna o certificado do servidor MQTT local 24 horas antes de expirar. O agente MQTT, como o [componente do agente Moquette MQTT](mqtt-broker-moquette-component.md), gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos cliente conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período.  
Padrão: `604800` (7 dias)  
Valor mínimo: `172800` (2 dias)  
Valor máximo: `864000` (10 dias)

`performance`  
(Opcional) As opções de configuração de performance desse dispositivo principal. Esse objeto contém as informações a seguir:    
`maxActiveAuthTokens`  
(Opcional) O número máximo de tokens de autorização do dispositivo cliente ativos. É possível aumentar esse número para permitir que um número maior de dispositivos cliente se conecte a um único dispositivo principal, sem precisar reautenticá-los.  
Padrão: `2500`  
`cloudRequestQueueSize`  
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.  
Padrão: `100`  
`maxConcurrentCloudRequests`  
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para a Nuvem AWS. É possível aumentar esse número para melhorar a performance da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos cliente.  
Padrão: `1`

`certificateAuthority`  
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela própria autoridade de certificação intermediária.  
Se você configurar o dispositivo principal do Greengrass com uma autoridade de certificação (CA) personalizada e usar a mesma CA para emitir certificados de dispositivo cliente, o Greengrass ignorará as verificações da política de autorização para operações de MQTT do dispositivo cliente. O componente de autenticação do dispositivo cliente confia totalmente nos clientes usando certificados assinados pela CA que ele está configurado para usar.  
Para restringir esse comportamento ao usar uma CA personalizada, crie e assine dispositivos cliente usando outra CA ou uma CA intermediária e, em seguida, ajuste os campos `certificateUri` e `certificateChainUri` para apontar para a CA intermediária correta.
 Esse objeto contém as informações a seguir.    
certificateUri  
O local do certificado. Pode ser um URI do sistema de arquivos ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.  
`certificateChainUri`  
O local da cadeia de certificados para a CA do dispositivo principal. Essa deve ser a cadeia completa de certificados até a CA raiz. Pode ser um URI do sistema de arquivos ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.  
`privateKeyUri`  
O local da chave privada do dispositivo principal. Isso pode ser um URI do sistema de arquivos ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.

`security`  
(Opcional) Opções de configuração de segurança desse dispositivo principal. Esse objeto contém as informações a seguir.    
`clientDeviceTrustDurationMinutes`  
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.

`metrics`  
(Opcional) As opções de métricas desse dispositivo principal. As métricas de erro só serão exibidas se houver um erro com a autenticação do dispositivo cliente. Esse objeto contém as informações a seguir:    
`disableMetrics`  
Se o campo `disableMetrics` for definido como `true`, a autenticação do dispositivo cliente não coletará métricas.  
Padrão: `false`  
`aggregatePeriodSeconds`  
O período de agregação em segundos que determina com que frequência a autenticação do dispositivo cliente agrega métricas e as envia ao agente de telemetria. Isso não altera a frequência com que as métricas são publicadas porque o agente de telemetria ainda as publica uma vez por dia.  
Padrão: `3600`

startupTimeoutSeconds  
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para `ERRORED` se ele exceder esse tempo limite.  
Padrão: `120`

**Example Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com `MyClientDevice` se conectem publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.4.2 - v2.4.4 ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
Grupos de dispositivos são grupos de dispositivos cliente que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos cliente e definir *políticas de autorização de dispositivos cliente* que especifiquem as permissões para cada grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`formatVersion`  
A versão do formato desse objeto de configuração.  
Escolha uma das seguintes opções:  
+ `2021-03-05`  
`definitions`  
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma *regra de seleção* para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondem à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.  
Esse objeto contém as informações a seguir:    
`groupNameKey`  
O nome desse grupo de dispositivos. *groupNameKey*Substitua por um nome que ajude a identificar esse grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`selectionRule`  
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.  
Cada regra de seleção inclui pelo menos uma *cláusula de regra de seleção*, que é uma consulta de expressão única que pode corresponder aos dispositivos cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a [sintaxe da consulta de indexação de frotas do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Use o curinga `*` para combinar vários dispositivos cliente com uma cláusula de regra de seleção. É possível usar esse curinga no final do nome da coisa para corresponder aos dispositivos cliente cujos nomes começam com uma string especificada por você. Também é possível usar esse curinga para corresponder a todos os dispositivos cliente.  
Para selecionar um valor que contenha um caractere de dois pontos (`:`), faça o escape dos dois pontos com um caractere de barra invertida (`\\`). Em formatos como JSON, é necessário fazer o escape dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifique `thingName: MyTeam\\\\:ClientDevice1` para selecionar uma coisa cujo nome seja `MyTeam:ClientDevice1`.
É possível especificar o seguinte seletor:  
+ `thingName`: o nome da coisa do AWS IoT de um dispositivo cliente.

**Example Exemplo de regra de seleção**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes são `MyClientDevice1` ou `MyClientDevice2`.  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes começam com `MyClientDevice`.  

```
thingName: MyClientDevice*
```

**Example Exemplo de regra de seleção (corresponder a todos os dispositivos)**  
A regra de seleção a seguir corresponde a todos os dispositivos cliente.  

```
thingName: *
```  
`policyName`  
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no objeto `policies`.  
`policies`  
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.  
Esse objeto contém as informações a seguir:    
`policyNameKey`  
O nome dessa política de autorização. *policyNameKey*Substitua por um nome que ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`statementNameKey`  
O nome dessa declaração de política. *statementNameKey*Substitua por um nome que ajude a identificar essa declaração de política.  
Esse objeto contém as informações a seguir:    
`operations`  
A lista de operações para permitir os recursos dessa política.  
É possível incluir usando uma destas operações:  
+ `mqtt:connect`: concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.

  Essa operação é compatível com os seguintes recursos:
  + `mqtt:clientId:deviceClientId`: restringe o acesso com base no ID do cliente que um dispositivo cliente usa para se conectar ao agente MQTT do dispositivo principal. *deviceClientId*Substitua pela ID do cliente a ser usada.
+ `mqtt:publish`: concede permissão para publicar mensagens MQTT em tópicos.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic`: restringe o acesso com base no tópico MQTT em que um dispositivo cliente publica uma mensagem. *mqttTopic*Substitua pelo tópico a ser usado.

    Esse recurso não é compatível com curingas de tópicos MQTT.
+ `mqtt:subscribe`: concede permissão para assinar os filtros de tópicos MQTT para receber mensagens.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter`: restringe o acesso com base nos tópicos MQTT em que um dispositivo cliente pode assinar mensagens. *mqttTopicFilter*Substitua pelo filtro de tópicos a ser usado.

    Esse recurso é compatível com os curingas `+` e `#` do tópico MQTT. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.

    O dispositivo cliente pode assinar os filtros de tópicos exatos que você permitir. Por exemplo, se você permitir que o dispositivo cliente assine o recurso `mqtt:topicfilter:client/+/status`, o dispositivo cliente poderá assinar `client/+/status`, mas não `client/client1/status`.
É possível especificar o curinga `*` para permitir o acesso a todas as ações.  
`resources`  
A lista de recursos para permitir as operações dessa política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, é possível especificar uma lista de recursos de tópicos MQTT (`mqtt:topic:mqttTopic`) em uma política que especifica a operação `mqtt:publish`.  
É possível especificar o curinga `*` para permitir o acesso a todos os recursos. Não é possível usar o curinga `*` para corresponder a identificadores parciais de recursos. Por exemplo, é possível especificar **"resources": "\$1"**, mas não é possível especificar **"resources": "mqtt:clientId:\$1"**.  
`statementDescription`  
(Opcional) Uma descrição para essa declaração de política.

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as informações a seguir:    
`serverCertificateValiditySeconds`  
(Opcional) A quantidade de tempo (em segundos) após a qual o certificado do servidor MQTT local expira. É possível configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.  
Esse componente alterna o certificado do servidor MQTT local 24 horas antes de expirar. O agente MQTT, como o [componente do agente Moquette MQTT](mqtt-broker-moquette-component.md), gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos cliente conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período.  
Padrão: `604800` (7 dias)  
Valor mínimo: `172800` (2 dias)  
Valor máximo: `864000` (10 dias)

`performance`  
(Opcional) As opções de configuração de performance desse dispositivo principal. Esse objeto contém as informações a seguir:    
`maxActiveAuthTokens`  
(Opcional) O número máximo de tokens de autorização do dispositivo cliente ativos. É possível aumentar esse número para permitir que um número maior de dispositivos cliente se conecte a um único dispositivo principal, sem precisar reautenticá-los.  
Padrão: `2500`  
`cloudRequestQueueSize`  
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.  
Padrão: `100`  
`maxConcurrentCloudRequests`  
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para a Nuvem AWS. É possível aumentar esse número para melhorar a performance da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos cliente.  
Padrão: `1`

`certificateAuthority`  
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela própria autoridade de certificação intermediária.  
Se você configurar o dispositivo principal do Greengrass com uma autoridade de certificação (CA) personalizada e usar a mesma CA para emitir certificados de dispositivo cliente, o Greengrass ignorará as verificações da política de autorização para operações de MQTT do dispositivo cliente. O componente de autenticação do dispositivo cliente confia totalmente nos clientes usando certificados assinados pela CA que ele está configurado para usar.  
Para restringir esse comportamento ao usar uma CA personalizada, crie e assine dispositivos cliente usando outra CA ou uma CA intermediária e, em seguida, ajuste os campos `certificateUri` e `certificateChainUri` para apontar para a CA intermediária correta.
 Esse objeto contém as informações a seguir.    
certificateUri  
O local do certificado. Pode ser um URI do sistema de arquivos ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.  
`certificateChainUri`  
O local da cadeia de certificados para a CA do dispositivo principal. Essa deve ser a cadeia completa de certificados até a CA raiz. Pode ser um URI do sistema de arquivos ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.  
`privateKeyUri`  
O local da chave privada do dispositivo principal. Isso pode ser um URI do sistema de arquivos ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.

`security`  
(Opcional) Opções de configuração de segurança desse dispositivo principal. Esse objeto contém as informações a seguir.    
`clientDeviceTrustDurationMinutes`  
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.

`metrics`  
(Opcional) As opções de métricas desse dispositivo principal. As métricas de erro só serão exibidas se houver um erro com a autenticação do dispositivo cliente. Esse objeto contém as informações a seguir:    
`disableMetrics`  
Se o campo `disableMetrics` for definido como `true`, a autenticação do dispositivo cliente não coletará métricas.  
Padrão: `false`  
`aggregatePeriodSeconds`  
O período de agregação em segundos que determina com que frequência a autenticação do dispositivo cliente agrega métricas e as envia ao agente de telemetria. Isso não altera a frequência com que as métricas são publicadas porque o agente de telemetria ainda as publica uma vez por dia.  
Padrão: `3600`

startupTimeoutSeconds  
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para `ERRORED` se ele exceder esse tempo limite.  
Padrão: `120`

**Example Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com `MyClientDevice` se conectem publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.4.0 - v2.4.1 ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
Grupos de dispositivos são grupos de dispositivos cliente que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos cliente e definir *políticas de autorização de dispositivos cliente* que especifiquem as permissões para cada grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`formatVersion`  
A versão do formato desse objeto de configuração.  
Escolha uma das seguintes opções:  
+ `2021-03-05`  
`definitions`  
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma *regra de seleção* para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondem à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.  
Esse objeto contém as informações a seguir:    
`groupNameKey`  
O nome desse grupo de dispositivos. *groupNameKey*Substitua por um nome que ajude a identificar esse grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`selectionRule`  
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.  
Cada regra de seleção inclui pelo menos uma *cláusula de regra de seleção*, que é uma consulta de expressão única que pode corresponder aos dispositivos cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a [sintaxe da consulta de indexação de frotas do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Use o curinga `*` para combinar vários dispositivos cliente com uma cláusula de regra de seleção. É possível usar esse curinga no final do nome da coisa para corresponder aos dispositivos cliente cujos nomes começam com uma string especificada por você. Também é possível usar esse curinga para corresponder a todos os dispositivos cliente.  
Para selecionar um valor que contenha um caractere de dois pontos (`:`), faça o escape dos dois pontos com um caractere de barra invertida (`\\`). Em formatos como JSON, é necessário fazer o escape dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifique `thingName: MyTeam\\\\:ClientDevice1` para selecionar uma coisa cujo nome seja `MyTeam:ClientDevice1`.
É possível especificar o seguinte seletor:  
+ `thingName`: o nome da coisa do AWS IoT de um dispositivo cliente.

**Example Exemplo de regra de seleção**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes são `MyClientDevice1` ou `MyClientDevice2`.  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes começam com `MyClientDevice`.  

```
thingName: MyClientDevice*
```

**Example Exemplo de regra de seleção (corresponder a todos os dispositivos)**  
A regra de seleção a seguir corresponde a todos os dispositivos cliente.  

```
thingName: *
```  
`policyName`  
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no objeto `policies`.  
`policies`  
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.  
Esse objeto contém as informações a seguir:    
`policyNameKey`  
O nome dessa política de autorização. *policyNameKey*Substitua por um nome que ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`statementNameKey`  
O nome dessa declaração de política. *statementNameKey*Substitua por um nome que ajude a identificar essa declaração de política.  
Esse objeto contém as informações a seguir:    
`operations`  
A lista de operações para permitir os recursos dessa política.  
É possível incluir usando uma destas operações:  
+ `mqtt:connect`: concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.

  Essa operação é compatível com os seguintes recursos:
  + `mqtt:clientId:deviceClientId`: restringe o acesso com base no ID do cliente que um dispositivo cliente usa para se conectar ao agente MQTT do dispositivo principal. *deviceClientId*Substitua pela ID do cliente a ser usada.
+ `mqtt:publish`: concede permissão para publicar mensagens MQTT em tópicos.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic`: restringe o acesso com base no tópico MQTT em que um dispositivo cliente publica uma mensagem. *mqttTopic*Substitua pelo tópico a ser usado.

    Esse recurso não é compatível com curingas de tópicos MQTT.
+ `mqtt:subscribe`: concede permissão para assinar os filtros de tópicos MQTT para receber mensagens.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter`: restringe o acesso com base nos tópicos MQTT em que um dispositivo cliente pode assinar mensagens. *mqttTopicFilter*Substitua pelo filtro de tópicos a ser usado.

    Esse recurso é compatível com os curingas `+` e `#` do tópico MQTT. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.

    O dispositivo cliente pode assinar os filtros de tópicos exatos que você permitir. Por exemplo, se você permitir que o dispositivo cliente assine o recurso `mqtt:topicfilter:client/+/status`, o dispositivo cliente poderá assinar `client/+/status`, mas não `client/client1/status`.
É possível especificar o curinga `*` para permitir o acesso a todas as ações.  
`resources`  
A lista de recursos para permitir as operações dessa política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, é possível especificar uma lista de recursos de tópicos MQTT (`mqtt:topic:mqttTopic`) em uma política que especifica a operação `mqtt:publish`.  
É possível especificar o curinga `*` para permitir o acesso a todos os recursos. Não é possível usar o curinga `*` para corresponder a identificadores parciais de recursos. Por exemplo, é possível especificar **"resources": "\$1"**, mas não é possível especificar **"resources": "mqtt:clientId:\$1"**.  
`statementDescription`  
(Opcional) Uma descrição para essa declaração de política.

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as informações a seguir:    
`serverCertificateValiditySeconds`  
(Opcional) A quantidade de tempo (em segundos) após a qual o certificado do servidor MQTT local expira. É possível configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.  
Esse componente alterna o certificado do servidor MQTT local 24 horas antes de expirar. O agente MQTT, como o [componente do agente Moquette MQTT](mqtt-broker-moquette-component.md), gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos cliente conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período.  
Padrão: `604800` (7 dias)  
Valor mínimo: `172800` (2 dias)  
Valor máximo: `864000` (10 dias)

`performance`  
(Opcional) As opções de configuração de performance desse dispositivo principal. Esse objeto contém as informações a seguir:    
`maxActiveAuthTokens`  
(Opcional) O número máximo de tokens de autorização do dispositivo cliente ativos. É possível aumentar esse número para permitir que um número maior de dispositivos cliente se conecte a um único dispositivo principal, sem precisar reautenticá-los.  
Padrão: `2500`  
`cloudRequestQueueSize`  
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.  
Padrão: `100`  
`maxConcurrentCloudRequests`  
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para a Nuvem AWS. É possível aumentar esse número para melhorar a performance da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos cliente.  
Padrão: `1`

`certificateAuthority`  
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela própria autoridade de certificação intermediária. Esse objeto contém as informações a seguir.  
 Esse objeto contém as informações a seguir:    
certificateUri  
O local do certificado. Pode ser um URI do sistema de arquivos ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.  
`certificateChainUri`  
O local da cadeia de certificados para a CA do dispositivo principal. Essa deve ser a cadeia completa de certificados até a CA raiz. Pode ser um URI do sistema de arquivos ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.  
`privateKeyUri`  
O local da chave privada do dispositivo principal. Isso pode ser um URI do sistema de arquivos ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.

`security`  
(Opcional) Opções de configuração de segurança desse dispositivo principal. Esse objeto contém as informações a seguir.    
`clientDeviceTrustDurationMinutes`  
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.

`metrics`  
(Opcional) As opções de métricas desse dispositivo principal. As métricas de erro só serão exibidas se houver um erro com a autenticação do dispositivo cliente. Esse objeto contém as informações a seguir:    
`disableMetrics`  
Se o campo `disableMetrics` for definido como `true`, a autenticação do dispositivo cliente não coletará métricas.  
Padrão: `false`  
`aggregatePeriodSeconds`  
O período de agregação em segundos que determina com que frequência a autenticação do dispositivo cliente agrega métricas e as envia ao agente de telemetria. Isso não altera a frequência com que as métricas são publicadas porque o agente de telemetria ainda as publica uma vez por dia.  
Padrão: `3600`

**Example Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com `MyClientDevice` se conectem publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.3.x ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
Grupos de dispositivos são grupos de dispositivos cliente que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos cliente e definir *políticas de autorização de dispositivos cliente* que especifiquem as permissões para cada grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`formatVersion`  
A versão do formato desse objeto de configuração.  
Escolha uma das seguintes opções:  
+ `2021-03-05`  
`definitions`  
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma *regra de seleção* para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondem à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.  
Esse objeto contém as informações a seguir:    
`groupNameKey`  
O nome desse grupo de dispositivos. *groupNameKey*Substitua por um nome que ajude a identificar esse grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`selectionRule`  
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.  
Cada regra de seleção inclui pelo menos uma *cláusula de regra de seleção*, que é uma consulta de expressão única que pode corresponder aos dispositivos cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a [sintaxe da consulta de indexação de frotas do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Use o curinga `*` para combinar vários dispositivos cliente com uma cláusula de regra de seleção. É possível usar esse curinga no final do nome da coisa para corresponder aos dispositivos cliente cujos nomes começam com uma string especificada por você. Também é possível usar esse curinga para corresponder a todos os dispositivos cliente.  
Para selecionar um valor que contenha um caractere de dois pontos (`:`), faça o escape dos dois pontos com um caractere de barra invertida (`\\`). Em formatos como JSON, é necessário fazer o escape dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifique `thingName: MyTeam\\\\:ClientDevice1` para selecionar uma coisa cujo nome seja `MyTeam:ClientDevice1`.
É possível especificar o seguinte seletor:  
+ `thingName`: o nome da coisa do AWS IoT de um dispositivo cliente.

**Example Exemplo de regra de seleção**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes são `MyClientDevice1` ou `MyClientDevice2`.  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes começam com `MyClientDevice`.  

```
thingName: MyClientDevice*
```

**Example Exemplo de regra de seleção (corresponder a todos os dispositivos)**  
A regra de seleção a seguir corresponde a todos os dispositivos cliente.  

```
thingName: *
```  
`policyName`  
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no objeto `policies`.  
`policies`  
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.  
Esse objeto contém as informações a seguir:    
`policyNameKey`  
O nome dessa política de autorização. *policyNameKey*Substitua por um nome que ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`statementNameKey`  
O nome dessa declaração de política. *statementNameKey*Substitua por um nome que ajude a identificar essa declaração de política.  
Esse objeto contém as informações a seguir:    
`operations`  
A lista de operações para permitir os recursos dessa política.  
É possível incluir usando uma destas operações:  
+ `mqtt:connect`: concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.

  Essa operação é compatível com os seguintes recursos:
  + `mqtt:clientId:deviceClientId`: restringe o acesso com base no ID do cliente que um dispositivo cliente usa para se conectar ao agente MQTT do dispositivo principal. *deviceClientId*Substitua pela ID do cliente a ser usada.
+ `mqtt:publish`: concede permissão para publicar mensagens MQTT em tópicos.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic`: restringe o acesso com base no tópico MQTT em que um dispositivo cliente publica uma mensagem. *mqttTopic*Substitua pelo tópico a ser usado.

    Esse recurso não é compatível com curingas de tópicos MQTT.
+ `mqtt:subscribe`: concede permissão para assinar os filtros de tópicos MQTT para receber mensagens.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter`: restringe o acesso com base nos tópicos MQTT em que um dispositivo cliente pode assinar mensagens. *mqttTopicFilter*Substitua pelo filtro de tópicos a ser usado.

    Esse recurso é compatível com os curingas `+` e `#` do tópico MQTT. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.

    O dispositivo cliente pode assinar os filtros de tópicos exatos que você permitir. Por exemplo, se você permitir que o dispositivo cliente assine o recurso `mqtt:topicfilter:client/+/status`, o dispositivo cliente poderá assinar `client/+/status`, mas não `client/client1/status`.
É possível especificar o curinga `*` para permitir o acesso a todas as ações.  
`resources`  
A lista de recursos para permitir as operações dessa política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, é possível especificar uma lista de recursos de tópicos MQTT (`mqtt:topic:mqttTopic`) em uma política que especifica a operação `mqtt:publish`.  
É possível especificar o curinga `*` para permitir o acesso a todos os recursos. Não é possível usar o curinga `*` para corresponder a identificadores parciais de recursos. Por exemplo, é possível especificar **"resources": "\$1"**, mas não é possível especificar **"resources": "mqtt:clientId:\$1"**.  
`statementDescription`  
(Opcional) Uma descrição para essa declaração de política.

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as informações a seguir:    
`serverCertificateValiditySeconds`  
(Opcional) A quantidade de tempo (em segundos) após a qual o certificado do servidor MQTT local expira. É possível configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.  
Esse componente alterna o certificado do servidor MQTT local 24 horas antes de expirar. O agente MQTT, como o [componente do agente Moquette MQTT](mqtt-broker-moquette-component.md), gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos cliente conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período.  
Padrão: `604800` (7 dias)  
Valor mínimo: `172800` (2 dias)  
Valor máximo: `864000` (10 dias)

`performance`  
(Opcional) As opções de configuração de performance desse dispositivo principal. Esse objeto contém as informações a seguir:    
`maxActiveAuthTokens`  
(Opcional) O número máximo de tokens de autorização do dispositivo cliente ativos. É possível aumentar esse número para permitir que um número maior de dispositivos cliente se conecte a um único dispositivo principal sem precisar reautenticá-los.  
Padrão: `2500`  
`cloudRequestQueueSize`  
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.  
Padrão: `100`  
`maxConcurrentCloudRequests`  
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para a Nuvem AWS. É possível aumentar esse número para melhorar a performance da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos cliente.  
Padrão: `1`

`certificateAuthority`  
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela própria autoridade de certificação intermediária. Esse objeto contém as informações a seguir.    
certificateUri  
O local do certificado. Pode ser um URI do sistema de arquivos ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.  
`certificateChainUri`  
O local da cadeia de certificados para a CA do dispositivo principal. Essa deve ser a cadeia completa de certificados até a CA raiz. Pode ser um URI do sistema de arquivos ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.  
`privateKeyUri`  
O local da chave privada do dispositivo principal. Isso pode ser um URI do sistema de arquivos ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.

`security`  
(Opcional) Opções de configuração de segurança desse dispositivo principal. Esse objeto contém as informações a seguir.    
`clientDeviceTrustDurationMinutes`  
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.

**Example Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com `MyClientDevice` se conectem publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.2.x ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
Grupos de dispositivos são grupos de dispositivos cliente que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos cliente e definir *políticas de autorização de dispositivos cliente* que especifiquem as permissões para cada grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`formatVersion`  
A versão do formato desse objeto de configuração.  
Escolha uma das seguintes opções:  
+ `2021-03-05`  
`definitions`  
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma *regra de seleção* para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondem à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.  
Esse objeto contém as informações a seguir:    
`groupNameKey`  
O nome desse grupo de dispositivos. *groupNameKey*Substitua por um nome que ajude a identificar esse grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`selectionRule`  
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.  
Cada regra de seleção inclui pelo menos uma *cláusula de regra de seleção*, que é uma consulta de expressão única que pode corresponder aos dispositivos cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a [sintaxe da consulta de indexação de frotas do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Use o curinga `*` para combinar vários dispositivos cliente com uma cláusula de regra de seleção. É possível usar esse curinga no final do nome da coisa para corresponder aos dispositivos cliente cujos nomes começam com uma string especificada por você. Também é possível usar esse curinga para corresponder a todos os dispositivos cliente.  
Para selecionar um valor que contenha um caractere de dois pontos (`:`), faça o escape dos dois pontos com um caractere de barra invertida (`\\`). Em formatos como JSON, é necessário fazer o escape dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifique `thingName: MyTeam\\\\:ClientDevice1` para selecionar uma coisa cujo nome seja `MyTeam:ClientDevice1`.
É possível especificar o seguinte seletor:  
+ `thingName`: o nome da coisa do AWS IoT de um dispositivo cliente.

**Example Exemplo de regra de seleção**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes são `MyClientDevice1` ou `MyClientDevice2`.  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes começam com `MyClientDevice`.  

```
thingName: MyClientDevice*
```

**Example Exemplo de regra de seleção (corresponder a todos os dispositivos)**  
A regra de seleção a seguir corresponde a todos os dispositivos cliente.  

```
thingName: *
```  
`policyName`  
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no objeto `policies`.  
`policies`  
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.  
Esse objeto contém as informações a seguir:    
`policyNameKey`  
O nome dessa política de autorização. *policyNameKey*Substitua por um nome que ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`statementNameKey`  
O nome dessa declaração de política. *statementNameKey*Substitua por um nome que ajude a identificar essa declaração de política.  
Esse objeto contém as informações a seguir:    
`operations`  
A lista de operações para permitir os recursos dessa política.  
É possível incluir usando uma destas operações:  
+ `mqtt:connect`: concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.

  Essa operação é compatível com os seguintes recursos:
  + `mqtt:clientId:deviceClientId`: restringe o acesso com base no ID do cliente que um dispositivo cliente usa para se conectar ao agente MQTT do dispositivo principal. *deviceClientId*Substitua pela ID do cliente a ser usada.
+ `mqtt:publish`: concede permissão para publicar mensagens MQTT em tópicos.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic`: restringe o acesso com base no tópico MQTT em que um dispositivo cliente publica uma mensagem. *mqttTopic*Substitua pelo tópico a ser usado.

    Esse recurso não é compatível com curingas de tópicos MQTT.
+ `mqtt:subscribe`: concede permissão para assinar os filtros de tópicos MQTT para receber mensagens.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter`: restringe o acesso com base nos tópicos MQTT em que um dispositivo cliente pode assinar mensagens. *mqttTopicFilter*Substitua pelo filtro de tópicos a ser usado.

    Esse recurso é compatível com os curingas `+` e `#` do tópico MQTT. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.

    O dispositivo cliente pode assinar os filtros de tópicos exatos que você permitir. Por exemplo, se você permitir que o dispositivo cliente assine o recurso `mqtt:topicfilter:client/+/status`, o dispositivo cliente poderá assinar `client/+/status`, mas não `client/client1/status`.
É possível especificar o curinga `*` para permitir o acesso a todas as ações.  
`resources`  
A lista de recursos para permitir as operações dessa política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, é possível especificar uma lista de recursos de tópicos MQTT (`mqtt:topic:mqttTopic`) em uma política que especifica a operação `mqtt:publish`.  
É possível especificar o curinga `*` para permitir o acesso a todos os recursos. Não é possível usar o curinga `*` para corresponder a identificadores parciais de recursos. Por exemplo, é possível especificar **"resources": "\$1"**, mas não é possível especificar **"resources": "mqtt:clientId:\$1"**.  
`statementDescription`  
(Opcional) Uma descrição para essa declaração de política.

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as informações a seguir:    
`serverCertificateValiditySeconds`  
(Opcional) A quantidade de tempo (em segundos) após a qual o certificado do servidor MQTT local expira. É possível configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.  
Esse componente alterna o certificado do servidor MQTT local 24 horas antes de expirar. O agente MQTT, como o [componente do agente Moquette MQTT](mqtt-broker-moquette-component.md), gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos cliente conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período.  
Padrão: `604800` (7 dias)  
Valor mínimo: `172800` (2 dias)  
Valor máximo: `864000` (10 dias)

`performance`  
(Opcional) As opções de configuração de performance desse dispositivo principal. Esse objeto contém as informações a seguir:    
`maxActiveAuthTokens`  
(Opcional) O número máximo de tokens de autorização do dispositivo cliente ativos. É possível aumentar esse número para permitir que um número maior de dispositivos cliente se conecte a um único dispositivo principal sem precisar reautenticá-los.  
Padrão: `2500`  
`cloudRequestQueueSize`  
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.  
Padrão: `100`  
`maxConcurrentCloudRequests`  
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para a Nuvem AWS. É possível aumentar esse número para melhorar a performance da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos cliente.  
Padrão: `1`

**Example Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com `MyClientDevice` se conectem publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.1.x ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
Grupos de dispositivos são grupos de dispositivos cliente que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos cliente e definir *políticas de autorização de dispositivos cliente* que especifiquem as permissões para cada grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`formatVersion`  
A versão do formato desse objeto de configuração.  
Escolha uma das seguintes opções:  
+ `2021-03-05`  
`definitions`  
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma *regra de seleção* para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondem à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.  
Esse objeto contém as informações a seguir:    
`groupNameKey`  
O nome desse grupo de dispositivos. *groupNameKey*Substitua por um nome que ajude a identificar esse grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`selectionRule`  
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.  
Cada regra de seleção inclui pelo menos uma *cláusula de regra de seleção*, que é uma consulta de expressão única que pode corresponder aos dispositivos cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a [sintaxe da consulta de indexação de frotas do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Use o curinga `*` para combinar vários dispositivos cliente com uma cláusula de regra de seleção. É possível usar esse curinga no final do nome da coisa para corresponder aos dispositivos cliente cujos nomes começam com uma string especificada por você. Também é possível usar esse curinga para corresponder a todos os dispositivos cliente.  
Para selecionar um valor que contenha um caractere de dois pontos (`:`), faça o escape dos dois pontos com um caractere de barra invertida (`\\`). Em formatos como JSON, é necessário fazer o escape dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifique `thingName: MyTeam\\\\:ClientDevice1` para selecionar uma coisa cujo nome seja `MyTeam:ClientDevice1`.
É possível especificar o seguinte seletor:  
+ `thingName`: o nome da coisa do AWS IoT de um dispositivo cliente.

**Example Exemplo de regra de seleção**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes são `MyClientDevice1` ou `MyClientDevice2`.  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes começam com `MyClientDevice`.  

```
thingName: MyClientDevice*
```

**Example Exemplo de regra de seleção (corresponder a todos os dispositivos)**  
A regra de seleção a seguir corresponde a todos os dispositivos cliente.  

```
thingName: *
```  
`policyName`  
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no objeto `policies`.  
`policies`  
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.  
Esse objeto contém as informações a seguir:    
`policyNameKey`  
O nome dessa política de autorização. *policyNameKey*Substitua por um nome que ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`statementNameKey`  
O nome dessa declaração de política. *statementNameKey*Substitua por um nome que ajude a identificar essa declaração de política.  
Esse objeto contém as informações a seguir:    
`operations`  
A lista de operações para permitir os recursos dessa política.  
É possível incluir usando uma destas operações:  
+ `mqtt:connect`: concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.

  Essa operação é compatível com os seguintes recursos:
  + `mqtt:clientId:deviceClientId`: restringe o acesso com base no ID do cliente que um dispositivo cliente usa para se conectar ao agente MQTT do dispositivo principal. *deviceClientId*Substitua pela ID do cliente a ser usada.
+ `mqtt:publish`: concede permissão para publicar mensagens MQTT em tópicos.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic`: restringe o acesso com base no tópico MQTT em que um dispositivo cliente publica uma mensagem. *mqttTopic*Substitua pelo tópico a ser usado.

    Esse recurso não é compatível com curingas de tópicos MQTT.
+ `mqtt:subscribe`: concede permissão para assinar os filtros de tópicos MQTT para receber mensagens.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter`: restringe o acesso com base nos tópicos MQTT em que um dispositivo cliente pode assinar mensagens. *mqttTopicFilter*Substitua pelo filtro de tópicos a ser usado.

    Esse recurso é compatível com os curingas `+` e `#` do tópico MQTT. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.

    O dispositivo cliente pode assinar os filtros de tópicos exatos que você permitir. Por exemplo, se você permitir que o dispositivo cliente assine o recurso `mqtt:topicfilter:client/+/status`, o dispositivo cliente poderá assinar `client/+/status`, mas não `client/client1/status`.
É possível especificar o curinga `*` para permitir o acesso a todas as ações.  
`resources`  
A lista de recursos para permitir as operações dessa política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, é possível especificar uma lista de recursos de tópicos MQTT (`mqtt:topic:mqttTopic`) em uma política que especifica a operação `mqtt:publish`.  
É possível especificar o curinga `*` para permitir o acesso a todos os recursos. Não é possível usar o curinga `*` para corresponder a identificadores parciais de recursos. Por exemplo, é possível especificar **"resources": "\$1"**, mas não é possível especificar **"resources": "mqtt:clientId:\$1"**.  
`statementDescription`  
(Opcional) Uma descrição para essa declaração de política.

`certificates`  <a name="client-device-auth-component-configuration-certificates"></a>
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as informações a seguir:    
`serverCertificateValiditySeconds`  
(Opcional) A quantidade de tempo (em segundos) após a qual o certificado do servidor MQTT local expira. É possível configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.  
Esse componente alterna o certificado do servidor MQTT local 24 horas antes de expirar. O agente MQTT, como o [componente do agente Moquette MQTT](mqtt-broker-moquette-component.md), gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos cliente conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período.  
Padrão: `604800` (7 dias)  
Valor mínimo: `172800` (2 dias)  
Valor máximo: `864000` (10 dias)

**Example Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com `MyClientDevice` se conectem publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------
#### [ v2.0.x ]

`deviceGroups`  <a name="client-device-auth-component-configuration-devicegroups"></a>
Grupos de dispositivos são grupos de dispositivos cliente que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos cliente e definir *políticas de autorização de dispositivos cliente* que especifiquem as permissões para cada grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`formatVersion`  
A versão do formato desse objeto de configuração.  
Escolha uma das seguintes opções:  
+ `2021-03-05`  
`definitions`  
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma *regra de seleção* para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondem à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.  
Esse objeto contém as informações a seguir:    
`groupNameKey`  
O nome desse grupo de dispositivos. *groupNameKey*Substitua por um nome que ajude a identificar esse grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`selectionRule`  
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.  
Cada regra de seleção inclui pelo menos uma *cláusula de regra de seleção*, que é uma consulta de expressão única que pode corresponder aos dispositivos cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a [sintaxe da consulta de indexação de frotas do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Use o curinga `*` para combinar vários dispositivos cliente com uma cláusula de regra de seleção. É possível usar esse curinga no final do nome da coisa para corresponder aos dispositivos cliente cujos nomes começam com uma string especificada por você. Também é possível usar esse curinga para corresponder a todos os dispositivos cliente.  
Para selecionar um valor que contenha um caractere de dois pontos (`:`), faça o escape dos dois pontos com um caractere de barra invertida (`\\`). Em formatos como JSON, é necessário fazer o escape dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifique `thingName: MyTeam\\\\:ClientDevice1` para selecionar uma coisa cujo nome seja `MyTeam:ClientDevice1`.
É possível especificar o seguinte seletor:  
+ `thingName`: o nome da coisa do AWS IoT de um dispositivo cliente.

**Example Exemplo de regra de seleção**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes são `MyClientDevice1` ou `MyClientDevice2`.  

```
thingName: MyClientDevice1 OR thingName: MyClientDevice2
```

**Example Exemplo de regra de seleção (usar curingas)**  
A regra de seleção a seguir corresponde aos dispositivos cliente cujos nomes começam com `MyClientDevice`.  

```
thingName: MyClientDevice*
```

**Example Exemplo de regra de seleção (corresponder a todos os dispositivos)**  
A regra de seleção a seguir corresponde a todos os dispositivos cliente.  

```
thingName: *
```  
`policyName`  
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no objeto `policies`.  
`policies`  
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.  
Esse objeto contém as informações a seguir:    
`policyNameKey`  
O nome dessa política de autorização. *policyNameKey*Substitua por um nome que ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.  
Esse objeto contém as informações a seguir:    
`statementNameKey`  
O nome dessa declaração de política. *statementNameKey*Substitua por um nome que ajude a identificar essa declaração de política.  
Esse objeto contém as informações a seguir:    
`operations`  
A lista de operações para permitir os recursos dessa política.  
É possível incluir usando uma destas operações:  
+ `mqtt:connect`: concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.

  Essa operação é compatível com os seguintes recursos:
  + `mqtt:clientId:deviceClientId`: restringe o acesso com base no ID do cliente que um dispositivo cliente usa para se conectar ao agente MQTT do dispositivo principal. *deviceClientId*Substitua pela ID do cliente a ser usada.
+ `mqtt:publish`: concede permissão para publicar mensagens MQTT em tópicos.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topic"></a>`mqtt:topic:mqttTopic`: restringe o acesso com base no tópico MQTT em que um dispositivo cliente publica uma mensagem. *mqttTopic*Substitua pelo tópico a ser usado.

    Esse recurso não é compatível com curingas de tópicos MQTT.
+ `mqtt:subscribe`: concede permissão para assinar os filtros de tópicos MQTT para receber mensagens.

  Essa operação é compatível com os seguintes recursos:
  + <a name="client-device-authorization-policy-resource-mqtt-topicfilter"></a>`mqtt:topicfilter:mqttTopicFilter`: restringe o acesso com base nos tópicos MQTT em que um dispositivo cliente pode assinar mensagens. *mqttTopicFilter*Substitua pelo filtro de tópicos a ser usado.

    Esse recurso é compatível com os curingas `+` e `#` do tópico MQTT. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.

    O dispositivo cliente pode assinar os filtros de tópicos exatos que você permitir. Por exemplo, se você permitir que o dispositivo cliente assine o recurso `mqtt:topicfilter:client/+/status`, o dispositivo cliente poderá assinar `client/+/status`, mas não `client/client1/status`.
É possível especificar o curinga `*` para permitir o acesso a todas as ações.  
`resources`  
A lista de recursos para permitir as operações dessa política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, é possível especificar uma lista de recursos de tópicos MQTT (`mqtt:topic:mqttTopic`) em uma política que especifica a operação `mqtt:publish`.  
É possível especificar o curinga `*` para permitir o acesso a todos os recursos. Não é possível usar o curinga `*` para corresponder a identificadores parciais de recursos. Por exemplo, é possível especificar **"resources": "\$1"**, mas não é possível especificar **"resources": "mqtt:clientId:\$1"**.  
`statementDescription`  
(Opcional) Uma descrição para essa declaração de política.

**Example Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)**  <a name="client-device-auth-component-configuration-example-restrictive"></a>
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com `MyClientDevice` se conectem publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyDeviceGroup": {
        "selectionRule": "thingName: MyClientDevice*",
        "policyName": "MyRestrictivePolicy"
      }
    },
    "policies": {
      "MyRestrictivePolicy": {
        "AllowConnect": {
          "statementDescription": "Allow client devices to connect.",
          "operations": [
            "mqtt:connect"
          ],
          "resources": [
            "*"
          ]
        },
        "AllowPublish": {
          "statementDescription": "Allow client devices to publish on test/topic.",
          "operations": [
            "mqtt:publish"
          ],
          "resources": [
            "mqtt:topic:test/topic"
          ]
        },
        "AllowSubscribe": {
          "statementDescription": "Allow client devices to subscribe to test/topic/response.",
          "operations": [
            "mqtt:subscribe"
          ],
          "resources": [
            "mqtt:topicfilter:test/topic/response"
          ]
        }
      }
    }
  }
}
```

**Example Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)**  <a name="client-device-auth-component-configuration-example-permissive"></a>
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publish/subscribe em todos os tópicos.  

```
{
  "deviceGroups": {
    "formatVersion": "2021-03-05",
    "definitions": {
      "MyPermissiveDeviceGroup": {
        "selectionRule": "thingName: *",
        "policyName": "MyPermissivePolicy"
      }
    },
    "policies": {
      "MyPermissivePolicy": {
        "AllowAll": {
          "statementDescription": "Allow client devices to perform all actions.",
          "operations": [
            "*"
          ],
          "resources": [
            "*"
          ]
        }
      }
    }
  }
}
```

------

## Arquivo de log local
<a name="client-device-auth-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="client-device-auth-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.5.5  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  2.5.4  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.5.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.5.2  |  Versão atualizada para o Greengrass nucleus versão 2.14.0.  | 
|  2.5.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.5.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.4.5  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html) | 
|  2.4.4  | Versão atualizada para o Greengrass nucleus versão 2.12.0. | 
|  2.4.3  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.4.2  |  <a name="changelog-client-device-auth-2.4.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.4.1  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.4.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.3.0  |   Esta versão não está mais disponível. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  Novos recursos [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.2.3  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.2.1  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.2.0  |  <a name="changelog-client-device-auth-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.0.4  |  Versão atualizada para o Greengrass nucleus versão 2.5.0.  | 
|  2.0.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/client-device-auth-component.html)  | 
|  2.0.2  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.1  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.0  |  Versão inicial.  | 

# CloudWatch métricas
<a name="cloudwatch-metrics-component"></a>

O componente de CloudWatch métricas da Amazon (`aws.greengrass.Cloudwatch`) publica métricas personalizadas dos principais dispositivos do Greengrass na Amazon. CloudWatch O componente permite que os componentes publiquem CloudWatch métricas, que você pode usar para monitorar e analisar o ambiente do dispositivo principal do Greengrass. Para obter mais informações, consulte [Usando CloudWatch métricas da Amazon](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/working_with_metrics.html) no *Guia CloudWatch do usuário da Amazon*.

Para publicar uma CloudWatch métrica com esse componente, publique uma mensagem em um tópico em que esse componente se inscreva. Por padrão, esse componente está inscrito no tópico [local de publicação/assinatura](ipc-publish-subscribe.md) do `cloudwatch/metric/put`. Você pode especificar outros tópicos, incluindo tópicos do AWS IoT Core MQTT, ao implantar esse componente.

Esse componente agrupa métricas que estão no mesmo namespace e as publica em intervalos regulares. CloudWatch 

**nota**  
Esse componente fornece funcionalidade semelhante ao conector de CloudWatch métricas na AWS IoT Greengrass V1. Para obter mais informações, consulte o [conector de CloudWatch métricas](https://docs.aws.amazon.com/greengrass/latest/developerguide/cloudwatch-metrics-connector.html) no *Guia do desenvolvedor AWS IoT Greengrass V1*.

**Topics**
+ [Versões](#cloudwatch-metrics-component-versions)
+ [Tipo](#cloudwatch-metrics-component-type)
+ [Sistema operacional](#cloudwatch-metrics-component-os-support)
+ [Requisitos](#cloudwatch-metrics-component-requirements)
+ [Dependências](#cloudwatch-metrics-component-dependencies)
+ [Configuração](#cloudwatch-metrics-component-configuration)
+ [Dados de entrada](#cloudwatch-metrics-component-input-data)
+ [Dados de saída](#cloudwatch-metrics-component-output-data)
+ [Licenças](#cloudwatch-metrics-component-licenses)
+ [Arquivo de log local](#cloudwatch-metrics-component-log-file)
+ [Changelog](#cloudwatch-metrics-component-changelog)
+ [Consulte também](#cloudwatch-metrics-component-see-also)

## Versões
<a name="cloudwatch-metrics-component-versions"></a>

Esse componente tem as seguintes versões:
+ 3.2.x
+ 3.1.x
+ 3.0.x
+ 2.1.x
+ 2.0.x

Para informações sobre alterações em cada versão do componente, consulte [changelog](#cloudwatch-metrics-component-changelog).

## Tipo
<a name="cloudwatch-metrics-component-type"></a>

------
#### [ v3.x ]

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

------
#### [ v2.x ]

<a name="public-component-type-lambda"></a>Esse <a name="public-component-type-lambda-phrase"></a>é um componente do Lambda (`aws.greengrass.lambda`).. O [Greengrass nucleus](greengrass-nucleus-component.md) executa a função do Lambda desse componente usando o [componente inicializador do Lambda](lambda-launcher-component.md).

------

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="cloudwatch-metrics-component-os-support"></a>

------
#### [ v3.x ]

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

------
#### [ v2.x ]

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

------

## Requisitos
<a name="cloudwatch-metrics-component-requirements"></a>

Esse componente tem os seguintes requisitos:

------
#### [ 3.x ]
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) versão 3.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ O [perfil do dispositivo do Greengrass](device-service-role.md) deve permitir a ação `cloudwatch:PutMetricData`, conforme mostrado no exemplo de política do IAM a seguir.

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  Para obter mais informações, consulte a [referência de CloudWatch permissões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html) da *Amazon no Guia CloudWatch do usuário da Amazon*.

------
#### [ 2.x ]
+ <a name="core-device-lambda-function-requirements"></a>O dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você deseja que o dispositivo principal execute funções do Lambda em contêiner, o dispositivo deve atender aos requisitos para isso. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) versão 3.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ O [perfil do dispositivo do Greengrass](device-service-role.md) deve permitir a ação `cloudwatch:PutMetricData`, conforme mostrado no exemplo de política do IAM a seguir.

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  Para obter mais informações, consulte a [referência de CloudWatch permissões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html) da *Amazon no Guia CloudWatch do usuário da Amazon*.
+ <a name="connector-component-legacy-subscription-router-dependency"></a>Para receber os dados de saída desse componente, é necessário mesclar a seguinte atualização de configuração no [componente legado de roteador de assinatura](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) ao implantar esse componente. Essa configuração especifica o tópico em que esse componente publica as respostas.

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "component:aws.greengrass.Cloudwatch",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-cloudwatch:version",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region*Substitua pelo Região da AWS que você usa.
  + *version*Substitua pela versão da função Lambda que esse componente executa. Para encontrar a versão da função do Lambda, é necessário visualizar a fórmula da versão desse componente que deseja implantar. Abra a página de detalhes do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass) e procure o par de chave/valor da **função do Lambda**. Esse par de chave/valor contém o nome e a versão da função do Lambda.

**Importante**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
É necessário atualizar a versão da função do Lambda no roteador de assinatura legado sempre que implantar esse componente. Isso garante que você use a versão correta da função do Lambda em relação à do componente que é implantado.

------

  <a name="connector-component-create-deployments"></a>Para obter mais informações, consulte [Criar implantações](create-deployments.md).

------

### Endpoints e portas
<a name="cloudwatch-metrics-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `monitoring.region.amazonaws.com`  | 443 | Sim |   CloudWatch Métricas de upload.  | 

## Dependências
<a name="cloudwatch-metrics-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#cloudwatch-metrics-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 3.2.0 ]

A tabela a seguir lista as dependências das versões 3.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 3.0.0 - 3.1.0 ]

A tabela a seguir lista as dependências das versões 3.0.0 e 3.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 2.1.4 - 2.1.9 ]

A tabela a seguir lista as dependências das versões 2.1.4 a 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.4 - 2.1.8 ]

A tabela a seguir lista as dependências das versões 2.1.4 e 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.2 - 2.1.3 ]

A tabela a seguir lista as dependências das versões 2.1.2 e 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.8 - 2.1.0 ]

A tabela a seguir lista as dependências das versões 2.0.8 a 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.7 ]

A tabela a seguir lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.6 ]

A tabela a seguir lista as dependências da versão 2.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.5 ]

A tabela a seguir lista as dependências da versão 2.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.4 ]

A tabela a seguir lista as dependências da versão 2.0.4 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.3 ]

A tabela a seguir lista as dependências para a versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | >=1.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | >=1.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=1.0.0  | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="cloudwatch-metrics-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ v3.x ]

 `PublishInterval`   
(Opcional) O número máximo de segundos a aguardar antes que o componente publique métricas em lote para um determinado namespace. Para configurar o componente para publicar métricas à medida que as recebe, ou seja, sem agrupamento em lotes, especifique `0`.  
O componente é publicado CloudWatch após receber 20 métricas no mesmo namespace ou após o intervalo especificado por você.  
O componente não especifica a ordem na qual os eventos são publicados.
Esse valor pode ser de no máximo 900 segundos.  
Padrão: 10 segundos

 `MaxMetricsToRetain`   
(Opcional) O número máximo de métricas em todos os namespaces a serem salvas na memória antes que o componente as substitua por métricas mais novas.  
Esse limite se aplica quando o dispositivo principal não tem uma conexão com a Internet, então o componente armazena em buffer as métricas para publicar posteriormente. Quando o buffer está cheio, o componente substitui as métricas mais antigas por outras mais recentes. Métricas em um determinado namespace substituem apenas métricas no mesmo namespace.  
Se o processo de host do componente for interrompido, o componente não salvará as métricas. Isso pode ocorrer durante a implantação ou quando o dispositivo é reiniciado, por exemplo.
Esse valor deve ser de pelo menos 2.000 métricas.  
Padrão: 5.000 métricas

`InputTopic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `true` para `PubSubToIoTCore`, poderá usar curingas MQTT (\$1 e \$1) nesse tópico.  
Padrão: `cloudwatch/metric/put`

`OutputTopic`  
(Opcional) O tópico no qual o componente publica respostas de status.  
Padrão: `cloudwatch/metric/put/status`

`PubSubToIoTCore`  
(Opcional) Valor da string que define se é necessário publicar e assinar tópicos do MQTT do AWS IoT Core . Os valores compatíveis são `true` e `false`.  
Padrão: `false`

`LogLevel`  
(Opcional) O nível de registro em log do componente. Escolha entre os seguintes níveis de log, listados aqui em ordem de nível:  
+ `DEBUG`
+ `INFO`
+ `WARNING`
+ `ERROR`
+ `CRITICAL`
Padrão: `INFO`

`UseInstaller`  
(Opcional) Valor booleano que define se o script do instalador deve ser usado nesse componente para instalar as dependências do SDK dele.  
Defina esse valor como `false` se você quiser usar um script personalizado para instalar dependências ou se quiser incluir dependências de runtime em uma imagem Linux pré-criada. Para usar esse componente, é preciso instalar as seguintes bibliotecas, incluindo quaisquer dependências, e disponibilizá-las para o usuário padrão do sistema do Greengrass.  
+ [AWS IoT Device SDK v2 para Python](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS SDK para Python (Boto3)](http://boto.readthedocs.org/en/latest/ref/)
Padrão: `true`

`PublishRegion`  
(Opcional) O Região da AWS para o qual publicar CloudWatch métricas. Esse valor substitui a região padrão do dispositivo principal. Este parâmetro é necessário apenas para métricas entre regiões.

`accessControl`  
(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite ao componente publicar e assinar os tópicos especificados. Se você especificar valores personalizados para `InputTopic` e `OutputTopic`, será preciso atualizar os valores dos recursos nesse objeto.   
Padrão:   

```
{
  "aws.greengrass.ipc.pubsub": {
    "aws.greengrass.Cloudwatch:pubsub:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToTopic"
      ],
      "resources": [
        "cloudwatch/metric/put"
      ]
    },
    "aws.greengrass.Cloudwatch:pubsub:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToTopic"
      ],
      "resources": [
        "cloudwatch/metric/put/status"
      ]
    }
  },
  "aws.greengrass.ipc.mqttproxy": {
    "aws.greengrass.Cloudwatch:mqttproxy:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToIoTCore"
      ],
      "resources": [
        "cloudwatch/metric/put"
      ]
    },
    "aws.greengrass.Cloudwatch:mqttproxy:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToIoTCore"
      ],
      "resources": [
        "cloudwatch/metric/put/status"
      ]
    }
  }
}
```

**Example Exemplo: atualização da mesclagem de configuração**  

```
{
  "PublishInterval": 0,
  "PubSubToIoTCore": true
}
```

------
#### [ v2.x ]

**nota**  <a name="connector-component-lambda-parameters"></a>
A configuração padrão desse componente inclui parâmetros da função do Lambda. Recomendamos que você edite somente os parâmetros a seguir para configurar esse componente em seus dispositivos.

 `lambdaParams`   
Um objeto que contém os parâmetros para a função do Lambda desse componente. Esse objeto contém as informações a seguir:    
 `EnvironmentVariables`   
Um objeto que contém os parâmetros da função do Lambda. Esse objeto contém as informações a seguir:    
 `PUBLISH_INTERVAL`   
(Opcional) O número máximo de segundos a aguardar antes que o componente publique métricas em lote para um determinado namespace. Para configurar o componente para publicar métricas à medida que as recebe, ou seja, sem agrupamento em lotes, especifique `0`.  
O componente é publicado CloudWatch após receber 20 métricas no mesmo namespace ou após o intervalo especificado por você.  
O componente não garante a ordem em que os eventos são publicados.
Esse valor pode ser de no máximo 900 segundos.  
Padrão: 10 segundos  
 `MAX_METRICS_TO_RETAIN`   
(Opcional) O número máximo de métricas em todos os namespaces a serem salvas na memória antes que o componente as substitua por métricas mais novas.  
Esse limite se aplica quando o dispositivo principal não tem uma conexão com a Internet, então o componente armazena em buffer as métricas para publicar posteriormente. Quando o buffer está cheio, o componente substitui as métricas mais antigas por outras mais recentes. Métricas em um determinado namespace substituem apenas métricas no mesmo namespace.  
Se o processo de host do componente for interrompido, o componente não salvará as métricas. Isso pode ocorrer durante a implantação ou quando o dispositivo é reiniciado, por exemplo.
Esse valor deve ser de pelo menos 2.000 métricas.  
Padrão: 5.000 métricas  
 `PUBLISH_REGION`   
(Opcional) O Região da AWS para o qual publicar CloudWatch métricas. Esse valor substitui a região padrão do dispositivo principal. Este parâmetro é necessário apenas para métricas entre regiões.

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(Opcional) O modo de conteinerização desse componente. Escolha uma das seguintes opções:  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer`; o componente não é executado em um ambiente de runtime isolado.
+ `GreengrassContainer`— O componente é executado em um ambiente de execução isolado dentro do AWS IoT Greengrass contêiner.
Padrão: `GreengrassContainer`

 `containerParams`   
<a name="connector-component-container-params-description"></a>(Opcional) Um objeto que contém os parâmetros de contêiner para esse componente. O componente usará esses parâmetros se você especificar `GreengrassContainer` para `containerMode`.  
Esse objeto contém as informações a seguir:    
 `memorySize`   
<a name="connector-component-container-params-memory-size-description"></a>(Opcional) A quantidade de memória (em kilobytes) a ser alocada para o componente.  
O padrão é de 64 MB (65.535 KB).

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Opcional) Um objeto que contém os tópicos que o componente assina para receber mensagens. Você pode especificar cada tópico e se o componente se inscreve nos tópicos do MQTT AWS IoT Core ou nos tópicos locais publish/subscribe .  
Esse objeto contém as informações a seguir:    
`0`: este é um índice de matriz como uma string.  
Um objeto que contém as seguintes informações:    
`type`  
(Opcional) O tipo de publish/subscribe mensagem que esse componente usa para assinar mensagens. Escolha uma das seguintes opções:  
+ `PUB_SUB` – Assine mensagens locais de publicar/assinar. Se escolher essa opção, o tópico não poderá conter curingas MQTT. Para obter mais informações sobre como enviar mensagens do componente personalizado quando você especifica essa opção, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md).
+ `IOT_CORE`— Assine as mensagens do AWS IoT Core MQTT. Se você escolher essa opção, o tópico poderá conter curingas do MQTT. Para obter mais informações sobre como enviar mensagens de componentes personalizados quando você especifica essa opção, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).
Padrão: `PUB_SUB`  
`topic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `IotCore` para `type`, poderá usar curingas MQTT (`+` e `#`) neste tópico.

**Example Exemplo: atualização da mesclagem de configuração (modo de contêiner)**  

```
{
  "containerMode": "GreengrassContainer"
}
```

**Example Exemplo: atualização da mesclagem de configuração (sem modo de contêiner)**  

```
{
  "containerMode": "NoContainer"
}
```

------

## Dados de entrada
<a name="cloudwatch-metrics-component-input-data"></a>

Esse componente aceita métricas no tópico a seguir e as publica em. CloudWatch <a name="connector-component-local-publish"></a>Por padrão, esse componente se inscreve em publish/subscribe mensagens locais. Para obter mais informações sobre como publicar mensagens nesse componente a partir de seus componentes personalizados, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md). 

A partir da versão v3.0.0 do componente, você tem a opção de configurar esse componente para assinar um tópico MQTT definindo o parâmetro de configuração `PubSubToIoTCore` como `true`. Para obter mais informações sobre como publicar mensagens em um tópico MQTT nos componentes personalizados, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).

 **Tópico padrão:** `cloudwatch/metric/put` 

<a name="connector-component-input-properties"></a>A mensagem aceita as propriedades a seguir. As mensagens de entrada devem estar no formato JSON.

 `request`   
A métrica nessa mensagem.  
O objeto de solicitação contém os dados de métrica para publicação no CloudWatch. Os valores de métrica devem atender às especificações da operação [https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html).  
Tipo: o `object` que contém as seguintes informações:    
 `namespace`   
O namespace definido pelo usuário para os dados métricos nessa solicitação. CloudWatch usa namespaces como contêineres para pontos de dados métricos.  
Você não pode especificar um namespace que comece com a string reservada `AWS/`.
Digite: `string`  
Padrão válido: `[^:].*`  
 `metricData`   
Os dados para a métrica.  
Tipo: o `object` que contém as seguintes informações:    
 `metricName`   
O nome da métrica.  
Tipo: `string`  
 `value`   
O valor para a métrica.  
CloudWatch rejeita valores muito pequenos ou muito grandes. O valor deve estar entre `8.515920e-109` e `1.174271e+108` (Base 10) ou `2e-360` e `2e360` (Base 2). CloudWatch não suporta valores especiais como `NaN``+Infinity`, `-Infinity` e.
Tipo: `double`  
 `dimensions`   
(Opcional) As dimensões da métrica. As dimensões fornecem informações adicionais sobre a métrica e seus dados. Uma métrica pode definir até 10 dimensões.  
Esse componente inclui, automaticamente, uma dimensão chamada `coreName`, em que o valor é o nome do núcleo do dispositivo.  
Tipo: o `array` de objetos que contêm, cada um, as seguintes informações:    
 `name`   
(Opcional) O nome da dimensão.  
Tipo: `string`  
 `value`   
(Opcional) O valor da dimensão.  
Tipo: `string`  
 `timestamp`   
(Opcional) O horário em que os dados métricos foram recebidos, expresso em segundos no horário de época do Unix.  
O padrão é a hora em que o componente recebe a mensagem.  
Tipo: `double`  
Se você usar entre as versões 2.0.3 e 2.0.7 deste componente, recomendamos que recupere o carimbo de data/hora separadamente para cada métrica ao enviar várias métricas de uma única fonte. Não use uma variável para armazenar o timestamp.  
 `unit`   
(Opcional) A unidade da métrica.  
Tipo: `string`  
Valores válidos: `Seconds`, `Microseconds`, `Milliseconds`, `Bytes`, `Kilobytes`, `Megabytes`, `Gigabytes`, `Terabytes`, `Bits`, `Kilobits`, `Megabits`, `Gigabits`, `Terabits`, `Percent`, `Count`, `Bytes/Second`, `Kilobytes/Second`, `Megabytes/Second`, `Gigabytes/Second`, `Terabytes/Second`, `Bits/Second`, `Kilobits/Second`, `Megabits/Second`, `Gigabits/Second`, `Terabits/Second`, `Count/Second`, `None`  
O padrão é `None`.

**nota**  
Todas as cotas que se aplicam à CloudWatch `PutMetricData` API se aplicam às métricas que você publica com esse componente. As seguintes cotas são especialmente importantes:  
Limite de 40 KB na carga útil da API
20 métricas por solicitação de API
150 transações por segundo (TPS) para a API `PutMetricData`
Para obter mais informações, consulte as [cotas de CloudWatch serviço](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html) no *Guia do CloudWatch usuário*.

**Example Exemplo de entrada**  

```
{
  "request": {
    "namespace": "Greengrass",
    "metricData": {
      "metricName": "latency",
      "dimensions": [
        {
          "name": "hostname",
          "value": "test_hostname"
        }
      ],
      "timestamp": 1539027324,
      "value": 123.0,
      "unit": "Seconds"
    }
  }
}
```

## Dados de saída
<a name="cloudwatch-metrics-component-output-data"></a>

 <a name="connector-component-output-data-pubsub"></a>Por padrão, esse componente publica respostas como dados de saída no publish/subscribe tópico local a seguir. Para obter mais informações sobre como assinar mensagens nesse tópico nos componentes personalizados, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md). 

Como opção, é possível configurar esse componente para publicar em um tópico MQTT definindo o parâmetro de configuração `PubSubToIoTCore` como `true`. Para obter mais informações sobre como assinar mensagens em um tópico MQTT nos componentes personalizados, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).

**nota**  
As versões 2.0.x do componente publicam respostas como dados de saída em um tópico MQTT por padrão. É necessário especificar o tópico como `subject` na configuração do [componente legado de roteador de assinatura](legacy-subscription-router-component.md).

 **Tópico padrão:** `cloudwatch/metric/put/status` 

**Example Exemplo de resultado: sucesso**  
A resposta inclui o namespace dos dados métricos e o `RequestId` campo da CloudWatch resposta.  

```
{
  "response": {
    "cloudwatch_rid": "70573243-d723-11e8-b095-75ff2EXAMPLE",
    "namespace": "Greengrass",
    "status": "success"
  }
}
```

**Example Exemplo de resultado: falha**  

```
{
  "response" : {
    "namespace": "Greengrass",
    "error": "InvalidInputException",
    "error_message": "cw metric is invalid",
    "status": "fail"
  }
}
```

**nota**  <a name="connector-component-retryable-error"></a>
Se o componente detectar um erro que pode ser repetido, como um erro de conexão, ele tentará publicar novamente no próximo lote.

## Licenças
<a name="cloudwatch-metrics-component-licenses"></a>

Esse componente 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

<a name="component-core-software-license"></a>Esse componente é liberado de acordo com o [Contrato de licença de software Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Arquivo de log local
<a name="cloudwatch-metrics-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.Cloudwatch.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.Cloudwatch.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.Cloudwatch.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.Cloudwatch.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="cloudwatch-metrics-component-changelog"></a>

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

------
#### [ v3.x ]


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  3.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  3.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  3.0.0  |  <a name="changelog-cloudwatch-metrics-3.0.0-major-version-changes"></a>Essa versão do componente de CloudWatch métricas espera parâmetros de configuração diferentes da versão 2.x. Se você usar uma configuração não padrão para a versão 2.x e quiser atualizar da v2.x para a v3.x, deverá atualizar a configuração do componente. Para obter mais informações, consulte a [configuração do componente de CloudWatch métricas](#cloudwatch-metrics-component-configuration). <a name="changelog-cloudwatch-metrics-3.0.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 

------
#### [ v2.x ]


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.8  |  Versão atualizada para o Greengrass nucleus versão 2.13.0.  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  2.0.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/cloudwatch-metrics-component.html)  | 
|  2.0.7  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.6  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.5  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  2.0.4  |  Versão atualizada para o Greengrass nucleus versão 2.1.0.  | 
|  2.0.3  |  Versão inicial.  | 

------

## Consulte também
<a name="cloudwatch-metrics-component-see-also"></a>
+ [Usando CloudWatch métricas da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) no *Guia do CloudWatch usuário da Amazon*
+ [PutMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html)na *Amazon CloudWatch API Reference*

# AWS IoT Device Defender
<a name="device-defender-component"></a>

O AWS IoT Device Defender componente (`aws.greengrass.DeviceDefender`) notifica os administradores sobre mudanças no estado dos dispositivos principais do Greengrass. Isso pode ajudar a identificar comportamento incomum e, assim, indicar um dispositivo comprometido. Para obter mais informações, consulte [AWS IoT Device Defender](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender.html) no *Guia do desenvolvedor do AWS IoT Core *.

Esse componente lê as métricas do sistema no dispositivo principal. Em seguida, ele publica as métricas para o AWS IoT Device Defender. Para mais informações sobre como ler e interpretar as métricas que esse componente relata, consulte [Especificação do documento de métricas do dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/detect-device-side-metrics.html#DetectMetricsMessagesSpec) no *Guia do desenvolvedor do AWS IoT Core *.

**nota**  
Esse componente fornece funcionalidade semelhante ao conector do Device Defender em AWS IoT Greengrass V1. Para mais informações, consulte [Conector Device Defender](https://docs.aws.amazon.com/greengrass/latest/developerguide/device-defender-connector.html) no *Guia do desenvolvedor do AWS IoT Greengrass V1 *.

**Topics**
+ [Versões](#device-defender-component-versions)
+ [Tipo](#device-defender-component-type)
+ [Sistema operacional](#device-defender-component-os-support)
+ [Requisitos](#device-defender-component-requirements)
+ [Dependências](#device-defender-component-dependencies)
+ [Configuração](#device-defender-component-configuration)
+ [Dados de entrada](#device-defender-component-input-data)
+ [Dados de saída](#device-defender-component-output-data)
+ [Arquivo de log local](#device-defender-component-log-file)
+ [Licenças](#device-defender-component-licenses)
+ [Changelog](#device-defender-component-changelog)

## Versões
<a name="device-defender-component-versions"></a>

Esse componente tem as seguintes versões:
+ 3.1.x
+ 3.0.x
+ 2.0.x

Para informações sobre alterações em cada versão do componente, consulte [changelog](#device-defender-component-changelog).

## Tipo
<a name="device-defender-component-type"></a>

------
#### [ v3.x ]

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

------
#### [ v2.x ]

<a name="public-component-type-lambda"></a>Esse <a name="public-component-type-lambda-phrase"></a>é um componente do Lambda (`aws.greengrass.lambda`).. O [Greengrass nucleus](greengrass-nucleus-component.md) executa a função do Lambda desse componente usando o [componente inicializador do Lambda](lambda-launcher-component.md).

------

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="device-defender-component-os-support"></a>

------
#### [ v3.x ]

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

------
#### [ v2.x ]

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

------

## Requisitos
<a name="device-defender-component-requirements"></a>

Esse componente tem os seguintes requisitos:

------
#### [ v3.x ]
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) versão 3.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ AWS IoT Device Defender configurado para usar o recurso Detectar para monitorar violações. Para obter mais informações, consulte [Detectar](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.html) no *Guia do desenvolvedor do AWS IoT Core *.

------
#### [ v2.x ]
+ <a name="core-device-lambda-function-requirements"></a>O dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você deseja que o dispositivo principal execute funções do Lambda em contêiner, o dispositivo deve atender aos requisitos para isso. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) versão 3.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ AWS IoT Device Defender configurado para usar o recurso Detectar para monitorar violações. Para obter mais informações, consulte [Detectar](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.html) no *Guia do desenvolvedor do AWS IoT Core *.
+ A biblioteca [psutil](https://pypi.org/project/psutil/) instalada no dispositivo principal. A versão 5.7.0 é a versão mais recente verificada para trabalhar com o componente.
+ A biblioteca [cbor](https://pypi.org/project/cbor/) instalada no dispositivo principal. A versão 1.0.0 é a versão mais recente verificada para trabalhar com o componente.
+ <a name="connector-component-legacy-subscription-router-dependency"></a>Para receber os dados de saída desse componente, é necessário mesclar a seguinte atualização de configuração no [componente legado de roteador de assinatura](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) ao implantar esse componente. Essa configuração especifica o tópico em que esse componente publica as respostas.

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-device-defender": {
        "id": "aws-greengrass-device-defender",
        "source": "component:aws.greengrass.DeviceDefender",
        "subject": "$aws/things/+/defender/metrics/json",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-device-defender": {
        "id": "aws-greengrass-device-defender",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-device-defender:version",
        "subject": "$aws/things/+/defender/metrics/json",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region*Substitua pelo Região da AWS que você usa.
  + *version*Substitua pela versão da função Lambda que esse componente executa. Para encontrar a versão da função do Lambda, é necessário visualizar a fórmula da versão desse componente que deseja implantar. Abra a página de detalhes do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass) e procure o par de chave/valor da **função do Lambda**. Esse par de chave/valor contém o nome e a versão da função do Lambda.

**Importante**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
É necessário atualizar a versão da função do Lambda no roteador de assinatura legado sempre que implantar esse componente. Isso garante que você use a versão correta da função do Lambda em relação à do componente que é implantado.

------

  <a name="connector-component-create-deployments"></a>Para obter mais informações, consulte [Criar implantações](create-deployments.md).

------

## Dependências
<a name="device-defender-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#device-defender-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 3.1.1 ]

A tabela a seguir lista as dependências da versão 3.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 3.0.0 - 3.0.2 ]

A tabela a seguir lista as dependências das versões 3.0.0 e 3.0.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 2.0.12 - 2.0.17 ]

A tabela a seguir lista as dependências da versão 2.0.12 a 2.0.17 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.12 - 2.0.16 ]

A tabela a seguir lista as dependências da versão 2.0.16 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.10 - 2.0.11 ]

A tabela a seguir lista as dependências para as versões 2.0.10 e 2.0.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.9 ]

A tabela a seguir lista as dependências da versão 2.0.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.8 ]

A tabela a seguir lista as dependências da versão 2.0.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.7 ]

A tabela a seguir lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.6 ]

A tabela a seguir lista as dependências da versão 2.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.5 ]

A tabela a seguir lista as dependências da versão 2.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.4 ]

A tabela a seguir lista as dependências da versão 2.0.4 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.3 ]

A tabela a seguir lista as dependências para a versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | >=1.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | >=1.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=1.0.0  | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="device-defender-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ v3.x ]

`PublishRetryCount`  
A quantidade de vezes que a publicação será repetida. Esse atributo está disponível na versão 3.1.1.  
O mínimo é 0.  
O máximo é 72.  
Padrão: 5

`SampleIntervalSeconds`  
(Opcional) A quantidade de tempo em segundos entre cada ciclo em que o componente coleta e relata métricas.  
O valor mínimo é 300 segundos (5 minutos).  
Padrão: 300 segundos

 `UseInstaller`   
(Opcional) Valor booleano que define se o script do instalador deve ser usado nesse componente para instalar as dependências dele.  
Defina esse valor como `false` se você quiser usar um script personalizado para instalar dependências ou se quiser incluir dependências de runtime em uma imagem Linux pré-criada. Para usar esse componente, é preciso instalar as seguintes bibliotecas, incluindo quaisquer dependências, e disponibilizá-las para o usuário padrão do sistema do Greengrass.  
+ [AWS IoT Device SDK v2 para Python](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ Biblioteca [cbor](https://pypi.org/project/cbor/). A versão 1.0.0 é a versão mais recente verificada para trabalhar com o componente.
+ Biblioteca [psutil](https://pypi.org/project/psutil/). A versão 5.7.0 é a versão mais recente verificada para trabalhar com o componente.
Se você usa a versão 3.0.0 ou 3.0.1 desse componente em dispositivos principais que você configura para usar um proxy HTTPS, defina esse valor como `false`. O script do instalador não é compatível com a operação por trás de um proxy HTTPS nessas versões desse componente.
Padrão: `true`

------
#### [ v2.x ]

**nota**  <a name="connector-component-lambda-parameters"></a>
A configuração padrão desse componente inclui parâmetros da função do Lambda. Recomendamos que você edite somente os parâmetros a seguir para configurar esse componente em seus dispositivos.

`lambdaParams`  
Um objeto que contém os parâmetros para a função do Lambda desse componente. Esse objeto contém as informações a seguir:    
`EnvironmentVariables`  
Um objeto que contém os parâmetros da função do Lambda. Esse objeto contém as informações a seguir:    
`PROCFS_PATH`  
(Opcional) O caminho para a pasta `/proc`.  
+ Para executar esse componente em um contêiner, use o valor padrão, `/host-proc`. O componente é executado em um contêiner por padrão.
+ Para executar esse componente no modo sem contêiner, especifique `/proc` para esse parâmetro.
Padrão: `/host-proc`. Esse é o caminho padrão em que esse componente monta a pasta `/proc` no contêiner.  
Esse componente tem acesso somente leitura a essa pasta.  
`SAMPLE_INTERVAL_SECONDS`  
(Opcional) A quantidade de tempo em segundos entre cada ciclo em que o componente coleta e relata métricas.  
O valor mínimo é 300 segundos (5 minutos).  
Padrão: 300 segundos

`containerMode`  
(Opcional) O modo de conteinerização desse componente. Escolha uma das seguintes opções:  
+ `GreengrassContainer`— O componente é executado em um ambiente de execução isolado dentro do AWS IoT Greengrass contêiner.
+ `NoContainer`; o componente não é executado em um ambiente de runtime isolado.

  Se especificar essa opção, será necessário especificar `/proc` para o parâmetro da variável de ambiente `PROCFS_PATH`.
Padrão: `GreengrassContainer`

`containerParams`  
<a name="connector-component-container-params-description"></a>(Opcional) Um objeto que contém os parâmetros de contêiner para esse componente. O componente usará esses parâmetros se você especificar `GreengrassContainer` para `containerMode`.  
Esse objeto contém as informações a seguir:    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(Opcional) A quantidade de memória (em kilobytes) a ser alocada para o componente.  
O padrão é 50.000 KB.

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Opcional) Um objeto que contém os tópicos que o componente assina para receber mensagens. Você pode especificar cada tópico e se o componente se inscreve nos tópicos do MQTT AWS IoT Core ou nos tópicos locais publish/subscribe .  
Esse objeto contém as informações a seguir:    
`0`: este é um índice de matriz como uma string.  
Um objeto que contém as seguintes informações:    
`type`  
(Opcional) O tipo de publish/subscribe mensagem que esse componente usa para assinar mensagens. Escolha uma das seguintes opções:  
+ `PUB_SUB` – Assine mensagens locais de publicar/assinar. Se escolher essa opção, o tópico não poderá conter curingas MQTT. Para obter mais informações sobre como enviar mensagens do componente personalizado quando você especifica essa opção, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md).
+ `IOT_CORE`— Assine as mensagens do AWS IoT Core MQTT. Se você escolher essa opção, o tópico poderá conter curingas do MQTT. Para obter mais informações sobre como enviar mensagens de componentes personalizados quando você especifica essa opção, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).
Padrão: `PUB_SUB`  
`topic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `IotCore` para `type`, poderá usar curingas MQTT (`+` e `#`) neste tópico.

**Example Exemplo: atualização da mesclagem de configuração (modo de contêiner)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "PROCFS_PATH": "/host_proc"
    }
  },
  "containerMode": "GreengrassContainer"
}
```

**Example Exemplo: atualização da mesclagem de configuração (sem modo de contêiner)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "PROCFS_PATH": "/proc"
    }
  },
  "containerMode": "NoContainer"
}
```

------

## Dados de entrada
<a name="device-defender-component-input-data"></a>

Este componente não aceita mensagens como dados de entrada.

## Dados de saída
<a name="device-defender-component-output-data"></a>

Esse componente publica métricas de segurança no seguinte tópico reservado para AWS IoT Device Defender. Esse componente é *coreDeviceName* substituído pelo nome do dispositivo principal quando ele publica as métricas.

**Tópico (AWS IoT Core MQTT):** `$aws/things/coreDeviceName/defender/metrics/json`

**Example Exemplo de saída**  

```
{
  "header": {
    "report_id": 1529963534,
    "version": "1.0"
  },
  "metrics": {
    "listening_tcp_ports": {
      "ports": [
        {
          "interface": "eth0",
          "port": 24800
        },
        {
          "interface": "eth0",
          "port": 22
        },
        {
          "interface": "eth0",
          "port": 53
        }
      ],
      "total": 3
    },
    "listening_udp_ports": {
      "ports": [
        {
          "interface": "eth0",
          "port": 5353
        },
        {
          "interface": "eth0",
          "port": 67
        }
      ],
      "total": 2
    },
    "network_stats": {
      "bytes_in": 1157864729406,
      "bytes_out": 1170821865,
      "packets_in": 693092175031,
      "packets_out": 738917180
    },
    "tcp_connections": {
      "established_connections":{
        "connections": [
          {
            "local_interface": "eth0",
            "local_port": 80,
            "remote_addr": "192.168.0.1:8000"
          },
          {
            "local_interface": "eth0",
            "local_port": 80,
            "remote_addr": "192.168.0.1:8000"
          }
        ],
        "total": 2
      }
    }
  }
}
```

Para mais informações sobre as métricas que esse componente relata, consulte [Especificação do documento de métricas do dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/detect-device-side-metrics.html#DetectMetricsMessagesSpec) no *Guia do desenvolvedor do AWS IoT Core *.

## Arquivo de log local
<a name="device-defender-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.DeviceDefender.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.DeviceDefender.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.DeviceDefender.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.DeviceDefender.log -Tail 10 -Wait
  ```

------

## Licenças
<a name="device-defender-component-licenses"></a>

<a name="component-core-software-license"></a>Esse componente é liberado de acordo com o [Contrato de licença de software Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Changelog
<a name="device-defender-component-changelog"></a>

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

------
#### [ v3.x ]


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  3.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/device-defender-component.html)  | 
|  3.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/device-defender-component.html)  | 
|  3.0.1  |  Corrige um problema na forma como o componente calcula valores delta para métricas.  | 
|  3.0.0  |   Esta versão não está mais disponível. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  Versão inicial.  | 

------
#### [ v2.x ]


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.0.17  |  Versão atualizada para o Greengrass nucleus versão 2.14.0.  | 
|  2.0.16  |  Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass.  | 
|  2.0.11  |  Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass.  | 
|  2.0.10  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.0.9  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.0.8  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.0.7  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.6  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.5  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  2.0.4  |  Versão atualizada para o Greengrass nucleus versão 2.1.0.  | 
|  2.0.3  |  Versão inicial.  | 

------

# Spooler de disco
<a name="disk-spooler-component"></a>

O componente spooler de disco (`aws.greengrass.DiskSpooler`) oferece uma opção de armazenamento persistente para mensagens enviadas dos dispositivos principais do Greengrass para o. AWS IoT Core Esse componente armazenará essas mensagens de saída no disco.

**Topics**
+ [Versões](#disk-spooler-component-versions)
+ [Tipo](#disk-spooler-component-type)
+ [Sistema operacional](#disk-spooler-component-os-support)
+ [Requisitos](#disk-spooler-component-requirements)
+ [Dependências](#disk-spooler-component-dependencies)
+ [Uso](#disk-spooler-component-usage)
+ [Arquivo de log local](#disk-spooler-component-log-file)
+ [Changelog](#disk-spooler-component-changelog)

## Versões
<a name="disk-spooler-component-versions"></a>

Esse componente tem as seguintes versões:
+ 1.0.x

## Tipo
<a name="disk-spooler-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="disk-spooler-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="disk-spooler-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ O `storageType` deve ser configurado como `Disk` para usar esse componente. Você pode definir isso na [configuração do núcleo do Greengrass](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration).
+ O `maxSizeInBytes` não deve ser configurado para ser maior que o espaço disponível no dispositivo. Você pode definir isso na [configuração do núcleo do Greengrass](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration).
+ O componente spooler de disco é compatível com a execução em uma VPC.

## Dependências
<a name="disk-spooler-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#disk-spooler-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 1.0.7 ]

A tabela a seguir lista as dependências da versão 1.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,11,0 <2,17,0 | Rígido | 

------
#### [ 1.0. ]

A tabela a seguir lista as dependências da versão 1.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,11,0 <2,16,0 | Rígido | 

------
#### [ 1.0.5 ]

A tabela a seguir lista as dependências da versão 1.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,11,0 <2,15,0 | Rígido | 

------
#### [ 1.0.4 ]

A tabela a seguir lista as dependências da versão 1.0.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.11.0 <2.14.0 | Rígido | 

------
#### [ 1.0.1 – 1.0.3 ]

A tabela a seguir lista as dependências das versões 1.0.1 a 1.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.11.0 <2.13.0 | Rígido | 

------
#### [ 1.0.0 ]

A tabela a seguir lista as dependências da versão 1.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.11.0 <2.12.0 | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Uso
<a name="disk-spooler-component-usage"></a>

Para usar o componente spooler de disco, `aws.greengrass.DiskSpooler` deve ser implantado.

Para configurar e usar esse componente, você deve definir `pluginName` para `aws.greengrass.DiskSpooler`.

## Arquivo de log local
<a name="disk-spooler-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="disk-spooler-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.0.7  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  1.0.6  |  Versão atualizada para o Greengrass nucleus versão 2.15.0.  | 
|  1.0.5  |  Versão atualizada para o Greengrass nucleus versão 2.14.0.  | 
|  1.0.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/disk-spooler-component.html)  | 
|  1.0.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/disk-spooler-component.html)  | 
|  1.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/disk-spooler-component.html)  | 
|  1.0.1  |  Versão atualizada para o núcleo do Greengrass 2.12.0.  | 
|  1.0.0  |  Versão inicial.  | 

# Gerenciador de aplicações do Docker
<a name="docker-application-manager-component"></a>

O componente Docker Application Manager (`aws.greengrass.DockerApplicationManager`) permite AWS IoT Greengrass baixar imagens do Docker de registros públicos de imagens e registros privados hospedados no Amazon Elastic Container Registry (Amazon ECR). Ele também permite AWS IoT Greengrass gerenciar credenciais automaticamente para baixar imagens com segurança de repositórios privados no Amazon ECR.

Ao desenvolver um componente personalizado que executa um contêiner do Docker, inclua o gerenciador de aplicações do Docker como uma dependência para baixar as imagens do Docker que são especificadas como artefatos no componente. Para obter mais informações, consulte [Executar um contêiner do Docker](run-docker-container.md).

**Topics**
+ [Versões](#docker-application-manager-component-versions)
+ [Tipo](#docker-application-manager-component-type)
+ [Sistema operacional](#docker-application-manager-component-os-support)
+ [Requisitos](#docker-application-manager-component-requirements)
+ [Dependências](#docker-application-manager-component-dependencies)
+ [Configuração](#docker-application-manager-component-configuration)
+ [Arquivo de log local](#docker-application-manager-component-log-file)
+ [Changelog](#docker-application-manager-component-changelog)
+ [Consulte também](#docker-application-manager-component-see-also)

## Versões
<a name="docker-application-manager-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.0.x

## Tipo
<a name="docker-application-manager-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="docker-application-manager-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="docker-application-manager-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ <a name="docker-engine-requirement"></a>[Docker Engine](https://docs.docker.com/engine/) 1.9.1 ou versão posterior instalado no dispositivo principal do Greengrass. A versão 20.10 é a versão mais recente verificada para funcionar com o software AWS IoT Greengrass Core. É preciso instalar o Docker diretamente no dispositivo principal antes de implantar componentes que executam contêineres do Docker.
+ <a name="docker-daemon-requirement"></a>O daemon do Docker foi iniciado e executado no dispositivo principal antes de você implantar esse componente. 
+ Imagens do Docker armazenadas em uma das seguintes fontes de imagem compatíveis:
  + Repositórios de imagem públicos e privados no Amazon Elastic Container Registry (Amazon ECR)
  + Repositório público do Docker Hub
  + Registro confiável e público do Docker
+ Imagens do Docker incluídas como artefatos nos componentes personalizados do contêiner do Docker. Use os formatos de URI a seguir para especificar as imagens do Docker:<a name="docker-image-artifact-uri"></a>
  + Imagem privada do Amazon ECR: `docker:account-id.dkr.ecr.region.amazonaws.com/repository/image[:tag|@digest]`
  + Imagem pública do Amazon ECR: `docker:public.ecr.aws/repository/image[:tag|@digest]`
  + Imagem pública do Docker Hub: `docker:name[:tag|@digest]`

  Para obter mais informações, consulte [Executar um contêiner do Docker](run-docker-container.md).
**nota**  
Se você não especificar a tag da imagem ou o resumo da imagem no URI do artefato de uma imagem, o gerenciador de aplicações do Docker extrairá a versão mais recente disponível dessa imagem quando você implanta o componente de contêiner personalizado do Docker. Para garantir que todos os dispositivos principais executem a mesma versão de uma imagem, recomendamos que você inclua a tag da imagem ou o resumo da imagem no URI do artefato.
+ <a name="docker-user-permissions-requirement"></a>O usuário do sistema que executa um componente de contêiner do Docker deve ter permissões de raiz ou administrador, ou é necessário configurar o Docker para executá-lo como usuário não raiz ou não administrador.
  + Em dispositivos Linux, você pode adicionar um usuário ao grupo `docker` para chamar os comandos `docker` sem `sudo`.
  + Em dispositivos Windows, é possível adicionar um usuário ao grupo `docker-users` para chamar comandos do `docker` sem privilégios de administrador.

------
#### [ Linux or Unix ]

  Para adicionar `ggc_user` ou o usuário não raiz que você usa para executar componentes de contêiner do Docker ao grupo de `docker`, execute o seguinte comando.

  ```
  sudo usermod -aG docker ggc_user
  ```

  Para obter mais informações, consulte [Gerenciar o Docker como um usuário não raiz](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user).

------
#### [ Windows Command Prompt (CMD) ]

  Para adicionar `ggc_user` ou o usuário que você usa para executar componentes de contêiner do Docker ao grupo de `docker-users`, execute o seguinte comando como administrador.

  ```
  net localgroup docker-users ggc_user /add
  ```

------
#### [ Windows PowerShell ]

  Para adicionar `ggc_user` ou o usuário que você usa para executar componentes de contêiner do Docker ao grupo de `docker-users`, execute o seguinte comando como administrador.

  ```
  Add-LocalGroupMember -Group docker-users -Member ggc_user
  ```

------
+ <a name="docker-proxy-requirement"></a>Se você [configurar o software AWS IoT Greengrass Core para usar um proxy de rede](configure-greengrass-core-v2.md#configure-alpn-network-proxy), deverá [configurar o Docker para usar o mesmo servidor proxy](https://docs.docker.com/network/proxy/).
+ Se suas imagens do Docker estiverem armazenadas em um registro privado do Amazon ECR, será preciso incluir o componente do serviço de troca de tokens como uma dependência no componente do contêiner do Docker. Além disso, a [função de dispositivo do Greengrass](device-service-role.md) precisa permitir as ações `ecr:GetAuthorizationToken`, `ecr:BatchGetImage`, e `ecr:GetDownloadUrlForLayer`, conforme mostrado no seguinte exemplo de política do IAM.

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "ecr:GetAuthorizationToken",
          "ecr:BatchGetImage",
          "ecr:GetDownloadUrlForLayer"
        ],
        "Resource": [
          "*"
        ],
        "Effect": "Allow"
      }
    ]
  }
  ```

------

  ```
  ```
+ O componente do gerenciador de aplicações do docker é compatível para execução em uma VPC. Para implantar esse componente em uma VPC, é preciso fazer o seguinte.
  + O componente do gerenciador de aplicações do Docker precisa ter conectividade para baixar imagens. Por exemplo, se você usa o ECR, precisa ter conectividade com os endpoints a seguir.
    + `*.dkr.ecr.region.amazonaws.com` (`com.amazonaws.region.ecr.dkr` do endpoint da VPC)
    + `api.ecr.region.amazonaws.com` (`com.amazonaws.region.ecr.api` do endpoint da VPC)

### Endpoints e portas
<a name="docker-application-manager-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `ecr.region.amazonaws.com`  | 443 | Não |  Necessário se você baixar imagens do Docker do Amazon ECR.  | 
|  `hub.docker.com` `registry.hub.docker.com/v1`  | 443 | Não |  Necessário se você baixar imagens do Docker pelo Docker Hub.  | 

## Dependências
<a name="docker-application-manager-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#docker-application-manager-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.0.15 ]

A tabela a seguir lista as dependências da versão 2.0.15 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.17.0 | Flexível | 

------
#### [ 2.0.14 ]

A tabela a seguir lista as dependências da versão 2.0.14 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.16,0 | Flexível | 

------
#### [ 2.0.13 ]

A tabela a seguir lista as dependências da versão 2.0.13 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.15.0 | Flexível | 

------
#### [ 2.0.12 ]

A seguinte tabela lista as dependências da versão 2.0.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.14.0 | Flexível | 

------
#### [ 2.0.11 ]

A seguinte tabela lista as dependências da versão 2.0.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.13.0 | Flexível | 

------
#### [ 2.0.10 ]

A seguinte tabela lista as dependências da versão 2.0.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.12.0 | Flexível | 

------
#### [ 2.0.9 ]

A seguinte tabela lista as dependências da versão 2.0.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.11.0 | Flexível | 

------
#### [ 2.0.8 ]

A seguinte tabela lista as dependências da versão 2.0.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.10.0 | Flexível | 

------
#### [ 2.0.7 ]

A seguinte tabela lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.9.0 | Flexível | 

------
#### [ 2.0.6 ]

A seguinte tabela lista as dependências da versão 2.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.8.0 | Flexível | 

------
#### [ 2.0.5 ]

A seguinte tabela lista as dependências da versão 2.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.7.0 | Flexível | 

------
#### [ 2.0.4 ]

A seguinte tabela lista as dependências da versão 2.0.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.6.0 | Flexível | 

------
#### [ 2.0.3 ]

A seguinte tabela lista as dependências da versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | Flexível | 

------
#### [ 2.0.2 ]

A seguinte tabela lista as dependências da versão 2.0.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | Flexível | 

------
#### [ 2.0.1 ]

A tabela a seguir lista as dependências da versão 2.0.1 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | Flexível | 

------
#### [ 2.0.0 ]

A seguinte tabela lista as dependências da versão 2.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0 | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="docker-application-manager-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

## Arquivo de log local
<a name="docker-application-manager-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="docker-application-manager-component-changelog"></a>

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


|   **Versão**   |   **Alterações**   | 
| --- | --- | 
|  2.0.15  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  2.0.14  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.0.13  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  2.0.12  | Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass. | 
|  2.0.11  | Versão atualizada para o lançamento da versão 2.12.0 do núcleo do Greengrass. | 
|  2.0.10  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.0.9  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.0.8  | Versão atualizada para o lançamento da versão 2.9.0 do núcleo do Greengrass. | 
|  2.0.7  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.0.6  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.0.5  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.0.4  |  Versão atualizada para o Greengrass nucleus versão 2.5.0.  | 
|  2.0.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.1  |  Versão atualizada para o lançamento da versão 2.2.0 do núcleo do Greengrass.  | 
|  2.0.0  |  Versão inicial.  | 

## Consulte também
<a name="docker-application-manager-component-see-also"></a>
+  [Executar um contêiner do Docker](run-docker-container.md) 

# Conector Edge para Kinesis Video Streams
<a name="kvs-edge-connector-component"></a>

O conector de borda para o `aws.iot.EdgeConnectorForKVS` componente Kinesis Video Streams () lê feeds de vídeo de câmeras locais e publica os streams no Kinesis Video Streams. Você pode configurar esse componente para ler feeds de vídeo de câmeras IP usando o Real Time Streaming Protocol (RTSP). Em seguida, você pode configurar painéis no [Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) ou nos servidores locais do Grafana para monitorar e interagir com os streams de vídeo.

Você pode integrar esse componente AWS IoT TwinMaker para exibir e controlar fluxos de vídeo nos painéis da Grafana. AWS IoT TwinMaker é um AWS serviço que permite criar gêmeos digitais operacionais de sistemas físicos. Você pode usar AWS IoT TwinMaker para visualizar dados de sensores, câmeras e aplicativos corporativos para rastrear suas fábricas físicas, edifícios ou plantas industriais. Você também pode usar esses dados para monitorar operações, diagnosticar erros e reparar erros. Para obter mais informações, consulte [O que é AWS IoT TwinMaker?](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/what-is-twinmaker.html) no *Guia do AWS IoT TwinMaker usuário*.

Esse componente armazena sua configuração em AWS IoT SiteWise, que é um AWS serviço que modela e armazena dados industriais. Em AWS IoT SiteWise, *os ativos* representam objetos como dispositivos, equipamentos ou grupos de outros objetos. Para configurar e usar esse componente, você cria um AWS IoT SiteWise ativo para cada dispositivo principal do Greengrass e para cada câmera IP conectada a cada dispositivo principal. Cada ativo tem propriedades que você configura para controlar recursos, como transmissão ao vivo, upload sob demanda e armazenamento em cache local. Para especificar o URL de cada câmera, você cria um segredo AWS Secrets Manager que contém o URL da câmera. Se a câmera exigir autenticação, você também especifica um nome de usuário e uma senha no URL. Em seguida, você especifica esse segredo em uma propriedade de ativo para a câmera IP.

Esse componente carrega o stream de vídeo de cada câmera em um stream de vídeo do Kinesis. Você especifica o nome do stream de vídeo do Kinesis de destino na configuração do AWS IoT SiteWise ativo para cada câmera. Se o fluxo de vídeo do Kinesis não existir, esse componente o cria para você.

AWS IoT TwinMaker fornece um script que você pode executar para criar esses AWS IoT SiteWise ativos e segredos do Secrets Manager. Para obter mais informações sobre como criar esses recursos e como instalar, configurar e usar esse componente, consulte a [integração de AWS IoT TwinMaker vídeo](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html) no *Guia do AWS IoT TwinMaker usuário*.

**nota**  
O conector de borda para o componente Kinesis Video Streams só está disponível no seguinte: Regiões da AWS  
Leste dos EUA (N. da Virgínia)
Oeste dos EUA (Oregon)
Europa (Frankfurt)
Europa (Irlanda)
Ásia-Pacífico (Singapura)
Ásia-Pacífico (Tóquio)
Ásia-Pacífico (Seul)
Ásia-Pacífico (Sydney)
Ásia-Pacífico (Mumbai)
China (Pequim)

**Topics**
+ [Versões](#kvs-edge-connector-component-versions)
+ [Tipo](#kvs-edge-connector-component-type)
+ [Sistema operacional](#kvs-edge-connector-component-os-support)
+ [Requisitos](#kvs-edge-connector-component-requirements)
+ [Dependências](#kvs-edge-connector-component-dependencies)
+ [Configuração](#kvs-edge-connector-component-configuration)
+ [Licenças](#kvs-edge-connector-component-licenses)
+ [Usage](#kvs-edge-connector-component-usage)
+ [Arquivo de log local](#kvs-edge-connector-component-log-file)
+ [Changelog](#kvs-edge-connector-component-changelog)
+ [Consulte também](#kvs-edge-connector-component-see-also)

## Versões
<a name="kvs-edge-connector-component-versions"></a>

Esse componente tem as seguintes versões:
+ 1.0.x

## Tipo
<a name="kvs-edge-connector-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="kvs-edge-connector-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Requisitos
<a name="kvs-edge-connector-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ Você pode implantar esse componente somente em dispositivos principais único, porque a configuração do componente deve ser exclusiva para cada dispositivo principal. Você não pode implantar esse componente em grupos de dispositivos principais.
+ [GStreamer](https://gstreamer.freedesktop.org)1.18.4 ou posterior instalado no dispositivo principal. Para obter mais informações, consulte [Instalando GStreamer](https://gstreamer.freedesktop.org/documentation/installing/index.html?gi-language=c).

  Em um dispositivo com`apt`, você pode executar os seguintes comandos para instalar GStreamer.

  ```
  sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps
  sudo apt install -y gstreamer1.0-libav
  sudo apt install -y gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
  ```
+ Um AWS IoT SiteWise ativo para cada dispositivo principal. Esse AWS IoT SiteWise ativo representa o dispositivo principal. Para obter mais informações sobre como criar esse ativo, consulte a [integração de AWS IoT TwinMaker vídeo](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html) no *Guia AWS IoT TwinMaker do usuário*.
+ Um AWS IoT SiteWise ativo para cada câmera IP que você conecta a cada dispositivo principal. Esses AWS IoT SiteWise ativos representam as câmeras que transmitem vídeo para cada dispositivo principal. Cada ativo da câmera deve estar associado ao ativo do dispositivo principal que se conecta à câmera. Os ativos da câmera têm propriedades que você pode configurar para especificar um stream de vídeo do Kinesis, um segredo de autenticação e parâmetros de streaming de vídeo. Para obter mais informações sobre como criar e configurar ativos de câmera, consulte a [integração de AWS IoT TwinMaker vídeo](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html) no *Guia AWS IoT TwinMaker do usuário*.
+ Um AWS Secrets Manager segredo para cada câmera IP. Esse segredo deve definir um par de valores-chave, em que a chave está `RTSPStreamUrl` e o valor é a URL da câmera. Se a câmera exigir autenticação, inclua o nome de usuário e a senha nesse URL. Você pode usar um script para criar um segredo ao criar os recursos necessários para esse componente. Para obter mais informações, consulte a [integração de AWS IoT TwinMaker vídeo](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html) no *Guia AWS IoT TwinMaker do usuário*.

  Você também pode usar o console do Secrets Manager e a API para criar segredos adicionais. Para obter mais informações, consulte [Criar um segredo](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) no *Guia do usuário do AWS Secrets Manager *.
+ A [função de troca de tokens do Greengrass](device-service-role.md) deve permitir as seguintes ações AWS Secrets Manager, AWS IoT SiteWise, e do Kinesis Video Streams, conforme mostrado no exemplo de política do IAM a seguir.
**nota**  
Esse exemplo de política permite que o dispositivo obtenha o valor de segredos chamados **IPCamera1Url** **IPCamera2Url** e. Ao configurar cada câmera IP, você especifica um segredo que contém a URL dessa câmera. Se a câmera exigir autenticação, você também especifica um nome de usuário e uma senha no URL. A função de troca de tokens do dispositivo principal deve permitir o acesso ao segredo para que cada câmera IP se conecte.

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "secretsmanager:GetSecretValue"
        ],
        "Effect": "Allow",
        "Resource": [
        "arn:aws:secretsmanager:us-east-1:123456789012:secret:IPCamera1Url",
    "arn:aws:secretsmanager:us-east-1:123456789012:secret:IPCamera2Url"
        ]
      },
      {
        "Action": [
          "iotsitewise:BatchPutAssetPropertyValue",
          "iotsitewise:DescribeAsset",
          "iotsitewise:DescribeAssetModel",
          "iotsitewise:DescribeAssetProperty",
          "iotsitewise:GetAssetPropertyValue",
          "iotsitewise:ListAssetRelationships",
          "iotsitewise:ListAssets",
          "iotsitewise:ListAssociatedAssets",
          "kinesisvideo:CreateStream",
          "kinesisvideo:DescribeStream",
          "kinesisvideo:GetDataEndpoint",
          "kinesisvideo:PutMedia",
          "kinesisvideo:TagStream"
        ],
        "Effect": "Allow",
        "Resource": [
          "*"
        ]
      }
    ]
  }
  ```

------
**nota**  
Se você usar uma AWS Key Management Service chave gerenciada pelo cliente para criptografar segredos, a função do dispositivo também deverá permitir a `kms:Decrypt` ação.

### Endpoints e portas
<a name="kvs-edge-connector-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `kinesisvideo.region.amazonaws.com`  | 443 | Sim |  Faça upload de dados para o Kinesis Video Streams.  | 
|  `data.iotsitewise.region.amazonaws.com`  | 443 | Sim |  Publique metadados do stream de vídeo em AWS IoT SiteWise.  | 
|  `secretsmanager.region.amazonaws.com`  | 443 | Sim |  Baixe os segredos do URL da câmera para o dispositivo principal.  | 

## Dependências
<a name="kvs-edge-connector-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#kvs-edge-connector-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

A tabela a seguir lista as dependências das versões 1.0.0 a 1.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Token Exchange Service](token-exchange-service-component.md) | >=2.0.3 | Rígido | 
| [Gerenciador de fluxos](stream-manager-component.md) | >=2.0.9 | Rígido | 

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="kvs-edge-connector-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`SiteWiseAssetIdForHub`  
O ID do AWS IoT SiteWise ativo que representa esse dispositivo principal. Para obter mais informações sobre como criar esse ativo e usá-lo para interagir com esse componente, consulte a [integração de AWS IoT TwinMaker vídeo](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html) no *Guia do AWS IoT TwinMaker usuário*.

**Example Exemplo: atualização da mesclagem de configuração**  

```
{
  "SiteWiseAssetIdForHub": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
```

## Licenças
<a name="kvs-edge-connector-component-licenses"></a>

Esse componente inclui o seguinte licenciamento/software de terceiros:
+ [Quartz Job Scheduler/Licença](http://www.quartz-scheduler.org/) Apache 2.0
+ [Ligações Java para GStreamer 1.x](https://github.com/gstreamer-java/gst1-java-core)/GNU Lesser General Public License v3.0

## Usage
<a name="kvs-edge-connector-component-usage"></a>

Para configurar e interagir com esse componente, você pode definir propriedades nos AWS IoT SiteWise ativos que representam o dispositivo principal e as câmeras IP às quais ele se conecta. Você também pode visualizar e interagir com fluxos de vídeo nos painéis da Grafana por meio de. AWS IoT TwinMaker Para obter mais informações, consulte a [integração de AWS IoT TwinMaker vídeo](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html) no *Guia AWS IoT TwinMaker do usuário*.

## Arquivo de log local
<a name="kvs-edge-connector-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

```
/greengrass/v2/logs/aws.iot.EdgeConnectorForKVS.log
```

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. `/greengrass/v2`Substitua pelo caminho para a pasta AWS IoT Greengrass raiz.

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.EdgeConnectorForKVS.log
  ```

## Changelog
<a name="kvs-edge-connector-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.0.5  |  Melhorias e correções de erros gerais.  | 
|  1.0.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/kvs-edge-connector-component.html)  | 
|  1.0.3  |  Melhorias e correções de erros gerais.  | 
|  1.0.1  |  Melhorias e correções de erros gerais.  | 
|  1.0.0  |  Versão inicial.  | 

## Consulte também
<a name="kvs-edge-connector-component-see-also"></a>
+ [O que é AWS IoT TwinMaker?](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/what-is-twinmaker.html) no *Guia do AWS IoT TwinMaker usuário*
+ [AWS IoT TwinMaker integração de vídeo](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/video-integration.html) no *Guia AWS IoT TwinMaker do usuário*
+ [O que é AWS IoT SiteWise?](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html) no *Guia do AWS IoT SiteWise usuário*
+ [Atualização de valores de atributos](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html) no *Guia AWS IoT SiteWise do usuário*
+ [O que é o AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) no *AWS Secrets Manager Guia do usuário*
+ [Criar e gerenciar segredos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html), no *Guia do usuário do AWS Secrets Manager *

# CLI do Greengrass
<a name="greengrass-cli-component"></a>

O componente da CLI do Greengrass (`aws.greengrass.Cli`) fornece uma interface de linha de comando local que você pode usar nos dispositivos principais para desenvolver e depurar componentes localmente. A CLI do Greengrass permite criar implantações locais e reiniciar componentes no dispositivo principal, por exemplo.

Você pode instalar esse componente ao instalar o software AWS IoT Greengrass Core. Para obter mais informações, consulte [Tutorial: Conceitos básicos do AWS IoT Greengrass V2](getting-started.md).

**Importante**  
 <a name="local-dev-tools-production-environment-warning"></a>Recomendamos que você use este componente somente em ambientes de desenvolvimento, não em ambientes de produção. Este componente fornece acesso a informações e operações que você normalmente não precisará em um ambiente de produção. Siga o princípio do privilégio mínimo implantando este componente somente nos dispositivos principais em que você precisar dele. 

Depois de instalar esse componente, execute o comando a seguir para ver a documentação de ajuda. Quando esse componente é instalado, ele adiciona um link simbólico à `greengrass-cli` na pasta `/greengrass/v2/bin`. É possível executar a CLI do Greengrass a partir desse caminho ou adicioná-la à sua variável de ambiente `PATH` para executar a `greengrass-cli` sem o caminho absoluto.

------
#### [ Linux or Unix ]

```
/greengrass/v2/bin/greengrass-cli help
```

------
#### [ Windows ]

```
C:\greengrass\v2\bin\greengrass-cli help
```

------

O comando a seguir reinicia um componente chamado `com.example.HelloWorld`, por exemplo.

------
#### [ Linux or Unix ]

```
sudo /greengrass/v2/bin/greengrass-cli component restart --names "com.example.HelloWorld"
```

------
#### [ Windows ]

```
C:\greengrass\v2\bin\greengrass-cli component restart --names "com.example.HelloWorld"
```

------

Para obter mais informações, consulte [Interface de linha de comando do Greengrass](gg-cli.md).

**Topics**
+ [Versões](#greengrass-cli-component-versions)
+ [Tipo](#greengrass-cli-component-type)
+ [Sistema operacional](#greengrass-cli-component-os-support)
+ [Requisitos](#greengrass-cli-component-requirements)
+ [Dependências](#greengrass-cli-component-dependencies)
+ [Configuração](#greengrass-cli-component-configuration)
+ [Arquivo de log local](#greengrass-cli-component-log-file)
+ [Changelog](#greengrass-cli-component-changelog)

## Versões
<a name="greengrass-cli-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2,16.x
+ 2,15x
+ 2,14.x
+ 2.13.x
+ 2.12.x
+ 2.11.x
+ 2.10.x
+ 2.9.x
+ 2.8.x
+ 2.7.x
+ 2.6.x
+ 2.5.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="greengrass-cli-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="greengrass-cli-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="greengrass-cli-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ <a name="greengrass-cli-authorization-requirement"></a>Você deve estar autorizado a usar a CLI do Greengrass para interagir com o software principal. AWS IoT Greengrass Siga um dos seguintes procedimentos para usar a Greengrass CLI:
  + Use o usuário do sistema que executa o software AWS IoT Greengrass Core.
  + Use um usuário com permissões de root ou administrativas. Nos dispositivos principais do Linux, você pode usar `sudo` para obter permissões de root.
  + Use um usuário do sistema que esteja em um grupo que você especifica nos parâmetros de `AuthorizedWindowsGroups` configuração `AuthorizedPosixGroups` ou ao implantar o componente. Para mais informações, consulte [Configuração do componente da CLI do Greengras](#greengrass-cli-component-configuration).
+ O componente da CLI do Greengrass é compatível para execução em uma VPC.

## Dependências
<a name="greengrass-cli-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#greengrass-cli-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.16.0 ]

A tabela a seguir lista as dependências da versão 2.16.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,12,0 <2,17,0 | Flexível | 

------
#### [ 2.15.1 ]

A tabela a seguir lista as dependências da versão 2.15.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,12,0 <2,16,0 | Flexível | 

------
#### [ 2.15.0 ]

A tabela a seguir lista as dependências da versão 2.15.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,12,0 <2,16,0 | Flexível | 

------
#### [ 2.14.0 – 2.14.3 ]

A tabela a seguir lista as dependências das versões 2.14.0 e 2.14.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,12,0 <2,15,0 | Flexível | 

------
#### [ 2.13.0 ]

A tabela a seguir lista as dependências da versão 2.13.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.12.0 <2.14.0 | Flexível | 

------
#### [ 2.12.0 – 2.12.6 ]

A tabela a seguir lista as dependências para as versões 2.12.0 a 2.12.6 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.12.0 <2.13.0 | Flexível | 

------
#### [ 2.11.0 – 2.11.3 ]

A tabela a seguir lista as dependências das versões 2.11.0 a 2.11.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.11.0 <2.12.0 | Flexível | 

------
#### [ 2.10.0 – 2.10.3 ]

A tabela a seguir lista as dependências das versões 2.10.0 a 2.10.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.11.0 | Flexível | 

------
#### [ 2.9.0 – 2.9.6 ]

A tabela a seguir lista as dependências das versões 2.9.0 a 2.9.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.10.0 | Flexível | 

------
#### [ 2.8.0 – 2.8.1 ]

A tabela a seguir lista as dependências para as versões 2.8.0 e 2.8.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.9.0 | Flexível | 

------
#### [ 2.7.0 ]

A tabela a seguir lista as dependências da versão 2.7.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.8.0 | Flexível | 

------
#### [ 2.6.0 ]

A tabela a seguir lista as dependências para a versão 2.6.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.7.0 | Flexível | 

------
#### [ 2.5.0 – 2.5.6 ]

A tabela a seguir lista as dependências das versões 2.5.0 a 2.5.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.6.0 | Flexível | 

------
#### [ 2.4.0 ]

A tabela a seguir lista as dependências para a versão 2.4.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | Flexível | 

------
#### [ 2.3.0 ]

A tabela a seguir lista as dependências para a versão 2.3.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | Flexível | 

------
#### [ 2.2.0 ]

A tabela a seguir lista as dependências para a versão 2.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | Flexível | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0 | Flexível | 

------
#### [ 2.0.x ]

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.1.0 | Flexível | 

**nota**  
A versão mínima compatível do Greengrass nucleus corresponde à versão de patch do componente da CLI do Greengrass. 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="greengrass-cli-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ 2.5.x - 2.14.x ]

`AuthorizedPosixGroups`  <a name="greengrass-cli-component-configuration-authorizedposixgroups"></a>
(Opcional) Uma string que contém uma lista separada por vírgulas de grupos do sistema. Você autoriza esses grupos de sistema a usar a CLI do Greengrass para interagir com AWS IoT Greengrass o software principal. Você pode especificar nomes de grupos ou grupos IDs. Por exemplo, `group1,1002,group3` autoriza três grupos do sistema (`group1``1002`, e`group3`) a usar a CLI do Greengrass.  
Se você não especificar nenhum grupo para autorizar, poderá usar a CLI do Greengrass como `sudo` usuário raiz () ou como usuário do sistema que AWS IoT Greengrass executa o software Core.

`AuthorizedWindowsGroups`  <a name="greengrass-cli-component-configuration-authorizedwindowsgroups"></a>
(Opcional) Uma string que contém uma lista separada por vírgulas de grupos do sistema. Você autoriza esses grupos de sistema a usar a CLI do Greengrass para interagir com AWS IoT Greengrass o software principal. Você pode especificar nomes de grupos ou grupos IDs. Por exemplo, `group1,1002,group3` autoriza três grupos do sistema (`group1``1002`, e`group3`) a usar a CLI do Greengrass.  
Se você não especificar nenhum grupo para autorizar, poderá usar a CLI do Greengrass como administrador ou como usuário do sistema que AWS IoT Greengrass executa o software Core.

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica a autorização de três grupos de sistema POSIX (`group1`, `1002` e `group3`) e dois grupos de usuários do Windows (`Device Operators` e `QA Engineers`) para usar a CLI do Greengrass.  

```
{
  "AuthorizedPosixGroups": "group1,1002,group3",
  "AuthorizedWindowsGroups": "Device Operators,QA Engineers"
}
```

------
#### [ 2.4.x - 2.0.x ]

`AuthorizedPosixGroups`  <a name="greengrass-cli-component-configuration-authorizedposixgroups"></a>
(Opcional) Uma sequência de caracteres que contém uma lista separada por vírgulas de grupos de sistema. Você autoriza esses grupos de sistema a usar a CLI do Greengrass para interagir com AWS IoT Greengrass o software principal. Você pode especificar nomes de grupos ou grupos IDs. Por exemplo, `group1,1002,group3` autoriza três grupos do sistema (`group1``1002`, e`group3`) a usar a CLI do Greengrass.  
Se você não especificar nenhum grupo para autorizar, poderá usar a CLI do Greengrass como `sudo` usuário raiz () ou como usuário do sistema que AWS IoT Greengrass executa o software Core.

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica a autorização de três grupos do sistema (`group1`, `1002` e `group3`) a usar a CLI do Greengrass.  

```
{
  "AuthorizedPosixGroups": "group1,1002,group3"
}
```

------

## Arquivo de log local
<a name="greengrass-cli-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="greengrass-cli-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.16.1  |  Versão atualizada para a versão 2.16.1 do Greengrass nucleus.  | 
|  2.16.0  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  2.15.1  |  Versão atualizada para a versão 2.15.1 do Greengrass nucleus.  | 
|  2.15.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.14.3  |  Versão atualizada para o Greengrass nucleus versão 2.14.3.  | 
|  2.14.2  |  Versão atualizada para o Greengrass nucleus versão 2.14.2.  | 
|  2.14.1  |  Versão atualizada para o Greengrass nucleus versão 2.14.1.  | 
|  2.14.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.13.0  |  Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass.  | 
|  2.12.6  |  Versão atualizada para o Greengrass nucleus versão 2.12.6.  | 
|  2.12.5  |  Versão atualizada para o Greengrass nucleus versão 2.12.5.  | 
|  2.12.4  |  Versão atualizada para o Greengrass nucleus versão 2.12.4.  | 
|  2.12.3  |   Esta versão não está mais disponível. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  Versão atualizada para o Greengrass nucleus versão 2.12.3.  | 
|  2.12.2  |  Versão atualizada para o Greengrass nucleus versão 2.12.2.  | 
|  2.12.1  |  Versão atualizada para o Greengrass nucleus versão 2.12.1.  | 
|  2.12.0  |  Versão atualizada para o núcleo do Greengrass 2.12.0.  | 
|  2.11.3  |  Versão atualizada para o Greengrass nucleus versão 2.11.3.  | 
|  2.11.2  |  Versão atualizada para o Greengrass nucleus versão 2.11.2.  | 
|  2.11.1  |  Versão atualizada para o Greengrass nucleus versão 2.11.1.  | 
|  2.11.0  |  <a name="changelog-cli-2.11.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.10.3  |  Versão atualizada para o Greengrass nucleus versão 2.10.3.  | 
|  2.10.2  |  Versão atualizada para o Greengrass nucleus versão 2.10.2.  | 
|  2.10.1  |  Versão atualizada para o Greengrass nucleus versão 2.10.1.  | 
|  2.10.0  |  Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass.  | 
|  2.9.6  |  Versão atualizada para o Greengrass nucleus versão 2.9.6.  | 
|  2.9.5  |  Versão atualizada para o Greengrass nucleus versão 2.9.5.  | 
|  2.9.4  |  Versão atualizada para o Greengrass nucleus versão 2.9.4.  | 
|  2.9.3  |  Versão atualizada para o Greengrass nucleus versão 2.9.3.  | 
|  2.9.2  |  Versão atualizada para o Greengrass nucleus versão 2.9.2.  | 
|  2.9.1  |  Versão atualizada para o Greengrass nucleus versão 2.9.1.  | 
|  2.9.0  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.8.1  |  Versão atualizada para o Greengrass nucleus versão 2.8.1.  | 
|  2.8.0  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.7.0  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.6.0  |  <a name="changelog-greengrass-cli-2.6.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.5.6  |  Versão atualizada para o Greengrass nucleus versão 2.5.6.  | 
|  2.5.5  |  Versão atualizada para o Greengrass nucleus versão 2.5.5.  | 
|  2.5.4  |  Versão atualizada para o Greengrass nucleus versão 2.5.4.  | 
|  2.5.3  |  Versão atualizada para o Greengrass nucleus versão 2.5.3.  | 
|  2.5.2  |  Versão atualizada para o Greengrass nucleus versão 2.5.2.  | 
|  2.5.1  |  Versão atualizada para o Greengrass nucleus versão 2.5.1.  | 
|  2.5.0  |  <a name="changelog-greengrass-cli-2.5.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.4.0  |  <a name="changelog-greengrass-cli-2.4.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/greengrass-cli-component.html)  | 
|  2.3.0  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.2.0  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  2.1.0  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.1.0.  | 
|  2.0.5  | Versão atualizada para o Greengrass nucleus versão 2.0.5. | 
|  2.0.4  | Versão atualizada para o Greengrass nucleus versão 2.0.4. | 
|  2.0.3  |  Versão inicial.  | 

# Detector IP
<a name="ip-detector-component"></a>

O componente detector de IP (`aws.greengrass.clientdevices.IPDetector`) faz o seguinte:
+ Monitora as informações de conectividade de rede do dispositivo principal do Greengrass. Essas informações incluem os endpoints de rede do dispositivo principal e a porta em que um agente MQTT opera.
+ Atualiza as informações de conectividade do dispositivo principal no serviço de AWS IoT Greengrass nuvem.

Os dispositivos cliente podem usar a descoberta de nuvem do Greengrass para recuperar as informações de conectividade dos dispositivos principais associados. Em seguida, os dispositivos cliente podem tentar se conectar a cada dispositivo principal até que se conectem com sucesso.

**nota**  <a name="client-device-component-context"></a>
Os dispositivos clientes são dispositivos IoT locais que se conectam a um dispositivo central do Greengrass para enviar mensagens MQTT e dados para processamento. Para obter mais informações, consulte [Interagir com dispositivos de IoT locais](interact-with-local-iot-devices.md).

O componente detector de IP substitui as informações de conectividade existentes de um dispositivo principal pelas informações que ele detecta. Como esse componente remove as informações existentes, você pode usar o componente detector de IP ou gerenciar manualmente as informações de conectividade.

**Topics**
+ [Versões](#ip-detector-component-versions)
+ [Tipo](#ip-detector-component-type)
+ [Sistema operacional](#ip-detector-component-os-support)
+ [Requisitos](#ip-detector-component-requirements)
+ [Dependências](#ip-detector-component-dependencies)
+ [Configuração](#ip-detector-component-configuration)
+ [Arquivo de log local](#ip-detector-component-log-file)
+ [Changelog](#ip-detector-component-changelog)

## Versões
<a name="ip-detector-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="ip-detector-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="ip-detector-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="ip-detector-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ A [função de serviço do Greengrass](greengrass-service-role.md) deve estar associada às suas Conta da AWS e permitir as permissões `iot:GetThingShadow` e. `iot:UpdateThingShadow`
+ A AWS IoT política do dispositivo principal deve permitir a `greengrass:UpdateConnectivityInfo` permissão. Para obter mais informações, consulte [AWS IoT políticas para operações de plano de dados](device-auth.md#iot-policies) e [AWS IoT Política mínima para oferecer suporte aos dispositivos do cliente](device-auth.md#client-device-support-minimal-iot-policy).
+ Se você configurar o componente intermediário MQTT do dispositivo principal para usar uma porta diferente da porta padrão 8883, deverá usar o detector de IP v2.1.0 ou posterior. Configure-o para relatar a porta em que o agente opera.
+ Se você tiver uma configuração de rede complexa, o componente detector de IP talvez não consiga identificar os endpoints nos quais os dispositivos cliente podem se conectar ao dispositivo principal. Se o componente detector de IP não puder gerenciar os endpoints, você deverá gerenciar manualmente os endpoints do dispositivo principal. Por exemplo, se o dispositivo principal estiver atrás de um roteador que encaminha a porta do agente MQTT para ele, você deverá especificar o endereço IP do roteador como um endpoint para o dispositivo principal. Para obter mais informações, consulte [Gerenciar endpoints do dispositivo principal do](manage-core-device-endpoints.md).
+ O componente detector de IP tem suporte para ser executado em uma VPC.

## Dependências
<a name="ip-detector-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#ip-detector-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.2.3 ]

A tabela a seguir lista as dependências da versão 2.2.3 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.17.0 | Flexível | 

------
#### [ 2.2.2 ]

A tabela a seguir lista as dependências da versão 2.2.2 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,2.0 <2,16,0 | Flexível | 

------
#### [ 2.2.1 ]

A tabela a seguir lista as dependências da versão 2.2.1 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.15.0 | Flexível | 

------
#### [ 2.2.0 ]

A tabela a seguir lista as dependências para a versão 2.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.2.0 <2.14.0 | Flexível | 

------
#### [ 2.1.8 – 2.1.9 ]

A tabela a seguir lista as dependências das versões 2.1.8 e 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.2.0 <2.13.0 | Flexível | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.2.0 <2.12.0 | Flexível | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.2.0 <2.11.0 | Flexível | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.2.0 <2.10.0 | Flexível | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.9.0 | Flexível | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.8.0 | Flexível | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.7.0 | Flexível | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.6.0 | Flexível | 

------
#### [ 2.1.0 and 2.0.2 ]

A tabela a seguir lista as dependências das versões 2.1.0 e 2.0.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.5.0 | Flexível | 

------
#### [ 2.0.1 ]

A tabela a seguir lista as dependências da versão 2.0.1 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.4.0 | Flexível | 

------
#### [ 2.0.0 ]

A seguinte tabela lista as dependências da versão 2.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.3.0 | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="ip-detector-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ 2.2.x ]

`defaultPort`  <a name="ip-detector-component-configuration-default-port"></a>
<a name="ip-detector-component-configuration-default-port-definition"></a>(Opcional) A porta do agente MQTT para relatar quando esse componente detecta endereços IP. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente da porta padrão 8883.  
Padrão: `8883`

`includeIPv4LoopbackAddrs`  <a name="ip-detector-component-configuration-include-ipv4-loopback-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>(Opcional) Você pode ativar essa opção para detectar e relatar endereços de IPv4 loopback. Esses são endereços IP, como, por exemplo, `localhost`, em que um dispositivo pode se comunicar consigo mesmo. Use essa opção em ambientes de teste em que o dispositivo principal e o dispositivo cliente são executados no mesmo sistema.  
Padrão: `false`

`includeIPv4LinkLocalAddrs`  <a name="ip-detector-component-configuration-include-ipv4-link-local-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>(Opcional) Você pode ativar essa opção para detectar e relatar endereços IPv4 [locais de links](https://en.wikipedia.org/wiki/Link-local_address). Use essa opção se a rede do dispositivo principal não tiver o Protocolo de Configuração Dinâmica de Host (DHCP) ou endereços IP atribuídos estaticamente.  
Padrão: `false`

`includeIPv6LoopbackAddrs`  <a name="ip-detector-component-configuration-include-ipv6-loopback-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv6-loopback-addrs-definition"></a>(Opcional) Você pode ativar essa opção para detectar e relatar endereços de IPv6 loopback. Esses são endereços IP, como, por exemplo, `localhost`, em que um dispositivo pode se comunicar consigo mesmo. Use essa opção em ambientes de teste em que o dispositivo principal e o dispositivo cliente são executados no mesmo sistema. Você deve definir `includeIPv4Addrs` como `false` e `includeIPv6Addrs` como `true` para usar essa opção.  
Padrão: `false`

`includeIPv6LinkLocalAddrs`  <a name="ip-detector-component-configuration-include-ipv6-link-local-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv6-link-local-addrs-definition"></a>(Opcional) Você pode ativar essa opção para detectar e relatar endereços IPv6 [locais de links](https://en.wikipedia.org/wiki/Link-local_address). Use essa opção se a rede do dispositivo principal não tiver o Protocolo de Configuração Dinâmica de Host (DHCP) ou endereços IP atribuídos estaticamente. Você deve definir `includeIPv4Addrs` como `false` e `includeIPv6Addrs` como `true` para usar essa opção.  
Padrão: `false`

`includeIPv4Addrs`  <a name="ip-detector-component-configuration-include-ipv4-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-addrs-definition"></a>(Opcional) O padrão é definido como `true`. Você pode ativar essa opção para publicar IPv4 endereços encontrados no dispositivo principal.  
Padrão: `true`

`includeIPv6Addrs`  <a name="ip-detector-component-configuration-include-ipv6-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv6-addrs-definition"></a>(Opcional) Você pode ativar essa opção para publicar IPv6 endereços encontrados no dispositivo principal. Defina `includeIPv4Addrs` como `false` para usar essa opção.  
Padrão: `false`

------
#### [ 2.1.x ]

`defaultPort`  <a name="ip-detector-component-configuration-default-port"></a>
<a name="ip-detector-component-configuration-default-port-definition"></a>(Opcional) A porta do agente MQTT para relatar quando esse componente detecta endereços IP. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente da porta padrão 8883.  
Padrão: `8883`

`includeIPv4LoopbackAddrs`  <a name="ip-detector-component-configuration-include-ipv4-loopback-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>(Opcional) Você pode ativar essa opção para detectar e relatar endereços de IPv4 loopback. Esses são endereços IP, como, por exemplo, `localhost`, em que um dispositivo pode se comunicar consigo mesmo. Use essa opção em ambientes de teste em que o dispositivo principal e o dispositivo cliente são executados no mesmo sistema.  
Padrão: `false`

`includeIPv4LinkLocalAddrs`  <a name="ip-detector-component-configuration-include-ipv4-link-local-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>(Opcional) Você pode ativar essa opção para detectar e relatar endereços IPv4 [locais de links](https://en.wikipedia.org/wiki/Link-local_address). Use essa opção se a rede do dispositivo principal não tiver o Protocolo de Configuração Dinâmica de Host (DHCP) ou endereços IP atribuídos estaticamente.  
Padrão: `false`

------
#### [ 2.0.x ]

`includeIPv4LoopbackAddrs`  <a name="ip-detector-component-configuration-include-ipv4-loopback-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-loopback-addrs-definition"></a>(Opcional) Você pode ativar essa opção para detectar e relatar endereços de IPv4 loopback. Esses são endereços IP, como, por exemplo, `localhost`, em que um dispositivo pode se comunicar consigo mesmo. Use essa opção em ambientes de teste em que o dispositivo principal e o dispositivo cliente são executados no mesmo sistema.  
Padrão: `false`

`includeIPv4LinkLocalAddrs`  <a name="ip-detector-component-configuration-include-ipv4-link-local-addrs"></a>
<a name="ip-detector-component-configuration-include-ipv4-link-local-addrs-definition"></a>(Opcional) Você pode ativar essa opção para detectar e relatar endereços IPv4 [locais de links](https://en.wikipedia.org/wiki/Link-local_address). Use essa opção se a rede do dispositivo principal não tiver o Protocolo de Configuração Dinâmica de Host (DHCP) ou endereços IP atribuídos estaticamente.  
Padrão: `false`

------

## Arquivo de log local
<a name="ip-detector-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="ip-detector-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.2.3  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  2.2.2  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.2.1  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  2.2.0  | Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/ip-detector-component.html)  | 
|  2.1.9  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/ip-detector-component.html)  | 
|  2.1.8  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.7  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.1.6  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.1.5  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.1.4  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/ip-detector-component.html)  | 
|  2.1.1  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/ip-detector-component.html)  | 
|  2.0.2  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.1  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.0  |  Versão inicial.  | 

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

O componente Firehose (`aws.greengrass.KinesisFirehose`) publica dados por meio de fluxos de entrega do Amazon Data Firehose para destinos, como Amazon S3, Amazon Redshift e Amazon Service. OpenSearch Para obter mais informações, consulte [O que é o Amazon Data Firehose?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) no *Guia do desenvolvedor do Amazon Data Firehose*.

Para publicar em um stream de entrega do Kinesis com esse componente, publique uma mensagem em um tópico em que esse componente se inscreva. Por padrão, esse componente se inscreve nos tópicos de [publicação/assinatura local](ipc-publish-subscribe.md) `kinesisfirehose/message` e `kinesisfirehose/message/binary/#`. Você pode especificar outros tópicos, incluindo tópicos do AWS IoT Core MQTT, ao implantar esse componente.

**nota**  
Esse componente fornece funcionalidade semelhante ao conector Firehose na AWS IoT Greengrass V1. Para obter mais informações, consulte [Conector do Firehose](https://docs.aws.amazon.com/greengrass/latest/developerguide/kinesis-firehose-connector.html) no *Guia do desenvolvedor do AWS IoT Greengrass V1*.

**Topics**
+ [Versões](#kinesis-firehose-component-versions)
+ [Tipo](#kinesis-firehose-component-type)
+ [Sistema operacional](#kinesis-firehose-component-os-support)
+ [Requisitos](#kinesis-firehose-component-requirements)
+ [Dependências](#kinesis-firehose-component-dependencies)
+ [Configuração](#kinesis-firehose-component-configuration)
+ [Dados de entrada](#kinesis-firehose-component-input-data)
+ [Dados de saída](#kinesis-firehose-component-output-data)
+ [Arquivo de log local](#kinesis-firehose-component-log-file)
+ [Licenças](#kinesis-firehose-component-licenses)
+ [Changelog](#kinesis-firehose-component-changelog)
+ [Consulte também](#kinesis-firehose-component-see-also)

## Versões
<a name="kinesis-firehose-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x
+ 2.0.x

## Tipo
<a name="kinesis-firehose-component-type"></a>

<a name="public-component-type-lambda"></a>Esse <a name="public-component-type-lambda-phrase"></a>é um componente do Lambda (`aws.greengrass.lambda`).. O [Greengrass nucleus](greengrass-nucleus-component.md) executa a função do Lambda desse componente usando o [componente inicializador do Lambda](lambda-launcher-component.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="kinesis-firehose-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Requisitos
<a name="kinesis-firehose-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ <a name="core-device-lambda-function-requirements"></a>O dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você deseja que o dispositivo principal execute funções do Lambda em contêiner, o dispositivo deve atender aos requisitos para isso. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) versão 3.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ A [função de dispositivo do Greengrass](device-service-role.md) precisa permitir as ações `firehose:PutRecord` e `firehose:PutRecordBatch`, conforme mostrado no seguinte exemplo de política do IAM.

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

****  

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

------

  Você pode substituir o fluxo de entrega padrão dinamicamente na carga útil da mensagem de entrada nesse componente. Se a aplicação usa esse recurso, a política do IAM deve 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 `*` curinga).
+ <a name="connector-component-legacy-subscription-router-dependency"></a>Para receber os dados de saída desse componente, você deve mesclar a seguinte atualização de configuração no [componente legado de roteador de assinatura](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) ao implantar esse componente. Essa configuração especifica o tópico em que esse componente publica as respostas.

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-kinesisfirehose": {
        "id": "aws-greengrass-kinesisfirehose",
        "source": "component:aws.greengrass.KinesisFirehose",
        "subject": "kinesisfirehose/message/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-kinesisfirehose": {
        "id": "aws-greengrass-kinesisfirehose",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-kinesisfirehose:version",
        "subject": "kinesisfirehose/message/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region*Substitua pelo Região da AWS que você usa.
  + *version*Substitua pela versão da função Lambda que esse componente executa. Para encontrar a versão da função do Lambda, é necessário visualizar a fórmula da versão desse componente que deseja implantar. Abra a página de detalhes do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass) e procure o par de chave/valor da **função do Lambda**. Esse par de chave/valor contém o nome e a versão da função do Lambda.

**Importante**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
É necessário atualizar a versão da função do Lambda no roteador de assinatura legado sempre que implantar esse componente. Isso garante que você use a versão correta da função do Lambda em relação à do componente que é implantado.

------

  <a name="connector-component-create-deployments"></a>Para obter mais informações, consulte [Criar implantações](create-deployments.md).
+ O componente Firehose pode ser executado em uma VPC. Para implantá-lo em uma VPC, o procedimento a seguir é necessário.
  + O componente Firehose deve ter conectividade com a `firehose.region.amazonaws.com` qual tenha o endpoint da VPC de `com.amazonaws.region.kinesis-firehose`.

### Endpoints e portas
<a name="kinesis-firehose-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `firehose.region.amazonaws.com`  | 443 | Sim |  Faça upload de dados para o Firehose.  | 

## Dependências
<a name="kinesis-firehose-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#kinesis-firehose-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.8 - 2.1.0 ]

A tabela a seguir lista as dependências das versões 2.0.8 e 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.7 ]

A tabela a seguir lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.6 ]

A tabela a seguir lista as dependências da versão 2.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.5 ]

A tabela a seguir lista as dependências da versão 2.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.4 ]

A tabela a seguir lista as dependências da versão 2.0.4 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.3 ]

A tabela a seguir lista as dependências para a versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | >=1.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | >=1.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=1.0.0  | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="kinesis-firehose-component-configuration"></a>

Esse componente fornece os parâmetros de configuração a seguir, que podem ser personalizados quando você o implanta.

**nota**  <a name="connector-component-lambda-parameters"></a>
A configuração padrão desse componente inclui parâmetros de função do Lambda. Recomendamos que você edite somente os parâmetros a seguir para configurar esse componente em seus dispositivos.

`lambdaParams`  
Um objeto que contém os parâmetros para a função do Lambda desse componente. Esse objeto contém as informações a seguir:    
`EnvironmentVariables`  
Um objeto que contém os parâmetros da função do Lambda. Esse objeto contém as informações a seguir:    
`DEFAULT_DELIVERY_STREAM_ARN`  
O ARN do fluxo de entrega padrão do Firehose para o qual o componente envia dados. Você pode substituir o fluxo de destino pela propriedade `delivery_stream_arn` na carga útil da mensagem de entrada.  
A função do dispositivo principal deve permitir as ações necessárias em todos os fluxos de entrega de destino. Para obter mais informações, consulte [Requisitos](#kinesis-firehose-component-requirements).  
`PUBLISH_INTERVAL`  
(Opcional) O número máximo de segundos de espera antes que o componente publique os dados em lote no Firehose. Para configurar o componente para publicar métricas à medida que as recebe, ou seja, sem agrupamento em lotes, especifique `0`.  
Esse valor pode ser de no máximo 900 segundos.  
Padrão: 10 segundos  
`DELIVERY_STREAM_QUEUE_SIZE`  
(Opcional) O número máximo de registros a serem retidos na memória antes que o componente rejeite novos registros para o mesmo fluxo de entrega.  
Esse valor deve ser de pelo menos 2 mil registros.  
Padrão: 5 mil registros

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(Opcional) O modo de conteinerização desse componente. Escolha uma das seguintes opções:  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer`; o componente não é executado em um ambiente de runtime isolado.
+ `GreengrassContainer`— O componente é executado em um ambiente de execução isolado dentro do AWS IoT Greengrass contêiner.
Padrão: `GreengrassContainer`

`containerParams`  
<a name="connector-component-container-params-description"></a>(Opcional) Um objeto que contém os parâmetros de contêiner para esse componente. O componente usará esses parâmetros se você especificar `GreengrassContainer` para `containerMode`.  
Esse objeto contém as informações a seguir:    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(Opcional) A quantidade de memória (em kilobytes) a ser alocada para o componente.  
O padrão é de 64 MB (65.535 KB).

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Opcional) Um objeto que contém os tópicos que o componente assina para receber mensagens. Você pode especificar cada tópico e se o componente se inscreve nos tópicos do MQTT AWS IoT Core ou nos tópicos locais publish/subscribe .  
Esse objeto contém as informações a seguir:    
`0`: este é um índice de matriz como uma string.  
Um objeto que contém as seguintes informações:    
`type`  
(Opcional) O tipo de publish/subscribe mensagem que esse componente usa para assinar mensagens. Escolha uma das seguintes opções:  
+ `PUB_SUB` – Assine mensagens locais de publicar/assinar. Se escolher essa opção, o tópico não poderá conter curingas MQTT. Para obter mais informações sobre como enviar mensagens do componente personalizado quando você especifica essa opção, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md).
+ `IOT_CORE`— Assine as mensagens do AWS IoT Core MQTT. Se você escolher essa opção, o tópico poderá conter curingas do MQTT. Para obter mais informações sobre como enviar mensagens de componentes personalizados quando você especifica essa opção, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).
Padrão: `PUB_SUB`  
`topic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `IotCore` para `type`, poderá usar curingas MQTT (`+` e `#`) neste tópico.

**Example Exemplo: atualização da mesclagem de configuração (modo de contêiner)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_DELIVERY_STREAM_ARN": "arn:aws:firehose:us-west-2:123456789012:deliverystream/mystream"
    }
  },
  "containerMode": "GreengrassContainer"
}
```

**Example Exemplo: atualização da mesclagem de configuração (sem modo de contêiner)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_DELIVERY_STREAM_ARN": "arn:aws:firehose:us-west-2:123456789012:deliverystream/mystream"
    }
  },
  "containerMode": "NoContainer"
}
```

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

Esse componente aceita conteúdo de fluxo nos tópicos a seguir e envia o conteúdo para o fluxo de entrega de destino. O componente aceita dois tipos de dados de entrada:
+ Dados JSON no tópico `kinesisfirehose/message`.
+ Dados binários no tópico `kinesisfirehose/message/binary/#`.

**Tópico padrão para dados JSON (publicação/assinatura local):** `kinesisfirehose/message`  
<a name="connector-component-input-properties"></a>A mensagem aceita as propriedades a seguir. As mensagens de entrada devem estar no formato JSON.    
`request`  
Os dados a serem enviados para o fluxo de entrega e o fluxo de entrega de destino, se diferentes do fluxo padrão.  
Tipo: o `object` que contém as seguintes informações:    
`data`  
Os dados a serem enviados para o fluxo de entrega.  
Tipo: `string`  
`delivery_stream_arn`  
(Opcional) O ARN do fluxo de entrega do Firehose de destino. Especifique essa propriedade para substituir o fluxo de entrega padrão.  
Tipo: `string`  
`id`  <a name="connector-component-input-property-id"></a>
Um ID arbitrário para a solicitação. Use essa propriedade para mapear uma solicitação de entrada para uma resposta de saída. Quando você especifica essa propriedade, o componente define a propriedade `id` no objeto de resposta com esse valor.  
Tipo: `string`

**Example 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"
}
```

**Tópico padrão para dados binários (publicação/assinatura local):** `kinesisfirehose/message/binary/#`  
Use esse tópico para enviar uma mensagem que contenha dados binários. O componente não analisa dados binários. O componente transmite os dados como estão.  
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-component-output-data"></a>

 <a name="connector-component-output-data"></a>Por padrão, esse componente publica respostas como dados de saída no tópico do MQTT a seguir. Você deve especificar esse tópico como `subject` na configuração do [componente legado de roteador de assinatura](legacy-subscription-router-component.md). Para obter mais informações sobre como assinar mensagens nesse tópico em seus componentes personalizados, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md). 

**Tópico padrão (AWS IoT Core MQTT):** `kinesisfirehose/message/status`

**Example Exemplo de saída de**  
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"
    }
  ]
}
```

**nota**  <a name="connector-component-retryable-error"></a>
Se o componente detectar um erro que pode ser repetido, como um erro de conexão, ele tentará publicar novamente no próximo lote.

## Arquivo de log local
<a name="kinesis-firehose-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

```
/greengrass/v2/logs/aws.greengrass.KinesisFirehose.log
```

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. `/greengrass/v2`Substitua pelo caminho para a pasta AWS IoT Greengrass raiz.

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.KinesisFirehose.log
  ```

## Licenças
<a name="kinesis-firehose-component-licenses"></a>

Esse componente 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

<a name="component-core-software-license"></a>Esse componente foi lançado nos termos do [Contrato de licença de software de núcleo do Greengrass](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

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

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.10  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.1.9  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  2.1.8  | Versão atualizada para o núcleo do Greengrass 2.13.0. | 
|  2.1.7  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.6  | Versão atualizada para o núcleo do Greengrass 2.11.0. | 
|  2.1.5  | Versão atualizada para o núcleo do Greengrass 2.10.0. | 
|  2.1.4  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.1.3  | Versão atualizada para o núcleo do Greengrass 2.8.0. | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/kinesis-firehose-component.html)  | 
|  2.0.8  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.0.7  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.6  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.5  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  2.0.4  |  Versão atualizada para o Greengrass nucleus versão 2.1.0.  | 
|  2.0.3  |  Versão inicial.  | 

## Consulte também
<a name="kinesis-firehose-component-see-also"></a>
+ [O que é o Amazon Data Firehose?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) no *Guia do desenvolvedor do Amazon Data Firehose*

# Lançador Lambda
<a name="lambda-launcher-component"></a>

O componente Lambda launcher (`aws.greengrass.LambdaLauncher`) inicia e interrompe AWS Lambda as funções nos AWS IoT Greengrass dispositivos principais. Esse componente também configura qualquer conteinerização e executa processos como os usuários que você especificar.

**nota**  <a name="lambda-component-dependency-note"></a>
Quando você implanta um componente da função do Lambda em um dispositivo principal, a implantação também inclui esse componente. Para obter mais informações, consulte [Executar funções AWS Lambda.](run-lambda-functions.md).

**Topics**
+ [Versões](#lambda-launcher-component-versions)
+ [Tipo](#lambda-launcher-component-type)
+ [Sistema operacional](#lambda-launcher-component-os-support)
+ [Requisitos](#lambda-launcher-component-requirements)
+ [Dependências](#lambda-launcher-component-dependencies)
+ [Configuração](#lambda-launcher-component-configuration)
+ [Arquivo de log local](#lambda-launcher-component-log-file)
+ [Changelog](#lambda-launcher-component-changelog)

## Versões
<a name="lambda-launcher-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.0.x

## Tipo
<a name="lambda-launcher-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="lambda-launcher-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Requisitos
<a name="lambda-launcher-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ <a name="core-device-lambda-function-requirements"></a>O dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você deseja que o dispositivo principal execute funções do Lambda em contêiner, o dispositivo deve atender aos requisitos para isso. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ O componente Lambda launcher é compatível com a execução em uma VPC.

## Dependências
<a name="lambda-launcher-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#lambda-launcher-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.0.11 – 2.0.13 ]

A tabela a seguir lista as dependências das versões 2.0.11 a 2.0.13 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Gerenciador do Lambda](lambda-manager-component.md) | >=2.0.0 <2.4.0  | Rígido | 

------
#### [ 2.0.9 – 2.0.10 ]

A tabela a seguir lista as dependências das versões 2.0.9 a 2.0.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Gerenciador do Lambda](lambda-manager-component.md) | >=2.0.0 <2.3.0  | Rígido | 

------
#### [ 2.0.4 - 2.0.8 ]

A tabela a seguir lista as dependências das versões 2.0.4 a 2.0.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Gerenciador do Lambda](lambda-manager-component.md) | >=2.0.0 <2.2.0  | Rígido | 

------
#### [ 2.0.3 ]

A tabela a seguir lista as dependências para a versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Gerenciador do Lambda](lambda-manager-component.md) | >=2.0.3 <2.1.0 | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="lambda-launcher-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

## Arquivo de log local
<a name="lambda-launcher-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

```
/greengrass/v2/logs/lambdaFunctionComponentName.log
```

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. `/greengrass/v2`Substitua pelo caminho para a pasta AWS IoT Greengrass raiz e *lambdaFunctionComponentName* substitua pelo nome do componente da função Lambda que esse componente inicia.

  ```
  sudo tail -f /greengrass/v2/logs/lambdaFunctionComponentName.log
  ```

## Changelog
<a name="lambda-launcher-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.0.13  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-launcher-component.html)  | 
|  2.0.12  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-launcher-component.html)  | 
|  2.0.11  |  Support para o Lambda manager 2.3.0.  | 
|  2.0.10  |  <a name="changelog-lambda-launcher-2.0.10"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-launcher-component.html)  | 
|  2.0.9  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.0.8  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.7  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.6  |  Melhorias na performance geral e correções de erros.  | 
|  2.0.4  |  <a name="changelog-lambda-launcher-2.0.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-launcher-component.html)  | 
|  2.0.3  |  Versão inicial.  | 

# Gerente do Lambda
<a name="lambda-manager-component"></a>

O componente Lambda Manager (`aws.greengrass.LambdaManager`) gerencia itens de trabalho e comunicação entre processos para AWS Lambda funções que são executadas no dispositivo principal do Greengrass.

**nota**  <a name="lambda-component-dependency-note"></a>
Quando você implanta um componente da função do Lambda em um dispositivo principal, a implantação também inclui esse componente. Para obter mais informações, consulte [Executar funções AWS Lambda.](run-lambda-functions.md).

**Topics**
+ [Versões](#lambda-manager-component-versions)
+ [Sistema operacional](#lambda-manager-component-os-support)
+ [Tipo](#lambda-manager-component-type)
+ [Requisitos](#lambda-manager-component-requirements)
+ [Dependências](#lambda-manager-component-dependencies)
+ [Configuração](#lambda-manager-component-configuration)
+ [Arquivo de log local](#lambda-manager-component-log-file)
+ [Changelog](#lambda-manager-component-changelog)

## Versões
<a name="lambda-manager-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Sistema operacional
<a name="lambda-manager-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Tipo
<a name="lambda-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Requisitos
<a name="lambda-manager-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ <a name="core-device-lambda-function-requirements"></a>O dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você deseja que o dispositivo principal execute funções do Lambda em contêiner, o dispositivo deve atender aos requisitos para isso. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ O componente do gerenciador Lambda tem suporte para execução em uma VPC.

## Dependências
<a name="lambda-manager-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#lambda-manager-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.3.7 ]

A tabela a seguir lista as dependências da versão 2.3.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.17.0 | Flexível | 

------
#### [ 2.3.6 ]

A tabela a seguir lista as dependências da versão 2.3.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.16.0  | Flexível | 

------
#### [ 2.3.5 ]

A tabela a seguir lista as dependências da versão 2.3.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.15.0  | Flexível | 

------
#### [ 2.3.4 ]

A tabela a seguir lista as dependências da versão 2.3.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.14.0  | Flexível | 

------
#### [ 2.3.2 and 2.3.3 ]

A tabela a seguir lista as dependências das versões 2.3.2 e 2.3.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.13.0  | Flexível | 

------
#### [ 2.2.10 and 2.3.1 ]

A tabela a seguir lista as dependências das versões 2.2.10 e 2.3.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.12.0  | Flexível | 

------
#### [ 2.2.8 and 2.2.9 ]

A tabela a seguir lista as dependências das versões 2.2.8 e 2.2.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.11.0  | Flexível | 

------
#### [ 2.2.7 ]

A tabela a seguir lista as dependências da versão 2.2.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.10.0  | Flexível | 

------
#### [ 2.2.6 ]

A tabela a seguir lista as dependências da versão 2.2.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.9.0  | Flexível | 

------
#### [ 2.2.5 ]

A tabela a seguir lista as dependências da versão 2.2.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.8.0  | Flexível | 

------
#### [ 2.2.4 ]

A tabela a seguir lista as dependências da versão 2.2.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.7.0  | Flexível | 

------
#### [ 2.2.1 - 2.2.3 ]

A tabela a seguir lista as dependências das versões 2.2.1 a 2.2.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.6.0  | Flexível | 

------
#### [ 2.2.0 ]

A tabela a seguir lista as dependências para a versão 2.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.5.0 <2.6.0  | Flexível | 

------
#### [ 2.1.3 and 2.1.4 ]

A tabela a seguir lista as dependências das versões 2.1.3 e 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | Flexível | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | Flexível | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | Flexível | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | Flexível | 

------
#### [ 2.0.x ]

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="lambda-manager-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`logHandlerMode`  
Somente para o lambda manager versões 2.3.0 ou superior 
Usado para escolher a implementação do gerenciador de logs Lambda a ser usada. Defina o valor `optimized` para usar menos threads para ler logs lambda.

`getResultTimeoutInSecond`  
(Opcional) A quantidade máxima de tempo, em segundos, que as funções do Lambda podem ser executadas antes de atingirem o tempo limite.  
Padrão: `60`

## Arquivo de log local
<a name="lambda-manager-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

```
/greengrass/v2/logs/greengrass.log
```

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. `/greengrass/v2`Substitua pelo caminho para a pasta AWS IoT Greengrass raiz.

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

## Changelog
<a name="lambda-manager-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.3.7  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  2.3.6  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.3.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.3.4  | Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass. | 
|  2.3.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.3.2  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.3.1  |  <a name="changelog-lambda-manager-2.3.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.3.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.11  |  <a name="changelog-lambda-manager-2.2.11"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.10  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.2.9  |  <a name="changelog-lambda-manager-2.2.9"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.8  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.2.7  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.2.6  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.2.5  |  <a name="changelog-lambda-manager-2.2.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.4  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.2.0  |  <a name="changelog-lambda-manager-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-manager-component.html)  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o Greengrass nucleus versão 2.2.0.  | 
|  2.1.0  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.1.0.  | 
|  2.0.3  |  Versão inicial.  | 

# Runtimes do Lambda
<a name="lambda-runtimes-component"></a>

O componente Lambda runtimes (`aws.greengrass.LambdaRuntimes`) fornece os tempos de execução que os dispositivos principais do Greengrass usam para executar funções do AWS Lambda.

**nota**  <a name="lambda-component-dependency-note"></a>
Quando você implanta um componente da função do Lambda em um dispositivo principal, a implantação também inclui esse componente. Para obter mais informações, consulte [Executar funções AWS Lambda.](run-lambda-functions.md).

**Topics**
+ [Versões](#lambda-runtimes-component-versions)
+ [Tipo](#lambda-runtimes-component-type)
+ [Sistema operacional](#lambda-runtimes-component-os-support)
+ [Requisitos](#lambda-runtimes-component-requirements)
+ [Dependências](#lambda-runtimes-component-dependencies)
+ [Configuração](#lambda-runtimes-component-configuration)
+ [Arquivo de log local](#lambda-runtimes-component-log-file)
+ [Changelog](#lambda-runtimes-component-changelog)

## Versões
<a name="lambda-runtimes-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.0.x

## Tipo
<a name="lambda-runtimes-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="lambda-runtimes-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Requisitos
<a name="lambda-runtimes-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ <a name="core-device-lambda-function-requirements"></a>O dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você deseja que o dispositivo principal execute funções do Lambda em contêiner, o dispositivo deve atender aos requisitos para isso. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ O componente de runtimes do Lambda pode ser executado em uma VPC.

## Dependências
<a name="lambda-runtimes-component-dependencies"></a>

Esse componente não tem nenhuma dependência.

## Configuração
<a name="lambda-runtimes-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

## Arquivo de log local
<a name="lambda-runtimes-component-log-file"></a>

Esse componente não gera logs.

## Changelog
<a name="lambda-runtimes-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.0.9  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/lambda-runtimes-component.html)  | 
|  2.0.8  |  Versão atualizada para o Greengrass nucleus versão 2.5.0.  | 
|  2.0.7  |  Versão atualizada para o Greengrass nucleus versão 2.4.0.  | 
|  2.0.6  |  Versão atualizada para o Greengrass nucleus versão 2.3.0.  | 
|  2.0.5  |  Versão atualizada para o Greengrass nucleus versão 2.2.0.  | 
|  2.0.4  |  Versão atualizada para o Greengrass nucleus versão 2.1.0.  | 
|  2.0.3  |  Versão inicial.  | 

# Roteador de assinatura legado
<a name="legacy-subscription-router-component"></a>

O roteador de assinatura antigo (`aws.greengrass.LegacySubscriptionRouter`) gerencia as assinaturas no dispositivo principal do Greengrass. As assinaturas são um recurso da AWS IoT Greengrass V1 que define os tópicos que as funções Lambda podem usar para mensagens MQTT em um dispositivo principal. Para obter mais informações, consulte [Assinaturas gerenciadas no fluxo de trabalho de mensagens MQTT](https://docs.aws.amazon.com/greengrass/v1/developerguide/gg-sec.html#gg-msg-workflow) no *Guia do desenvolvedor do AWS IoT Greengrass V1*.

Você pode usar esse componente para habilitar assinaturas para componentes de conectores e componentes da função Lambda que usam o SDK principal. AWS IoT Greengrass 

**nota**  <a name="legacy-subscription-router-requirement-note"></a>
O componente antigo do roteador de assinatura é necessário somente se sua função Lambda usar a `publish()` função no SDK AWS IoT Greengrass principal. Se você atualizar o código da função Lambda para usar a interface de comunicação entre processos (IPC) na AWS IoT Device SDK V2, não precisará implantar o componente legado do roteador de assinatura. Para obter mais informações, consulte os seguintes serviços de [comunicação entre processos](interprocess-communication.md):  
[Publicar/assinar mensagens locais](ipc-publish-subscribe.md)
[Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md)

**Topics**
+ [Versões](#legacy-subscription-router-component-versions)
+ [Tipo](#legacy-subscription-router-component-type)
+ [Sistema operacional](#legacy-subscription-router-component-os-support)
+ [Requisitos](#legacy-subscription-router-component-requirements)
+ [Dependências](#legacy-subscription-router-component-dependencies)
+ [Configuração](#legacy-subscription-router-component-configuration)
+ [Arquivo de log local](#legacy-subscription-router-component-log-file)
+ [Changelog](#legacy-subscription-router-component-changelog)

## Versões
<a name="legacy-subscription-router-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x
+ 2.0.x

## Tipo
<a name="legacy-subscription-router-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="legacy-subscription-router-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Requisitos
<a name="legacy-subscription-router-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ O roteador de assinatura legado tem suporte para ser executado em uma VPC.

## Dependências
<a name="legacy-subscription-router-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#legacy-subscription-router-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.15 ]

A tabela a seguir lista as dependências da versão 2.1.15 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.17.0 | Flexível | 

------
#### [ 2.1.14 ]

A tabela a seguir lista as dependências da versão 2.1.14 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0 | Flexível | 

------
#### [ 2.1.13 ]

A tabela a seguir lista as dependências da versão 2.1.13 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0 | Flexível | 

------
#### [ 2.1.12 ]

A seguinte tabela lista as dependências da versão 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0 | Flexível | 

------
#### [ 2.1.11 ]

A seguinte tabela lista as dependências da versão 2.1.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 

------
#### [ 2.0.3 ]

A seguinte tabela lista as dependências da versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0 | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="legacy-subscription-router-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ v2.1.x ]

`subscriptions`  
<a name="legacy-subscription-router-component-configuration-subscriptions-intro"></a>(Opcional) As assinaturas a serem ativadas no dispositivo principal. Esse é um objeto, em que cada chave é um ID exclusivo e cada valor é um objeto que define a assinatura desse conector. Você deve configurar uma assinatura ao implantar um componente de conector V1 ou uma função Lambda que usa AWS IoT Greengrass o SDK principal.  
Cada objeto de assinatura contém as seguintes informações:    
`id`  <a name="legacy-subscription-router-component-configuration-subscription-id"></a>
O ID exclusivo dessa assinatura. Esse ID deve corresponder à chave desse objeto de assinatura.  
`source`  
A função Lambda que usa o SDK AWS IoT Greengrass principal para publicar mensagens MQTT sobre os tópicos que você especifica em. `subject` Especifique um dos seguintes:  
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-component-name"></a>O nome de um componente da função do Lambda no dispositivo principal. Especifique o nome do componente com o prefixo `component:`, como **component:com.example.HelloWorldLambda**.
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-function-arn"></a>O nome do recurso da Amazon (ARN) de uma função do Lambda no dispositivo principal.
**Importante**  <a name="legacy-subscription-router-function-version-requirement"></a>
Se a versão da função do Lambda mudar, será necessário configurar a assinatura com a nova versão da função. Caso contrário, esse componente não roteará as mensagens até que a versão corresponda à assinatura.  
É necessário especificar um nome do recurso da Amazon (ARN) que inclua a versão da função a ser importada. Você não pode usar aliases de versão, como `$LATEST`.
Para implantar uma assinatura para um componente do conector V1, especifique o nome do componente ou o ARN da função do Lambda do componente do conector.  
`subject`  <a name="legacy-subscription-router-component-configuration-subscription-subject"></a>
O tópico ou filtro de tópicos do MQTT em que a fonte e o destino podem publicar e receber mensagens. Esse valor aceita os curingas de tópico `+` e `#`.  
`target`  
<a name="legacy-subscription-router-component-configuration-subscription-target-intro"></a>O destino que recebe as mensagens MQTT nos tópicos especificados em `subject`. A assinatura especifica que a `source` função publica mensagens MQTT em AWS IoT Core ou para uma função Lambda no dispositivo principal. Especifique um dos seguintes:  
+ <a name="legacy-subscription-router-component-configuration-subscription-target-cloud"></a>`cloud`. A `source` função publica mensagens MQTT para. AWS IoT Core
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-component-name"></a>O nome de um componente da função do Lambda no dispositivo principal. Especifique o nome do componente com o prefixo `component:`, como **component:com.example.HelloWorldLambda**.
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-function-arn"></a>O nome do recurso da Amazon (ARN) de uma função do Lambda no dispositivo principal.
**Importante**  <a name="legacy-subscription-router-function-version-requirement"></a>
Se a versão da função do Lambda mudar, será necessário configurar a assinatura com a nova versão da função. Caso contrário, esse componente não roteará as mensagens até que a versão corresponda à assinatura.  
É necessário especificar um nome do recurso da Amazon (ARN) que inclua a versão da função a ser importada. Você não pode usar aliases de versão, como `$LATEST`.
Padrão: sem assinaturas

**Example Exemplo de atualização de configuração (definindo uma assinatura para AWS IoT Core)**  
O exemplo a seguir especifica que o componente `com.example.HelloWorldLambda` da função Lambda publica a mensagem AWS IoT Core MQTT no tópico. `hello/world`  

```
{
  "subscriptions": {
    "Greengrass_HelloWorld_to_cloud": {
      "id": "Greengrass_HelloWorld_to_cloud",
      "source": "component:com.example.HelloWorldLambda",
      "subject": "hello/world",
      "target": "cloud"
    }
  }
}
```

**Example Exemplo de atualização de configuração (definindo uma assinatura para outra função do Lambda)**  
O exemplo a seguir especifica que o componente `com.example.HelloWorldLambda` da função do Lambda publica mensagens MQTT no componente da função do Lambda `com.example.MessageRelay` no tópico `hello/world`.  

```
{
  "subscriptions": {
    "Greengrass_HelloWorld_to_MessageRelay": {
      "id": "Greengrass_HelloWorld_to_MessageRelay",
      "source": "component:com.example.HelloWorldLambda",
      "subject": "hello/world",
      "target": "component:com.example.MessageRelay"
    }
  }
}
```

------
#### [ v2.0.x ]

`subscriptions`  
<a name="legacy-subscription-router-component-configuration-subscriptions-intro"></a>(Opcional) As assinaturas a serem ativadas no dispositivo principal. Esse é um objeto, em que cada chave é um ID exclusivo e cada valor é um objeto que define a assinatura desse conector. Você deve configurar uma assinatura ao implantar um componente de conector V1 ou uma função Lambda que usa AWS IoT Greengrass o SDK principal.  
Cada objeto de assinatura contém as seguintes informações:    
`id`  <a name="legacy-subscription-router-component-configuration-subscription-id"></a>
O ID exclusivo dessa assinatura. Esse ID deve corresponder à chave desse objeto de assinatura.  
`source`  
A função Lambda que usa o SDK AWS IoT Greengrass principal para publicar mensagens MQTT sobre os tópicos que você especifica em. `subject` Especifique o seguinte:  
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-function-arn"></a>O nome do recurso da Amazon (ARN) de uma função do Lambda no dispositivo principal.
**Importante**  <a name="legacy-subscription-router-function-version-requirement"></a>
Se a versão da função do Lambda mudar, será necessário configurar a assinatura com a nova versão da função. Caso contrário, esse componente não roteará as mensagens até que a versão corresponda à assinatura.  
É necessário especificar um nome do recurso da Amazon (ARN) que inclua a versão da função a ser importada. Você não pode usar aliases de versão, como `$LATEST`.
Para implantar uma assinatura para um componente do conector V1, especifique o ARN da função do Lambda do componente do conector.  
`subject`  <a name="legacy-subscription-router-component-configuration-subscription-subject"></a>
O tópico ou filtro de tópicos do MQTT em que a fonte e o destino podem publicar e receber mensagens. Esse valor aceita os curingas de tópico `+` e `#`.  
`target`  
<a name="legacy-subscription-router-component-configuration-subscription-target-intro"></a>O destino que recebe as mensagens MQTT nos tópicos especificados em `subject`. A assinatura especifica que a `source` função publica mensagens MQTT em AWS IoT Core ou para uma função Lambda no dispositivo principal. Especifique um dos seguintes:  
+ <a name="legacy-subscription-router-component-configuration-subscription-target-cloud"></a>`cloud`. A `source` função publica mensagens MQTT para. AWS IoT Core
+ <a name="legacy-subscription-router-component-configuration-subscription-source-target-function-arn"></a>O nome do recurso da Amazon (ARN) de uma função do Lambda no dispositivo principal.
**Importante**  <a name="legacy-subscription-router-function-version-requirement"></a>
Se a versão da função do Lambda mudar, será necessário configurar a assinatura com a nova versão da função. Caso contrário, esse componente não roteará as mensagens até que a versão corresponda à assinatura.  
É necessário especificar um nome do recurso da Amazon (ARN) que inclua a versão da função a ser importada. Você não pode usar aliases de versão, como `$LATEST`.
Padrão: sem assinaturas

**Example Exemplo de atualização de configuração (definindo uma assinatura para AWS IoT Core)**  
O exemplo a seguir especifica que a `Greengrass_HelloWorld` função publica a mensagem MQTT AWS IoT Core no tópico. `hello/world`  

```
"subscriptions": {
  "Greengrass_HelloWorld_to_cloud": {
    "id": "Greengrass_HelloWorld_to_cloud",
    "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5",
    "subject": "hello/world",
    "target": "cloud"
  }
}
```

**Example Exemplo de atualização de configuração (definindo uma assinatura para outra função do Lambda)**  
O exemplo a seguir especifica que a função `Greengrass_HelloWorld` publica mensagens MQTT em `Greengrass_MessageRelay` no tópico `hello/world`.  

```
"subscriptions": {
  "Greengrass_HelloWorld_to_MessageRelay": {
    "id": "Greengrass_HelloWorld_to_MessageRelay",
    "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5",
    "subject": "hello/world",
    "target": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_MessageRelay:5"
  }
}
```

------

## Arquivo de log local
<a name="legacy-subscription-router-component-log-file"></a>

Esse componente não gera logs.

## Changelog
<a name="legacy-subscription-router-component-changelog"></a>

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


|  Versão  |  Alterações  | 
| --- | --- | 
|  2.1.15  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  2.1.14  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.1.13  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  2.1.12  | Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass. | 
|  2.1.11  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.1.8  | Versão atualizada para o Greengrass nucleus versão 2.9.0. | 
|  2.1.7  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.5  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o Greengrass nucleus versão 2.2.0.  | 
|  2.1.0  |  <a name="changelog-legacy-subscription-router-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/legacy-subscription-router-component.html)  | 
|  2.0.3  |  Versão inicial.  | 

# Console de depuração local
<a name="local-debug-console-component"></a>

O componente do console de depuração local (`aws.greengrass.LocalDebugConsole`) fornece um painel local que exibe informações sobre seus dispositivos AWS IoT Greengrass principais e seus componentes. Você pode usar esse painel para depurar seu dispositivo principal e gerenciar componentes locais.

**Importante**  
 <a name="local-dev-tools-production-environment-warning"></a>Recomendamos que você use este componente somente em ambientes de desenvolvimento, não em ambientes de produção. Este componente fornece acesso a informações e operações que você normalmente não precisará em um ambiente de produção. Siga o princípio do privilégio mínimo implantando este componente somente nos dispositivos principais em que você precisar dele. 

**Topics**
+ [Versões](#local-debug-console-component-versions)
+ [Tipo](#local-debug-console-component-type)
+ [Sistema operacional](#local-debug-console-component-os-support)
+ [Requisitos](#local-debug-console-component-requirements)
+ [Dependências](#local-debug-console-component-dependencies)
+ [Configuração](#local-debug-console-component-configuration)
+ [Uso](#local-debug-console-component-usage)
+ [Arquivo de log local](#local-debug-console-component-log-file)
+ [Changelog](#local-debug-console-component-changelog)

## Versões
<a name="local-debug-console-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="local-debug-console-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="local-debug-console-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="local-debug-console-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ Você usa um nome de usuário e senha para entrar no painel. O nome de usuário, que é `debug`, é fornecido para você. Você deve usar a AWS IoT Greengrass CLI para criar uma senha temporária que autentique você com o painel em um dispositivo principal. Você deve ser capaz de usar a AWS IoT Greengrass CLI para usar o console de depuração local. Para obter mais informações, consulte [requisitos da CLI do Greengrass](greengrass-cli-component.md#greengrass-cli-component-requirements). Para obter mais informações sobre como gerar a senha e fazer login, consulte [Uso do componente do console de depuração local](#local-debug-console-component-usage).
+ O componente do console de depuração local tem suporte para execução em uma VPC.

## Dependências
<a name="local-debug-console-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#local-debug-console-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.4.6 ]

A tabela a seguir lista as dependências da versão 2.4.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,10,0 <2,17,0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2,10,0 <2,17,0 | Rígido | 

------
#### [ 2.4.5 ]

A tabela a seguir lista as dependências da versão 2.4.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,10,0 <2,16,0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2,10,0 <2,16,0 | Rígido | 

------
#### [ 2.4.4 ]

A tabela a seguir lista as dependências da versão 2.4.4 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,10,0 <2,15,0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2,10,0 <2,15,0 | Rígido | 

------
#### [ 2.4.3 ]

A tabela a seguir lista as dependências da versão 2.4.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.10.0 <2.14.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.14.0 | Rígido | 

------
#### [ 2.4.1 – 2.4.2 ]

A tabela a seguir lista as dependências das versões 2.4.1 a 2.4.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.10.0 <2.13.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.13.0 | Rígido | 

------
#### [ 2.4.0 ]

A tabela a seguir lista as dependências da versão 2.4.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.10.0 <2.12.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.12.0 | Rígido | 

------
#### [ 2.3.0 and 2.3.1 ]

A seguinte tabela lista as dependências das versões 2.3.0 e 2.3.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) | >=2.10.0 <2.12.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.10.0 <2.12.0 | Rígido | 

------
#### [ 2.2.9 ]

A tabela a seguir lista as dependências da versão 2.2.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.12.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.12.0 | Rígido | 

------
#### [ 2.2.8 ]

A tabela a seguir lista as dependências da versão 2.2.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.11.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.11.0 | Rígido | 

------
#### [ 2.2.7 ]

A tabela a seguir lista as dependências da versão 2.2.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.10.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.10.0 | Rígido | 

------
#### [ 2.2.6 ]

A tabela a seguir lista as dependências da versão 2.2.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.9.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.9.0 | Rígido | 

------
#### [ 2.2.5 ]

A tabela a seguir lista as dependências da versão 2.2.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.8.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.8.0 | Rígido | 

------
#### [ 2.2.4 ]

A tabela a seguir lista as dependências da versão 2.2.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.7.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.7.0 | Rígido | 

------
#### [ 2.2.3 ]

A tabela a seguir lista as dependências da versão 2.2.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.6.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.6.0 | Rígido | 

------
#### [ 2.2.2 ]

A tabela a seguir lista as dependências da versão 2.2.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.5.0 | Rígido | 

------
#### [ 2.2.1 ]

A tabela a seguir lista as dependências da versão 2.2.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.4.0 | Rígido | 

------
#### [ 2.2.0 ]

A tabela a seguir lista as dependências da versão 2.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.3.0 | Rígido | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.1.0 <2.2.0 | Rígido | 

------
#### [ 2.0.x ]

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | Flexível | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) |  >=2.0.3 <2.1.0  | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="local-debug-console-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ v2.1.x - v2.4.x ]

`httpsEnabled`  
(Opcional) Você pode ativar a comunicação HTTPS para o console de depuração local. Se você habilitar a comunicação HTTPS, o console de depuração local criará um certificado autoassinado. Os navegadores da Web mostram avisos de segurança para sites que usam certificados autoassinados, portanto, você deve verificar o certificado manualmente. Em seguida, você pode ignorar o aviso. Para obter mais informações, consulte [Uso](#local-debug-console-component-usage).  
Padrão: `true`

`port`  <a name="local-debug-console-component-configuration-port"></a>
(Opcional) A porta na qual fornecer o console de depuração local.  
Padrão: `1441`

`websocketPort`  <a name="local-debug-console-component-configuration-websocket-port"></a>
(Opcional) A porta do websocket a ser usada para o console de depuração local.  
Padrão: `1442`

`bindHostname`  <a name="local-debug-console-component-configuration-bind-hostname"></a>
(Opcional) O nome do host a ser usado para o console de depuração local.  
Se você [executar o software AWS IoT Greengrass Core em um contêiner do Docker](run-greengrass-docker.md), defina esse parâmetro como`0.0.0.0`, para poder abrir o console de depuração local fora do contêiner do Docker.  
Padrão: `localhost`

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica a abertura do console de depuração local em portas não padrão e a desativação do HTTPS.  

```
{
  "httpsEnabled": false,
  "port": "10441",
  "websocketPort": "10442"
}
```

------
#### [ v2.0.x ]

`port`  <a name="local-debug-console-component-configuration-port"></a>
(Opcional) A porta na qual fornecer o console de depuração local.  
Padrão: `1441`

`websocketPort`  <a name="local-debug-console-component-configuration-websocket-port"></a>
(Opcional) A porta do websocket a ser usada para o console de depuração local.  
Padrão: `1442`

`bindHostname`  <a name="local-debug-console-component-configuration-bind-hostname"></a>
(Opcional) O nome do host a ser usado para o console de depuração local.  
Se você [executar o software AWS IoT Greengrass Core em um contêiner do Docker](run-greengrass-docker.md), defina esse parâmetro como`0.0.0.0`, para poder abrir o console de depuração local fora do contêiner do Docker.  
Padrão: `localhost`

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica a abertura do console de depuração local em portas não padrão.  

```
{
  "port": "10441",
  "websocketPort": "10442"
}
```

------

## Uso
<a name="local-debug-console-component-usage"></a>

Para usar o console de depuração local, crie uma sessão a partir da CLI do Greengrass. Quando você cria uma sessão, a CLI do Greengrass fornece um nome de usuário e uma senha temporária que você pode usar para entrar no console de depuração local.

Siga estas instruções para abrir o console de depuração local em seu dispositivo principal ou em seu computador de desenvolvimento.

------
#### [ v2.1.x - v2.4.x ]

Nas versões 2.1.0 e posteriores, o console de depuração local usa HTTPS por padrão. Quando o HTTPS está habilitado, o console de depuração local cria um certificado autoassinado para proteger a conexão. Seu navegador mostra um aviso de segurança quando você abre o console de depuração local devido a esse certificado autoassinado. Quando você cria uma sessão com a CLI do Greengrass, a saída inclui as impressões digitais do certificado, para que você possa verificar se o certificado é legítimo e se a conexão é segura.

Você pode desabilitar HTTPS. Para obter mais informações, consulte [Configuração local do console de depuração](#local-debug-console-component-configuration).

**Para abrir o console de depuração local**

1. <a name="local-debug-console-component-usage-forward-port"></a>(Opcional) Para visualizar o console de depuração local em seu computador de desenvolvimento, você pode encaminhar a porta do console via SSH. No entanto, você deve primeiro ativar a opção `AllowTcpForwarding` no arquivo de configuração SSH do seu dispositivo principal. Essa opção é habilitada por padrão. Execute o comando a seguir em seu computador de desenvolvimento para visualizar o painel em `localhost:1441` no computador de desenvolvimento.

   ```
   ssh -L 1441:localhost:1441 -L 1442:localhost:1442 username@core-device-ip-address
   ```
**nota**  
Você pode alterar as portas padrão `1441` e `1442`. Para obter mais informações, consulte [Configuração local do console de depuração](#local-debug-console-component-configuration).

1. <a name="local-debug-console-component-create-session-step"></a>Crie uma sessão para usar o console de depuração local. Ao criar uma sessão, você gera uma senha que usa para autenticar. O console de depuração local exige uma senha para aumentar a segurança, pois você pode usar esse componente para visualizar informações importantes e realizar operações no dispositivo principal. O console de depuração local também cria um certificado para proteger a conexão se você habilitar HTTPS na configuração do componente. O HTTPS está habilitado por padrão.

   Use a AWS IoT Greengrass CLI para criar a sessão. Esse comando gera uma senha aleatória de 43 caracteres que expira após 8 horas. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass V2 raiz.

------
#### [ Linux or Unix ]

   ```
   sudo /greengrass/v2/bin/greengrass-cli get-debug-password
   ```

------
#### [ Windows ]

   ```
   C:\greengrass\v2\bin\greengrass-cli get-debug-password
   ```

------

   A saída do comando se parece com o exemplo a seguir se você tiver configurado o console de depuração local para usar HTTPS. Você usa as impressões digitais do certificado para verificar se a conexão é segura ao abrir o console de depuração local.

   ```
   Username: debug
   Password: bEDp3MOHdj8ou2w5de_sCBI2XAaguy3a8XxREXAMPLE
   Password expires at: 2021-04-01T17:01:43.921999931-07:00
   The local debug console is configured to use TLS security. The certificate is self-signed so you will need to bypass your web browser's security warnings to open the console.
   Before you bypass the security warning, verify that the certificate fingerprint matches the following fingerprints.
   SHA-256: 15 0B 2C E2 54 8B 22 DE 08 46 54 8A B1 2B 25 DE FB 02 7D 01 4E 4A 56 67 96 DA A6 CC B1 D2 C4 1B
   SHA-1: BC 3E 16 04 D3 80 70 DA E0 47 25 F9 90 FA D6 02 80 3E B5 C1
   ```

   O componente de visualização de depuração cria uma sessão que dura 8 horas. Depois disso, você deverá gerar uma nova senha para visualizar o console de depuração local novamente. 

1. Abra e faça login no painel. Visualize o painel em seu dispositivo principal do Greengrass ou em seu computador de desenvolvimento se você encaminhar a porta por SSH. Execute um destes procedimentos:
   + Se você habilitou o HTTPS no console de depuração local, que é a configuração padrão, faça o seguinte:

     1. Abra `https://localhost:1441` em seu dispositivo principal ou em seu computador de desenvolvimento se você encaminhou a porta por SSH.

        Seu navegador pode mostrar um aviso de segurança sobre um certificado de segurança inválido.

     1. Se seu navegador mostrar um aviso de segurança, verifique se o certificado é legítimo e ignore o aviso de segurança. Faça o seguinte:

        1. Encontre a impressão digital SHA-256 ou SHA-1 do certificado e verifique se ela corresponde à impressão digital SHA-256 ou SHA-1 que o comando `get-debug-password` imprimiu anteriormente. Seu navegador pode fornecer uma ou ambas as impressões digitais. Consulte a documentação do seu navegador para ver o certificado e suas impressões digitais. Em alguns navegadores, a impressão digital do certificado é chamada de impressão digital.
**nota**  
Se a impressão digital do certificado não corresponder, acesse [Step 2](#local-debug-console-component-create-session-step) para criar uma nova sessão. Se a impressão digital do certificado ainda não corresponder, sua conexão pode estar insegura.

        1. Se a impressão digital do certificado corresponder, ignore o aviso de segurança do seu navegador para abrir o console de depuração local. Consulte a documentação do seu navegador para ignorar o aviso de segurança do navegador.

     1. Faça login no site usando o nome de usuário e a senha que o comando `get-debug-password` imprimiu anteriormente.

        Abra o console de depuração local.

     1. Se o console de depuração local mostrar um erro informando que não é possível se conectar ao WebSocket devido a uma falha no handshake de TLS, você deverá ignorar o aviso de segurança autoassinado do URL. WebSocket   
![\[O erro de handshake WebSocket TLS no console de depuração local.\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/images/local-debug-console/websocket-tls-handshake-error.png)

        Faça o seguinte:

        1. Abra `https://localhost:1442` no mesmo navegador em que você abriu o console de depuração local.

        1. Verifique o certificado e ignore o aviso de segurança.

           Seu navegador pode mostrar uma página HTTP 404 depois que você ignorar o aviso.

        1. Abra `https://localhost:1441` novamente.

           O console de depuração local mostra informações sobre o dispositivo principal.
   + Se você desabilitou o HTTPS no console de depuração local, faça o seguinte:

     1. <a name="local-debug-console-component-usage-open-localhost-http"></a>Abra `http://localhost:1441` em seu dispositivo principal ou abra-o no computador de desenvolvimento se você encaminhou a porta por SSH.

     1. <a name="local-debug-console-component-usage-sign-in"></a>Faça login no site usando o nome de usuário e a senha que o comando `get-debug-password` imprimiu anteriormente.

        Abra o console de depuração local.

------
#### [ v2.0.x ]

**Para abrir o console de depuração local**

1. <a name="local-debug-console-component-usage-forward-port"></a>(Opcional) Para visualizar o console de depuração local em seu computador de desenvolvimento, você pode encaminhar a porta do console via SSH. No entanto, você deve primeiro ativar a opção `AllowTcpForwarding` no arquivo de configuração SSH do seu dispositivo principal. Essa opção é habilitada por padrão. Execute o comando a seguir em seu computador de desenvolvimento para visualizar o painel em `localhost:1441` no computador de desenvolvimento.

   ```
   ssh -L 1441:localhost:1441 -L 1442:localhost:1442 username@core-device-ip-address
   ```
**nota**  
Você pode alterar as portas padrão `1441` e `1442`. Para obter mais informações, consulte [Configuração local do console de depuração](#local-debug-console-component-configuration).

1. Crie uma sessão para usar o console de depuração local. Ao criar uma sessão, você gera uma senha que usa para autenticar. O console de depuração local exige uma senha para aumentar a segurança, pois você pode usar esse componente para visualizar informações importantes e realizar operações no dispositivo principal.

   Use a AWS IoT Greengrass CLI para criar a sessão. Esse comando gera uma senha aleatória de 43 caracteres que expira após 8 horas. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass V2 raiz.

------
#### [ Linux or Unix ]

   ```
   sudo /greengrass/v2/bin/greengrass-cli get-debug-password
   ```

------
#### [ Windows ]

   ```
   C:\greengrass\v2\bin\greengrass-cli get-debug-password
   ```

------

   A saída do comando se parece com o exemplo a seguir.

   ```
   Username: debug
   Password: bEDp3MOHdj8ou2w5de_sCBI2XAaguy3a8XxREXAMPLE
   Password will expire at: 2021-04-01T17:01:43.921999931-07:00
   ```

   O componente de visualização de depuração cria uma sessão que dura 4 horas e, em seguida, você deve gerar uma nova senha para visualizar novamente o console de depuração local.

1. <a name="local-debug-console-component-usage-open-localhost-http"></a>Abra `http://localhost:1441` em seu dispositivo principal ou abra-o no computador de desenvolvimento se você encaminhou a porta por SSH.

1. <a name="local-debug-console-component-usage-sign-in"></a>Faça login no site usando o nome de usuário e a senha que o comando `get-debug-password` imprimiu anteriormente.

   Abra o console de depuração local.

------

## Arquivo de log local
<a name="local-debug-console-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="local-debug-console-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.4.6  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  2.4.5  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.4.4  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  2.4.3  |  Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.4.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.4.1  |  Versão atualizada para o núcleo do Greengrass 2.12.0.  | 
|  2.4.0  |  <a name="changelog-local-debug-console-2.4.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.3.1  |  Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass.  | 
|  2.3.0  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/local-debug-console-component.html) | 
|  2.2.7  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.2.6  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.2.5  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.2.4  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.2.2  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.2.1  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.2.0  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  2.1.0  |  <a name="changelog-local-debug-console-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/local-debug-console-component.html)  | 
|  2.0.3  |  Versão inicial.  | 

# Gerenciador de logs
<a name="log-manager-component"></a>

**Atenção**  
Recomendamos atualizar para o gerenciador de logs v2.3.5 ou posterior. A versão 2.3.5 otimiza as gravações de configuração do gerenciador de logs, reduzindo as operações de E/S e melhorando a velocidade de upload de logs, a performance geral do dispositivo e possivelmente prolongando a vida útil do dispositivo.

O componente do gerenciador de registros (`aws.greengrass.LogManager`) carrega registros dos dispositivos AWS IoT Greengrass principais para o Amazon CloudWatch Logs. É possível carregar logs do núcleo ou de outros componentes do Greengrass e de outras aplicações e serviços que não sejam componentes do Greengrass. Para obter mais informações sobre como monitorar registros no CloudWatch Logs e no sistema de arquivos local, consulte[Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="log-manager-considerations-intro"></a>As considerações a seguir se aplicam quando você usa o componente do gerenciador de CloudWatch registros para gravar em registros:<a name="log-manager-considerations"></a>
+ **Atrasos no log**

  A versão 2.2.8 (e anteriores) do componente gerenciador de logs processa e carrega logs somente de arquivos de log rotacionados. Por padrão, o software AWS IoT Greengrass Core gira os arquivos de log a cada hora ou depois de atingirem 1.024 KB. Como resultado, o componente do gerenciador de registros carrega registros somente depois que o software AWS IoT Greengrass Core ou um componente do Greengrass grava mais de 1.024 KB de registros. É possível configurar um limite menor para o tamanho dos arquivos de log para que rotacionem com mais frequência. Isso faz com que o componente do gerenciador de registros faça upload de registros para o CloudWatch Logs com mais frequência.

  A versão 2.3.0 (e posteriores) do componente gerenciador de logs processa e carrega todos os logs. Quando você grava um novo log, a versão 2.3.0 (e posteriores) do gerenciador de logs processa e carrega diretamente esse arquivo de log ativo em vez de esperar que ele seja rotacionado. Isso significa que você pode ver o novo log em cinco minutos ou menos.

  O componente do gerenciador de logs carrega novos logs periodicamente. Por padrão, o componente do gerenciador de logs carrega novos logs a cada 5 minutos. Você pode configurar um intervalo de upload menor, para que o componente do gerenciador de registros faça o upload dos CloudWatch registros para o Logs com mais frequência configurando o. `periodicUploadIntervalSec` Para obter mais informações sobre como configurar esse intervalo periódico, consulte [Configuração](https://docs.aws.amazon.com/greengrass/v2/developerguide/log-manager-component.html#log-manager-component-configuration).

  Os logs podem ser carregados quase em tempo real a partir do mesmo sistema de arquivos do Greengrass. Se você precisar observar os logs em tempo real, verifique se é possível usar os [logs do sistema de arquivos](monitor-logs.md#access-local-logs).
**nota**  
Se você estiver usando sistemas de arquivos diferentes para gravar logs, o gerenciador de logs retornará ao comportamento nas versões 2.2.8 e anteriores. Para obter informações sobre como acessar logs do sistema de arquivos, consulte [Acessar logs do sistema de arquivos](https://docs.aws.amazon.com/greengrass/v2/developerguide/monitor-logs.html#access-local-logs).
+ **Distorção do relógio**

  O componente do gerenciador de registros usa o processo de assinatura padrão do Signature versão 4 para criar solicitações de API para o CloudWatch Logs. Se a hora do sistema em um dispositivo principal estiver fora de sincronia por mais de 15 minutos, o CloudWatch Logs rejeitará as solicitações. Para obter mais informações, consulte [Processo de assinatura do Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) na *Referência geral da AWS*.

Para obter informações sobre os grupos e fluxos de logs para os quais esse componente carrega logs, consulte [Usage](#log-manager-component-usage).

**Topics**
+ [Versões](#log-manager-component-versions)
+ [Tipo](#log-manager-component-type)
+ [Sistema operacional](#log-manager-component-os-support)
+ [Requisitos](#log-manager-component-requirements)
+ [Dependências](#log-manager-component-dependencies)
+ [Configuração](#log-manager-component-configuration)
+ [Usage](#log-manager-component-usage)
+ [Arquivo de log local](#log-manager-component-log-file)
+ [Changelog](#log-manager-component-changelog)

## Versões
<a name="log-manager-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="log-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="log-manager-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="log-manager-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ A [função de dispositivo do Greengrass](device-service-role.md) precisa permitir as ações `logs:CreateLogGroup`, `logs:CreateLogStream`, `logs:PutLogEvents` e `logs:DescribeLogStreams`, conforme mostrado no seguinte exemplo de política do IAM.

  ```
  {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "logs:CreateLogGroup",
          "logs:CreateLogStream",
          "logs:PutLogEvents",
          "logs:DescribeLogStreams"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:logs:*:*:*"
      }
    ]
  }
  ```
**nota**  
A [função de dispositivo do Greengrass](device-service-role.md) que você cria ao instalar o software AWS IoT Greengrass Core inclui as permissões neste exemplo de política por padrão.

  Para obter mais informações, consulte [Uso de políticas baseadas em identidade (políticas do IAM) para CloudWatch registros no Guia](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html) *do usuário do Amazon CloudWatch Logs*.
+ O componente do gerenciador de logs tem suporte para execução em uma VPC. Para implantá-lo em uma VPC, o procedimento a seguir é necessário.
  + O componente do gerenciador de logs deve ter conectividade com a `logs.region.amazonaws.com` que contém o endpoint da VPC de `com.amazonaws.us-east-1.logs`.

### Endpoints e portas
<a name="log-manager-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `logs.region.amazonaws.com`  | 443 | Não |  Obrigatório se você gravar registros em CloudWatch Logs.  | 

## Dependências
<a name="log-manager-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#log-manager-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.3.11 ]

A tabela a seguir lista as dependências da versão 2.3.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.17.0 | Flexível | 

------
#### [ 2.3.10 ]

A tabela a seguir lista as dependências da versão 2.3.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.16,0 | Flexível | 

------
#### [ 2.3.9 ]

A tabela a seguir lista as dependências da versão 2.3.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.15.0 | Flexível | 

------
#### [ 2.3.8 ]

A seguinte tabela lista as dependências da versão 2.3.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.14.0 | Flexível | 

------
#### [ 2.3.7 ]

A tabela a seguir lista as dependências da versão 2.3.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.13.0 | Flexível | 

------
#### [ 2.3.5 and 2.3.6 ]

A tabela a seguir lista as dependências das versões 2.3.5 e 2.3.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.12.0 | Flexível | 

------
#### [ 2.3.3 – 2.3.4 ]

A tabela a seguir lista as dependências das versões 2.3.3 e 2.3.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.11.0 | Flexível | 

------
#### [ 2.2.8 – 2.3.2 ]

A tabela a seguir lista as dependências das versões 2.2.8 e 2.3.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.10.0 | Flexível | 

------
#### [ 2.2.7 ]

A tabela a seguir lista as dependências da versão 2.2.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.9.0 | Flexível | 

------
#### [ 2.2.6 ]

A tabela a seguir lista as dependências da versão 2.2.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.8.0 | Flexível | 

------
#### [ 2.2.5 ]

A tabela a seguir lista as dependências da versão 2.2.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.7.0 | Flexível | 

------
#### [ 2.2.1 - 2.2.4 ]

A tabela a seguir lista as dependências das versões 2.2.1 e 2.2.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.6.0 | Flexível | 

------
#### [ 2.1.3 and 2.2.0 ]

A tabela a seguir lista as dependências das versões 2.1.3 e 2.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | Flexível | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | Flexível | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | Flexível | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0  | Flexível | 

------
#### [ 2.0.x ]

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="log-manager-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ v2.3.10 ]

`logsUploaderConfiguration`  
(Opcional) A configuração dos logs que o componente do gerenciador de logs carrega. Esse objeto contém as informações a seguir:    
  `systemLogsConfiguration`   
[(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do [núcleo do Greengrass](greengrass-nucleus-component.md) e dos componentes do plug-in.](develop-greengrass-components.md#component-types) Especifique essa configuração para permitir que o componente do gerenciador de logs gerencie os logs do sistema. Esse objeto contém as informações a seguir:    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(Opcional) Você pode fazer upload dos registros do sistema para o CloudWatch Logs.  
Padrão: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o [componente de Greengrass nucleus](greengrass-nucleus-component.md) para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique `JSON` no parâmetro de [formato do registro em log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) (`logging.format`).  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.  
Esse parâmetro é equivalente ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
  `componentLogsConfigurationMap`   
(Opcional) Um mapa das configurações de log para componentes no dispositivo principal. Cada objeto `componentName` nesse mapa define a configuração de log para o componente ou a aplicação. O componente gerenciador de registros carrega esses registros de componentes no CloudWatch Logs.  
Recomenda-se enfaticamente o uso de uma única chave de configuração por componente. É necessário ter como alvo somente um grupo de arquivos que tenha apenas um arquivo de log que esteja sendo gravado ativamente ao usar o `logFileRegex`. Não seguir essa recomendação pode fazer com que registros duplicados sejam enviados para CloudWatch. Se estiver direcionando vários arquivos de log ativos com uma única expressão regular, recomendamos atualizar para o gerenciador de logs v2.3.1 ou posterior e considerar a possibilidade de alterar sua configuração usando a [configuração de exemplo](#log-manager-multiple-logs-v2.3.10).
Se você estiver atualizando de uma versão do gerenciador de logs anterior à v2.2.0, poderá continuar usando a lista `componentLogsConfiguration`em vez de `componentLogsConfigurationMap`. No entanto, recomendamos enfaticamente o uso do formato de mapa para poder mesclar e reconfigurar as atualizações para modificar as configurações de componentes específicos. Para obter informações sobre o parâmetro `componentLogsConfiguration`, consulte os parâmetros de configuração da versão 2.1.x desse componente.  
*`componentName`*  
A configuração de log para o componente *`componentName`* ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.  
Esse objeto contém as seguintes informações:    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do [módulo de AWS IoT Greengrass registro](https://github.com/aws-greengrass/aws-greengrass-logging-java) em. GitHub  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.  
Esse parâmetro está relacionado ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Padrão: `/greengrass/v2/logs`.  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em `logFileDirectoryPath`.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar **hello\$1world\$1\$1\$1\$1w\$1.log** para carregar logs em uma aplicação Hello World. O padrão `\\\\w*` corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:  
+ `hello_world.log`: o arquivo de log mais recente da aplicação Hello World.
+ `hello_world_2020_12_15_17_0.log`: um arquivo de log mais antigo para a aplicação Hello World.
Padrão:`componentName\\\\w*.log`, onde *componentName* está o nome do componente para essa configuração de log.  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.  
Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

  `periodicUploadIntervalSec`   
(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.  
Padrão: `300` (5 minutos)  
Mínimo: `0.000001` (1 microssegundo)

`updateToTlogIntervalSec`  
(Opcional) O período, em segundos, da frequência com que o Nucleus grava detalhes de eventos de upload de log do Amazon CloudWatch Events no log de transações local (`config.tlog`). O padrão é o valor especificado em `periodicUploadIntervalSec`. É possível modificar esse parâmetro para aumentar o intervalo de gravação.  
Padrão: `periodicUploadIntervalSec`  
Mínimo: `periodicUploadIntervalSec`

`deprecatedVersionSupport`  
Indica se o gerenciador de logs deve usar as melhorias de velocidade de log introduzidas no gerenciador de logs v2.3.5. Defina o valor `false` para usar as melhorias.  
Se você definir esse valor para `false` quando fizer o upgrade do gerenciador de logs v2.3.1 ou anterior, é possível que entradas de log duplicadas sejam carregadas.  
O padrão é `true`.

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica o upload de registros do sistema e de `com.example.HelloWorld` componentes para o CloudWatch Logs.  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300",
  "deprecatedVersionSupport": "false"
}
```

**Example Exemplo: configuração para carregar vários arquivos de log ativos usando o gerenciador de logs v2.3.1**  
O exemplo de configuração a seguir é recomendado se você quiser segmentar vários arquivos de log ativos. Este exemplo de configuração especifica para quais arquivos de log ativos você deseja CloudWatch carregar. Esse exemplo de configuração também carregará todos os arquivos rotacionados que correspondam a `logFileRegex`. Esse exemplo de configuração é compatível com o gerenciador de logs v2.3.1.  

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.A": {
        "logFileRegex": "com.example.A\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
      "com.example.B": {
        "logFileRegex": "com.example.B\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "10"
}
```

------
#### [ v2.3.6 – v2.3.9 ]

`logsUploaderConfiguration`  
(Opcional) A configuração dos logs que o componente do gerenciador de logs carrega. Esse objeto contém as informações a seguir:    
  `systemLogsConfiguration`   
[(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do [núcleo do Greengrass](greengrass-nucleus-component.md) e dos componentes do plug-in.](develop-greengrass-components.md#component-types) Especifique essa configuração para permitir que o componente do gerenciador de logs gerencie os logs do sistema. Esse objeto contém as informações a seguir:    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(Opcional) Você pode fazer upload dos registros do sistema para o CloudWatch Logs.  
Padrão: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o [componente de Greengrass nucleus](greengrass-nucleus-component.md) para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique `JSON` no parâmetro de [formato do registro em log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) (`logging.format`).  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.  
Esse parâmetro é equivalente ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
  `componentLogsConfigurationMap`   
(Opcional) Um mapa das configurações de log para componentes no dispositivo principal. Cada objeto `componentName` nesse mapa define a configuração de log para o componente ou a aplicação. O componente gerenciador de registros carrega esses registros de componentes no CloudWatch Logs.  
Recomenda-se enfaticamente o uso de uma única chave de configuração por componente. É necessário ter como alvo somente um grupo de arquivos que tenha apenas um arquivo de log que esteja sendo gravado ativamente ao usar o `logFileRegex`. Não seguir essa recomendação pode fazer com que registros duplicados sejam enviados para CloudWatch. Se estiver direcionando vários arquivos de log ativos com uma única expressão regular, recomendamos atualizar para o gerenciador de logs v2.3.1 ou posterior e considerar a possibilidade de alterar sua configuração usando a [configuração de exemplo](#log-manager-multiple-logs-v2.3.1).
Se você estiver atualizando de uma versão do gerenciador de logs anterior à v2.2.0, poderá continuar usando a lista `componentLogsConfiguration`em vez de `componentLogsConfigurationMap`. No entanto, recomendamos enfaticamente o uso do formato de mapa para poder mesclar e reconfigurar as atualizações para modificar as configurações de componentes específicos. Para obter informações sobre o parâmetro `componentLogsConfiguration`, consulte os parâmetros de configuração da versão 2.1.x desse componente.  
*`componentName`*  
A configuração de log para o componente *`componentName`* ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.  
Esse objeto contém as seguintes informações:    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do [módulo de AWS IoT Greengrass registro](https://github.com/aws-greengrass/aws-greengrass-logging-java) em. GitHub  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.  
Esse parâmetro está relacionado ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Padrão: `/greengrass/v2/logs`.  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em `logFileDirectoryPath`.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar **hello\$1world\$1\$1\$1\$1w\$1.log** para carregar logs em uma aplicação Hello World. O padrão `\\\\w*` corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:  
+ `hello_world.log`: o arquivo de log mais recente da aplicação Hello World.
+ `hello_world_2020_12_15_17_0.log`: um arquivo de log mais antigo para a aplicação Hello World.
Padrão:`componentName\\\\w*.log`, onde *componentName* está o nome do componente para essa configuração de log.  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.  
Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

  `periodicUploadIntervalSec`   
(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.  
Padrão: `300` (5 minutos)  
Mínimo: `0.000001` (1 microssegundo)

`deprecatedVersionSupport`  
Indica se o gerenciador de logs deve usar as melhorias de velocidade de log introduzidas no gerenciador de logs v2.3.5. Defina o valor `false` para usar as melhorias.  
Se você definir esse valor para `false` quando fizer o upgrade do gerenciador de logs v2.3.1 ou anterior, é possível que entradas de log duplicadas sejam carregadas.  
O padrão é `true`.

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica o upload de registros do sistema e de `com.example.HelloWorld` componentes para o CloudWatch Logs.  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300",
  "deprecatedVersionSupport": "false"
}
```

**Example Exemplo: configuração para carregar vários arquivos de log ativos usando o gerenciador de logs v2.3.1**  
O exemplo de configuração a seguir é recomendado se você quiser segmentar vários arquivos de log ativos. Este exemplo de configuração especifica para quais arquivos de log ativos você deseja CloudWatch carregar. Esse exemplo de configuração também carregará todos os arquivos rotacionados que correspondam a `logFileRegex`. Esse exemplo de configuração é compatível com o gerenciador de logs v2.3.1.  

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.A": {
        "logFileRegex": "com.example.A\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
      "com.example.B": {
        "logFileRegex": "com.example.B\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "10"
}
```

------
#### [ v2.3.0 – 2.3.5 ]

`logsUploaderConfiguration`  
(Opcional) A configuração dos logs que o componente do gerenciador de logs carrega. Esse objeto contém as informações a seguir:    
  `systemLogsConfiguration`   
[(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do [núcleo do Greengrass](greengrass-nucleus-component.md) e dos componentes do plug-in.](develop-greengrass-components.md#component-types) Especifique essa configuração para permitir que o componente do gerenciador de logs gerencie os logs do sistema. Esse objeto contém as informações a seguir:    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(Opcional) Você pode fazer upload dos registros do sistema para o CloudWatch Logs.  
Padrão: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o [componente de Greengrass nucleus](greengrass-nucleus-component.md) para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique `JSON` no parâmetro de [formato do registro em log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) (`logging.format`).  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.  
Esse parâmetro é equivalente ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
  `componentLogsConfigurationMap`   
(Opcional) Um mapa das configurações de log para componentes no dispositivo principal. Cada objeto `componentName` nesse mapa define a configuração de log para o componente ou a aplicação. O componente gerenciador de registros carrega esses registros de componentes no CloudWatch Logs.  
Recomenda-se enfaticamente o uso de uma única chave de configuração por componente. É necessário ter como alvo somente um grupo de arquivos que tenha apenas um arquivo de log que esteja sendo gravado ativamente ao usar o `logFileRegex`. Não seguir essa recomendação pode fazer com que registros duplicados sejam enviados para CloudWatch. Se estiver direcionando vários arquivos de log ativos com uma única expressão regular, recomendamos atualizar para o gerenciador de logs v2.3.1 e considerar a possibilidade de alterar sua configuração usando a [configuração de exemplo](#log-manager-multiple-logs-v2.3.1).
Se você estiver atualizando de uma versão do gerenciador de logs anterior à v2.2.0, poderá continuar usando a lista `componentLogsConfiguration`em vez de `componentLogsConfigurationMap`. No entanto, recomendamos enfaticamente o uso do formato de mapa para poder mesclar e reconfigurar as atualizações para modificar as configurações de componentes específicos. Para obter informações sobre o parâmetro `componentLogsConfiguration`, consulte os parâmetros de configuração da versão 2.1.x desse componente.  
*`componentName`*  
A configuração de log para o componente *`componentName`* ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.  
Esse objeto contém as seguintes informações:    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do [módulo de AWS IoT Greengrass registro](https://github.com/aws-greengrass/aws-greengrass-logging-java) em. GitHub  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.  
Esse parâmetro está relacionado ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Padrão: `/greengrass/v2/logs`.  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em `logFileDirectoryPath`.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar **hello\$1world\$1\$1\$1\$1w\$1.log** para carregar logs em uma aplicação Hello World. O padrão `\\\\w*` corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:  
+ `hello_world.log`: o arquivo de log mais recente da aplicação Hello World.
+ `hello_world_2020_12_15_17_0.log`: um arquivo de log mais antigo para a aplicação Hello World.
Padrão:`componentName\\\\w*.log`, onde *componentName* está o nome do componente para essa configuração de log.  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.  
Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

  `periodicUploadIntervalSec`   
(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.  
Padrão: `300` (5 minutos)  
Mínimo: `0.000001` (1 microssegundo)

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica o upload de registros do sistema e de `com.example.HelloWorld` componentes para o CloudWatch Logs.  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300"
}
```

**Example Exemplo: configuração para carregar vários arquivos de log ativos usando o gerenciador de logs v2.3.1**  
O exemplo de configuração a seguir é recomendado se você quiser segmentar vários arquivos de log ativos. Este exemplo de configuração especifica para quais arquivos de log ativos você deseja CloudWatch carregar. Esse exemplo de configuração também carregará todos os arquivos rotacionados que correspondam a `logFileRegex`. Esse exemplo de configuração é compatível com o gerenciador de logs v2.3.1.  

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.A": {
        "logFileRegex": "com.example.A\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
      "com.example.B": {
        "logFileRegex": "com.example.B\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "10"
}
```

------
#### [ v2.2.x ]

`logsUploaderConfiguration`  
(Opcional) A configuração dos logs que o componente do gerenciador de logs carrega. Esse objeto contém as informações a seguir:    
  `systemLogsConfiguration`   
[(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do [núcleo do Greengrass](greengrass-nucleus-component.md) e dos componentes do plug-in.](develop-greengrass-components.md#component-types) Especifique essa configuração para permitir que o componente do gerenciador de logs gerencie os logs do sistema. Esse objeto contém as informações a seguir:    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(Opcional) Você pode fazer upload dos registros do sistema para o CloudWatch Logs.  
Padrão: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o [componente de Greengrass nucleus](greengrass-nucleus-component.md) para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique `JSON` no parâmetro de [formato do registro em log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) (`logging.format`).  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.  
Esse parâmetro é equivalente ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
  `componentLogsConfigurationMap`   
(Opcional) Um mapa das configurações de log para componentes no dispositivo principal. Cada objeto `componentName` nesse mapa define a configuração de log para o componente ou a aplicação. O componente gerenciador de registros carrega esses registros de componentes no CloudWatch Logs.  
Se você estiver atualizando de uma versão do gerenciador de logs anterior à v2.2.0, poderá continuar usando a lista `componentLogsConfiguration`em vez de `componentLogsConfigurationMap`. No entanto, recomendamos enfaticamente o uso do formato de mapa para poder mesclar e reconfigurar as atualizações para modificar as configurações de componentes específicos. Para obter informações sobre o parâmetro `componentLogsConfiguration`, consulte os parâmetros de configuração da versão 2.1.x desse componente.   
*`componentName`*  
A configuração de log para o componente *`componentName`* ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.  
Esse objeto contém as seguintes informações:    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do [módulo de AWS IoT Greengrass registro](https://github.com/aws-greengrass/aws-greengrass-logging-java) em. GitHub  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.  
Esse parâmetro está relacionado ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Padrão: `/greengrass/v2/logs`.  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em `logFileDirectoryPath`.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar **hello\$1world\$1\$1\$1\$1w\$1.log** para carregar logs em uma aplicação Hello World. O padrão `\\\\w*` corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:  
+ `hello_world.log`: o arquivo de log mais recente da aplicação Hello World.
+ `hello_world_2020_12_15_17_0.log`: um arquivo de log mais antigo para a aplicação Hello World.
Padrão:`componentName\\\\w*.log`, onde *componentName* está o nome do componente para essa configuração de log.  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.  
Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

  `periodicUploadIntervalSec`   
(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.  
Padrão: `300` (5 minutos)  
Mínimo: `0.000001` (1 microssegundo)

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica o upload de registros do sistema e de `com.example.HelloWorld` componentes para o CloudWatch Logs.  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300"
}
```

------
#### [ v2.1.x ]

`logsUploaderConfiguration`  
(Opcional) A configuração dos logs que o componente do gerenciador de logs carrega. Esse objeto contém as informações a seguir:    
 `systemLogsConfiguration`   
[(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core, que incluem registros do [núcleo do Greengrass](greengrass-nucleus-component.md) e dos componentes do plug-in.](develop-greengrass-components.md#component-types) Especifique essa configuração para permitir que o componente do gerenciador de logs gerencie os logs do sistema. Esse objeto contém as informações a seguir:    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(Opcional) Você pode fazer upload dos registros do sistema para o CloudWatch Logs.  
Padrão: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o [componente de Greengrass nucleus](greengrass-nucleus-component.md) para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique `JSON` no parâmetro de [formato do registro em log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) (`logging.format`).  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.  
Esse parâmetro é equivalente ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
  `componentLogsConfiguration`   
(Opcional) Uma lista de configurações de log para componentes no dispositivo principal. Cada configuração nessa lista define a configuração de log de um componente ou aplicação. O componente gerenciador de registros carrega esses registros de componentes para CloudWatch o Logs.  
Esse objeto contém as seguintes informações:    
`componentName`  <a name="log-manager-component-configuration-component-component-name"></a>
O nome do componente ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.  
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do [módulo de AWS IoT Greengrass registro](https://github.com/aws-greengrass/aws-greengrass-logging-java) em. GitHub  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.  
Esse parâmetro está relacionado ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
(Opcional) O caminho para a pasta que contém os arquivos de log desse componente.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Padrão: `/greengrass/v2/logs`.  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
(Opcional) Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em `logFileDirectoryPath`.  
Não é necessário especificar esse parâmetro para componentes do Greengrass que imprimem na saída padrão (stdout) e no erro padrão (stderr).  
Se seu componente ou aplicação rotacionar arquivos de log, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar **hello\$1world\$1\$1\$1\$1w\$1.log** para carregar logs em uma aplicação Hello World. O padrão `\\\\w*` corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:  
+ `hello_world.log`: o arquivo de log mais recente da aplicação Hello World.
+ `hello_world_2020_12_15_17_0.log`: um arquivo de log mais antigo para a aplicação Hello World.
Padrão:`componentName\\\\w*.log`, onde *componentName* está o nome do componente para essa configuração de log.  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.  
Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

 `periodicUploadIntervalSec`   
(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.  
Padrão: `300` (5 minutos)  
Mínimo: `0.000001` (1 microssegundo)

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica o upload de registros do sistema e de `com.example.HelloWorld` componentes para o CloudWatch Logs.  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfiguration": [
      {
        "componentName": "com.example.HelloWorld",
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    ]
  },
  "periodicUploadIntervalSec": "300"
}
```

------
#### [ v2.0.x ]

`logsUploaderConfiguration`  
(Opcional) A configuração dos logs que o componente do gerenciador de logs carrega. Esse objeto contém as informações a seguir:    
`systemLogsConfiguration`  
(Opcional) A configuração dos registros do sistema de software AWS IoT Greengrass Core. Especifique essa configuração para permitir que o componente do gerenciador de logs gerencie os logs do sistema. Esse objeto contém as informações a seguir:    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
(Opcional) Você pode fazer upload dos registros do sistema para o CloudWatch Logs.  
Padrão: `false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se você configurar o [componente de Greengrass nucleus](greengrass-nucleus-component.md) para gerar logs no formato JSON. Para ativar os logs no formato JSON, especifique `JSON` no parâmetro de [formato do registro em log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) (`logging.format`).  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log do sistema Greengrass, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log do sistema Greengrass exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos do sistema Greengrass.  
Esse parâmetro é equivalente ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log do sistema Greengrass.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
`componentLogsConfiguration`  
(Opcional) Uma lista de configurações de log para componentes no dispositivo principal. Cada configuração nessa lista define a configuração de log de um componente ou aplicação. O componente gerenciador de registros carrega esses registros de componentes para CloudWatch o Logs.  
Esse objeto contém as seguintes informações:    
`componentName`  <a name="log-manager-component-configuration-component-component-name"></a>
O nome do componente ou da aplicação para essa configuração de log. É possível especificar o nome de um componente do Greengrass ou outro valor para identificar esse grupo de logs.  
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
(Opcional) O nível mínimo de mensagens de log a serem carregadas. Esse nível mínimo se aplica somente se os registros desse componente usarem um formato JSON específico, que você pode encontrar no repositório do [módulo de AWS IoT Greengrass registro](https://github.com/aws-greengrass/aws-greengrass-logging-java) em. GitHub  
Escolha entre os seguintes níveis de log, ordenados por nível:  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
(Opcional) O tamanho total máximo dos arquivos de log desse componente, na unidade especificada em `diskSpaceLimitUnit`. Depois que o tamanho total dos arquivos de log desse componente exceder esse tamanho total máximo, o software AWS IoT Greengrass Core exclui os arquivos de log mais antigos desse componente.  
Esse parâmetro está relacionado ao parâmetro de [limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit) (`totalLogsSizeKB`) do [componente do Greengrass nucleus](greengrass-nucleus-component.md). O software AWS IoT Greengrass Core usa o mínimo dos dois valores como o tamanho máximo total do log desse componente.  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
(Opcional) A unidade para o `diskSpaceLimit`. Escolha uma das seguintes opções:  
+ `KB`: kilobytes
+ `MB`: megabytes
+ `GB`: gigabytes
Padrão: `KB`  
`logFileDirectoryPath`  
O caminho para a pasta que contém os arquivos de log desse componente.  
Para carregar os logs de um componente do Greengrass, especifique **`/greengrass/v2`/logs** e substitua `/greengrass/v2` pela pasta raiz do Greengrass.  
`logFileRegex`  
Uma expressão regular que especifica o formato do nome do arquivo de log usado pelo componente ou aplicação. O componente do gerenciador de logs usa essa expressão regular para identificar arquivos de log na pasta em `logFileDirectoryPath`.  
Para carregar os logs de um componente do Greengrass, especifique uma expressão regular que corresponda aos nomes dos arquivos de log rotacionados. Por exemplo, é possível especificar **com.example.HelloWorld\$1\$1w\$1.log** para carregar logs em um componente Hello World. O padrão `\\w*` corresponde a zero ou mais caracteres de palavras, o que inclui caracteres alfanuméricos e sublinhados. Essa expressão regular corresponde aos arquivos de log com e sem carimbos de data e hora em seus nomes. Neste exemplo, o gerenciador de logs carrega os seguintes arquivos de log:  
+ `com.example.HelloWorld.log`: o arquivo de log mais recente do componente Hello World.
+ `com.example.HelloWorld_2020_12_15_17_0.log`: um arquivo de log mais antigo para o componente Hello World. O Greengrass nucleus adiciona um carimbo de data e hora rotativo aos arquivos de log.  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
(Opcional) Você pode excluir um arquivo de registro depois que o componente gerenciador de registros fizer o upload dos registros para o CloudWatch Logs.  
Padrão: `false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
(Opcional) Uma expressão regular que identifica quando uma mensagem de log em uma nova linha é uma nova mensagem de log. Se a expressão regular não corresponder à nova linha, o componente do gerenciador de logs anexará a nova linha à mensagem de log da linha anterior.  
Por padrão, o componente do gerenciador de logs verifica se a linha começa com um caractere de espaço em branco, como uma tabulação ou espaço. Caso contrário, o gerenciador de logs trata essa linha como uma nova mensagem de log. Caso contrário, ele anexa essa linha à mensagem de log atual. Esse comportamento garante que o componente do gerenciador de logs não divida mensagens que se estendem por várias linhas, como rastreamentos de pilha.

`periodicUploadIntervalSec`  
(Opcional) O período em segundos no qual o componente do gerenciador de logs verifica se há novos arquivos de log a serem carregados.  
Padrão: `300` (5 minutos)  
Mínimo: `0.000001` (1 microssegundo)

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica o upload de registros do sistema e de `com.example.HelloWorld` componentes para o CloudWatch Logs.  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfiguration": [
      {
        "componentName": "com.example.HelloWorld",
        "minimumLogLevel": "INFO",
        "logFileDirectoryPath": "/greengrass/v2/logs",
        "logFileRegex": "com.example.HelloWorld\\w*.log",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    ]
  },
  "periodicUploadIntervalSec": "300"
}
```

------

## Usage
<a name="log-manager-component-usage"></a>

O componente do gerenciador de logs carrega nos seguintes grupos de logs e fluxos de logs.

------
#### [ 2.1.0 and later ]<a name="log-manager-log-group-stream-format"></a>

**Nome do grupo de logs**  

```
/aws/greengrass/componentType/region/componentName
```
O nome do grupo de logs usa as seguintes variáveis:  
+ `componentType`: o tipo do componente, que pode ser um dos seguintes:
  + `GreengrassSystemComponent`: esse grupo de logs inclui logs do núcleo e dos componentes do plug-in, que são executados na mesma JVM do Greengrass nucleus. O componente faz parte do [Greengrass nucleus](greengrass-nucleus-component.md).
  + `UserComponent`: esse grupo de logs inclui logs de componentes genéricos, componentes Lambda e outras aplicações no dispositivo. O componente não faz parte do Greengrass nucleus.

  Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).
+ `region`— A AWS região que o dispositivo principal usa.
+ `componentName`: o nome do componente. Para logs do sistema, esse valor é `System`.

**Nome do fluxo de logs**  

```
/date/thing/thingName
```
O nome do fluxo de logs usa as seguintes variáveis:  
+ `date`: a data do log, como `2020/12/15`. O componente do gerenciador de logs usa o formato `yyyy/MM/dd`.
+ `thingName`: o nome do dispositivo principal.
Se o nome de uma coisa contiver dois pontos (`:`), o gerenciador de logs substituirá os dois pontos por um sinal de adição (`+`).

------
#### [ 2.0.x ]

**Nome do grupo de logs**  

```
/aws/greengrass/componentType/region/componentName
```
O nome do grupo de logs usa as seguintes variáveis:  
+ `componentType`: o tipo do componente, que pode ser um dos seguintes:
  + `GreengrassSystemComponent`: o componente faz parte do [Greengrass nucleus](greengrass-nucleus-component.md).
  + `UserComponent`: o componente não faz parte do Greengrass nucleus. O gerenciador de logs usa esse tipo para componentes do Greengrass e outras aplicações no dispositivo.
+ `region`— A AWS região que o dispositivo principal usa.
+ `componentName`: o nome do componente. Para logs do sistema, esse valor é `System`.

**Nome do fluxo de logs**  

```
/date/deploymentTargets/thingName
```
O nome do fluxo de logs usa as seguintes variáveis:  
+ `date`: a data do log, como `2020/12/15`. O componente do gerenciador de logs usa o formato `yyyy/MM/dd`.
+ `deploymentTargets`: as coisas cujas implantações incluem o componente. O componente do gerenciador de logs separa cada destino por uma barra. Se o componente for executado no dispositivo principal como resultado de uma implantação local, esse valor será `LOCAL_DEPLOYMENT`.

  Considere um exemplo em que você tem um dispositivo principal chamado `MyGreengrassCore`, e o dispositivo principal tem duas implantações:
  + Uma implantação direcionada para o dispositivo principal, `MyGreengrassCore`.
  + Uma implantação direcionada para um grupo de coisas chamado `MyGreengrassCoreGroup`, que contém o dispositivo principal.

  Os `deploymentTargets` para este dispositivo principal são `thing/MyGreengrassCore/thinggroup/MyGreengrassCoreGroup`.
+ `thingName`: o nome do dispositivo principal.

------

### Formatos para entradas de log.
<a name="log-manager-entry-format"></a>

O Greengrass nucleus grava arquivos de log no formato string ou JSON. Para logs do sistema, você controla o formato definindo o campo `format` da entrada `logging`. É possível encontrar a entrada `logging` no arquivo de configuração do componente do Greengrass nucleus. Para mais informações, consulte [Configuração do núcleo do Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration).

O formato de texto é de forma livre e aceita qualquer string. A seguinte mensagem de serviço de status da frota é um exemplo de registro em log formatado como string:

```
2023-03-26T18:18:27.271Z [INFO] (pool-1-thread-2)
com.aws.greengrass.status.FleetStatusService: fss-status-update-published. 
Status update published to FSS. {trigger=CADENCE, serviceName=FleetStatusService, 
currentState=RUNNING}
```

Use o formato JSON para exibir os logs com o comando [logs da CLI do Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/gg-cli-logs.html) ou para interagir com os logs de forma programática. Este exemplo descreve o formato JSON:

```
{
   "loggerName": <string>,
   "level": <"DEBUG" | "INFO" | "ERROR" | "TRACE" | "WARN">,
   "eventType": <string, optional>,
   "cause": <string, optional>,
   "contexts": {},
   "thread": <string>,
   "message": <string>,
   "timestamp": <epoch time> # Needs to be epoch time
}
```

Para controlar a saída dos logs do seu componente, você pode usar a opção de configuração `minimumLogLevel`. Para usar essa opção, o componente precisa gravar suas entradas de log no formato JSON. Use o mesmo formato do arquivo de log do sistema.

## Arquivo de log local
<a name="log-manager-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="log-manager-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.3.11  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.10  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.9  |  Versão atualizada para o Greengrass nucleus versão 2.14.0.  | 
|  2.3.8  |  Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass.  | 
|  2.3.7  |  Versão atualizada para o núcleo do Greengrass 2.12.0.  | 
|  2.3.6  |  <a name="changelog-log-manager-2.3.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.5  |  <a name="changelog-log-manager-2.3.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html) Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass.  | 
|  2.3.4  |  <a name="changelog-log-manager-2.3.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.3  |  Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass.  | 
|  2.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.0  |   Recomendamos que você atualize para o Greengrass nucleus 2.9.1 ao atualizar para o gerenciador de logs 2.3.0.   [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.8  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.2.7  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.2.6  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.2.5  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.2.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.1  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.1  |  <a name="changelog-log-manager-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.1.0  |  <a name="changelog-log-manager-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.0.x  |  Versão inicial.  | 

# Componentes de Machine Learning
<a name="machine-learning-components"></a>

AWS IoT Greengrass fornece os seguintes componentes de aprendizado de máquina que você pode implantar em dispositivos compatíveis para [realizar inferência de aprendizado de máquina](perform-machine-learning-inference.md) usando modelos treinados no Amazon SageMaker AI ou com seus próprios modelos pré-treinados que são armazenados no Amazon S3. <a name="ml-component-types"></a>

AWS fornece as seguintes categorias de componentes de aprendizado de máquina:
+ **Componente de modelo**: contém modelos de machine learning como artefatos do Greengrass.
+ **Componente de runtime**: contém o script que instala a estrutura de machine learning e suas dependências no dispositivo principal do Greengrass.
+ **Componente de inferência**: contém o código de inferência e inclui dependências de componentes para instalar a estrutura de machine learning e baixar modelos de machine learning pré-treinados.

Você pode usar o código de inferência de amostra e os modelos pré-treinados nos componentes de aprendizado AWS de máquina fornecidos para realizar a classificação de imagens e a detecção de objetos usando DLR e Lite. TensorFlow Para realizar inferências personalizadas de machine learning com seus próprios modelos armazenados no Amazon S3 ou para usar uma estrutura de machine learning diferente, você pode usar as fórmulas desses componentes públicos como modelos para criar componentes personalizados de machine learning. Para obter mais informações, consulte [Personalizar seus componentes de machine learning](ml-customization.md).

AWS IoT Greengrass também inclui um componente AWS fornecido para gerenciar a instalação e o ciclo de vida do agente SageMaker AI Edge Manager nos dispositivos principais do Greengrass. Com o SageMaker AI Edge Manager, você pode usar modelos compilados pelo Amazon SageMaker AI Neo diretamente no seu dispositivo principal. Para obter mais informações, consulte [Use o Amazon SageMaker AI Edge Manager nos dispositivos principais do Greengrass](use-sagemaker-edge-manager.md).

A tabela a seguir lista os componentes de aprendizado de máquina que estão disponíveis no AWS IoT Greengrass. 

**nota**  <a name="component-nucleus-dependency-update-note"></a>
Vários componentes AWS fornecidos dependem de versões secundárias específicas do núcleo do Greengrass. Por causa dessa dependência, você precisa atualizar esses componentes ao atualizar o Greengrass nucleus para uma nova versão secundária. Para obter informações sobre as versões específicas do núcleo das quais cada componente depende, consulte o tópico do componente correspondente. Para obter mais informações sobre como atualizar o núcleo, consulte [Atualizar o software de núcleo do AWS IoT Greengrass (OTA)](update-greengrass-core-v2.md).

<a name="component-table-type-description"></a>Quando um componente tem um tipo de componente genérico e Lambda, a versão atual do componente é do tipo genérico e uma versão anterior do componente é do tipo Lambda.


| Componente | Description | [Tipo de componente](develop-greengrass-components.md#component-types) | SO com suporte | [Código aberto](open-source.md) | 
| --- | --- | --- | --- | --- | 
| [SageMaker Gerenciador AI Edge](sagemaker-edge-manager-component.md) | Implanta o agente Amazon SageMaker AI Edge Manager no dispositivo principal do Greengrass. | Genérico | Linux, Windows | Não | 
| [Classificação de imagens do DLR](dlr-image-classification-component.md) | Componente de inferência que usa o repositório de modelos de classificação de imagem DLR e o componente de runtime do DLR como dependências para instalar o DLR, baixar exemplos de modelos de classificação de imagens e realizar inferência de classificação de imagens em dispositivos compatíveis. | Genérico | Linux, Windows | Não | 
| [Detecção de objetos do DLR](dlr-object-detection-component.md) | Componente de inferência que usa o repositório de modelos de detecção de objetos DLR e o componente de runtime do DLR como dependências para instalar o DLR, baixar modelos de detecção de objetos de amostra e realizar inferência de detecção de objetos em dispositivos compatíveis. | Genérico | Linux, Windows | Não | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | Componente de modelo que contém amostras de ResNet -50 modelos de classificação de imagens como artefatos do Greengrass. | Genérico | Linux, Windows | Não | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | Componente de modelo que contém exemplos de modelos de detecção de YOLOv3 objetos como artefatos do Greengrass. | Genérico | Linux, Windows | Não | 
| [Runtime do DLR](dlr-component.md) | Componente de runtime que contém um script de instalação usado para instalar o DLR e suas dependências no dispositivo principal do Greengrass. | Genérico | Linux, Windows | Não | 
| [TensorFlow Classificação de imagens Lite](tensorflow-lite-image-classification-component.md) | Componente de inferência que usa o TensorFlow repositório de modelos de classificação de imagem TensorFlow Lite e o componente de tempo de execução Lite como dependências para instalar o TensorFlow Lite, baixar exemplos de modelos de classificação de imagens e realizar inferência de classificação de imagens em dispositivos compatíveis. | Genérico | Linux, Windows | Não | 
| [TensorFlow Detecção leve de objetos](tensorflow-lite-object-detection-component.md) | Componente de inferência que usa o TensorFlow repositório de modelos de detecção de objetos TensorFlow Lite e o componente de tempo de execução Lite como dependências para instalar o TensorFlow Lite, baixar modelos de detecção de objetos de amostra e realizar inferência de detecção de objetos em dispositivos compatíveis. | Genérico | Linux, Windows | Não | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | Componente de modelo que contém um modelo MobileNet v1 de amostra como artefato do Greengrass. | Genérico | Linux, Windows | Não | 
| [TensorFlow Loja de modelos de detecção de objetos Lite](tensorflow-lite-object-detection-model-store-component.md) | Componente de modelo que contém um MobileNet modelo de amostra de detecção de disparo único (SSD) como um artefato do Greengrass. | Genérico | Linux, Windows | Não | 
| [TensorFlow Tempo de execução leve](tensorflow-lite-component.md) | Componente de tempo de execução que contém um script de instalação usado para instalar o TensorFlow Lite e suas dependências no dispositivo principal do Greengrass. | Genérico | Linux, Windows | Não | 

# SageMaker Gerenciador AI Edge
<a name="sagemaker-edge-manager-component"></a>

**Importante**  
SageMaker O AI Edge Manager foi descontinuado em 26 de abril de 2024. Para obter mais informações sobre como continuar implantando seus modelos em dispositivos de ponta, consulte [Fim da vida útil do SageMaker AI Edge Manager](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-eol.html).

O componente Amazon SageMaker AI Edge Manager (`aws.greengrass.SageMakerEdgeManager`) instala o binário do agente SageMaker AI Edge Manager. 

SageMaker O AI Edge Manager fornece gerenciamento de modelos para dispositivos de ponta para que você possa otimizar, proteger, monitorar e manter modelos de aprendizado de máquina em frotas de dispositivos de borda. O componente SageMaker AI Edge Manager instala e gerencia o ciclo de vida do agente do SageMaker AI Edge Manager em seu dispositivo principal. Você também pode usar o SageMaker AI Edge Manager para empacotar e usar modelos compilados pelo SageMaker AI Neo como componentes do modelo nos dispositivos principais do Greengrass. Para obter mais informações sobre como usar o agente SageMaker AI Edge Manager em seu dispositivo principal, consulte[Use o Amazon SageMaker AI Edge Manager nos dispositivos principais do Greengrass](use-sagemaker-edge-manager.md).

SageMaker O componente AI Edge Manager v1.3.x instala o binário v1.20220822.836f3023 do agente do Edge Manager. Para obter mais informações sobre as versões binárias do agente Edge Manager, consulte [Agente do Edge Manager](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-device-fleet-about).

**nota**  
O componente SageMaker AI Edge Manager está disponível somente no seguinte Regiões da AWS:  
Leste dos EUA (Ohio)
Leste dos EUA (N. da Virgínia)
Oeste dos EUA (Oregon)
UE (Frankfurt)
UE (Irlanda)
Ásia-Pacífico (Tóquio)

**Topics**
+ [Versões](#sagemaker-edge-manager-component-versions)
+ [Tipo](#sagemaker-edge-manager-component-type)
+ [Sistema operacional](#sagemaker-edge-manager-component-os-support)
+ [Requisitos](#sagemaker-edge-manager-component-requirements)
+ [Dependências](#sagemaker-edge-manager-component-dependencies)
+ [Configuração](#sagemaker-edge-manager-component-configuration)
+ [Arquivo de log local](#sagemaker-edge-manager-component-log-file)
+ [Changelog](#sagemaker-edge-manager-component-changelog)

## Versões
<a name="sagemaker-edge-manager-component-versions"></a>

Esse componente tem as seguintes versões:
+ 1.3.x
+ 1.2.x
+ 1.1.x
+ 1.0.x

## Tipo
<a name="sagemaker-edge-manager-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="sagemaker-edge-manager-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="sagemaker-edge-manager-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="sm-edge-manager-component-reqs"></a>
+ <a name="sm-req-core-device"></a>Um dispositivo principal do Greengrass executado no Amazon Linux 2, uma plataforma Linux baseada em Debian (x86\$164 ou Armv8) ou Windows (x86\$164). Se você não tiver uma, consulte [Tutorial: Conceitos básicos do AWS IoT Greengrass V2](getting-started.md).
+ <a name="sm-req-python"></a>[Python](https://www.python.org/downloads/) 3.6 ou posterior, incluindo o `pip` para sua versão do Python, instalada em seu dispositivo principal.
+ O [perfil do dispositivo do Greengrass](device-service-role.md) foi configurado com o seguinte: 
  + <a name="sm-req-iam-trust-relationship"></a>Uma relação de confiança que permite que `credentials.iot.amazonaws.com` e `sagemaker.amazonaws.com` assumam o perfil, conforme mostrado no exemplo de política do IAM a seguir.

    ```
    { 
      "Version": "2012-10-17",		 	 	 
      "Statement": [ 
        { 
          "Effect": "Allow", 
          "Principal": {
            "Service": "credentials.iot.amazonaws.com"
           }, 
          "Action": "sts:AssumeRole" 
        },
        { 
          "Effect": "Allow", 
          "Principal": {
            "Service": "sagemaker.amazonaws.com"
          }, 
          "Action": "sts:AssumeRole" 
        } 
      ] 
    }
    ```
  + <a name="sm-req-iam-sagemanakeredgedevicefleetpolicy"></a>A política gerenciada [AmazonSageMakerEdgeDeviceFleetPolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AmazonSageMakerEdgeDeviceFleetPolicy)do IAM.
  + <a name="sm-req-iam-s3-putobject"></a>A ação `s3:PutObject`, conforme mostrado no exemplo de política do IAM a seguir.

    ```
    {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
        {
          "Action": [
            "s3:PutObject"
          ],
          "Resource": [
            "*"
          ],
          "Effect": "Allow"
        }
      ]
    }
    ```
+ <a name="sm-req-s3-bucket"></a>Um bucket do Amazon S3 criado no mesmo dispositivo central do Greengrass Conta da AWS e no Região da AWS mesmo dispositivo. SageMaker O AI Edge Manager requer um bucket S3 para criar uma frota de dispositivos de ponta e armazenar dados de amostra da execução de inferência em seu dispositivo. Para obter informações sobre como criar buckets do S3, consulte [Conceitos básicos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html).
+ <a name="sm-req-edge-device-fleet"></a>Uma frota de dispositivos de ponta de SageMaker IA que usa o mesmo alias de AWS IoT função do seu dispositivo principal do Greengrass. Para obter mais informações, consulte [Criar uma frota de dispositivos de borda](get-started-with-edge-manager-on-greengrass.md#create-edge-device-fleet-for-greengrass).
+ <a name="sm-req-edge-device"></a>Seu dispositivo principal do Greengrass foi registrado como um dispositivo de ponta em sua frota de dispositivos SageMaker AI Edge. O nome do dispositivo de borda deve corresponder ao AWS IoT nome do dispositivo principal. Para obter mais informações, consulte [Registrar seu dispositivo principal do Greengrass](get-started-with-edge-manager-on-greengrass.md#register-greengrass-core-device-in-sme).

### Endpoints e portas
<a name="sagemaker-edge-manager-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `edge.sagemaker.region.amazonaws.com`  | 443 | Sim |  Verifique o status do registro do dispositivo e envie métricas para a SageMaker IA.  | 
|  `*.s3.amazonaws.com`  | 443 | Sim |  Faça upload dos dados de captura no bucket do S3 especificado. É possível substituir `*` pelo nome de cada bucket em que você carrega dados.  | 

## Dependências
<a name="sagemaker-edge-manager-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#sagemaker-edge-manager-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 1.3.5 and 1.3.6 ]

A tabela a seguir lista as dependências das versões 1.3.5 e 1.3.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 1.3.4 ]

A tabela a seguir lista as dependências da versão 1.3.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 1.3.3 ]

A tabela a seguir lista as dependências da versão 1.3.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 1.3.2 ]

A tabela a seguir lista as dependências da versão 1.3.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 1.3.1 ]

A tabela a seguir lista as dependências da versão 1.3.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 1.1.1 - 1.3.0 ]

A tabela a seguir lista as dependências das versões 1.1.1 a 1.3.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 1.1.0 ]

A tabela a seguir lista as dependências da versão 1.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 1.0.3 ]

A tabela a seguir lista as dependências da versão 1.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 1.0.1 and 1.0.2 ]

A tabela a seguir lista as dependências das versões 1.0.1 e 1.0.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------
#### [ 1.0.0 ]

A tabela a seguir lista as dependências da versão 1.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=0.0.0 | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="sagemaker-edge-manager-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

**nota**  
Esta seção descreve os parâmetros de configuração que você define no componente. Para obter mais informações sobre a configuração correspondente do SageMaker AI Edge Manager, consulte o [Edge Manager Agent](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-device-fleet-about.html#edge-device-fleet-running-agent) no *Amazon SageMaker AI Developer Guide*.

`DeviceFleetName`  
O nome da frota de dispositivos SageMaker AI Edge Manager que contém seu dispositivo principal do Greengrass.   
É necessário especificar um valor para esse parâmetro na atualização de configuração ao implantar esse componente.

`BucketName`  
O nome do bucket do S3 para o qual você carrega dados de inferência capturados. O nome do bucket deve conter a string `sagemaker`.   
Se você definir `CaptureDataDestination` como `Cloud`, ou se definir `CaptureDataPeriodicUpload` como `true`, será necessário especificar um valor para esse parâmetro na atualização de configuração ao implantar esse componente.  
A captura de dados é um recurso de SageMaker IA que você usa para carregar entradas de inferência, resultados de inferência e dados de inferência adicionais em um bucket do S3 ou em um diretório local para análise futura. Para obter mais informações sobre o uso de dados de captura com o SageMaker AI Edge Manager, consulte [Gerenciar modelo](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-manage-model.html#edge-manage-model-capturedata) no *Amazon SageMaker AI Developer Guide*.

`CaptureDataBatchSize`  
(Opcional) O tamanho de um lote de solicitações de dados de captura que o agente processa. Esse valor deve ser menor que o tamanho do buffer especificado em `CaptureDataBufferSize`. Recomendamos que você não exceda metade do tamanho do buffer.  
O agente processa um lote de solicitações quando o número de solicitações no buffer atinge o número `CaptureDataBatchSize` ou quando o intervalo `CaptureDataPushPeriodSeconds` termina, o que ocorrer primeiro.  
Padrão: `10`

`CaptureDataBufferSize`  
(Opcional) O número máximo de solicitações de dados de captura armazenadas no buffer.  
Padrão: `30`

`CaptureDataDestination`  
(Opcional) O destino em que você armazena os dados capturados. Esse parâmetro pode ter um dos seguintes valores:  
+ `Cloud`: carrega os dados capturados para o bucket do S3 especificado em `BucketName`.
+ `Disk`: grava os dados capturados no diretório de trabalho do componente. 
Se você especificar `Disk`, também poderá optar por carregar periodicamente os dados capturados em seu bucket do S3 configurando `CaptureDataPeriodicUpload` como `true`.  
Padrão: `Cloud`

`CaptureDataPeriodicUpload`  
(Opcional) Valor da string que especifica se os dados capturados devem ser carregados periodicamente. Os valores compatíveis são `true` e `false`.  
Defina esse parâmetro como `true` se você definir `CaptureDataDestination` como `Disk` e quiser que o agente carregue periodicamente os dados capturados em seu bucket do S3.  
Padrão: `false`

`CaptureDataPeriodicUploadPeriodSeconds`  
(Opcional) O intervalo em segundos no qual o agente do SageMaker AI Edge Manager carrega os dados capturados no bucket do S3. Use esse parâmetro para definir `CaptureDataPeriodicUpload` como `true`.  
Padrão: `8`

`CaptureDataPushPeriodSeconds`  
(Opcional) O intervalo em segundos no qual o agente do SageMaker AI Edge Manager processa um lote de solicitações de dados de captura do buffer.   
O agente processa um lote de solicitações quando o número de solicitações no buffer atinge o número `CaptureDataBatchSize` ou quando o intervalo `CaptureDataPushPeriodSeconds` termina, o que ocorrer primeiro.  
Padrão: `4`

`CaptureDataBase64EmbedLimit`  
(Opcional) O tamanho máximo em bytes dos dados capturados que o agente do SageMaker AI Edge Manager carrega.  
Padrão: `3072`

`FolderPrefix`  
(Opcional) O nome da pasta na qual o agente grava os dados capturados. Se você `CaptureDataDestination` definir como`Disk`, o agente criará a pasta no diretório especificado por`CaptureDataDiskPath`. Se você `CaptureDataDestination` definir como`Cloud`, ou se definir como`true`, `CaptureDataPeriodicUpload` o agente criará a pasta no seu bucket do S3.   
Padrão: `sme-capture`

`CaptureDataDiskPath`  
Esse recurso está disponível nas versões v1.1.0 e posteriores do componente SageMaker AI Edge Manager.  
(Opcional) O caminho para a pasta na qual o agente cria a pasta de dados capturada. Se você `CaptureDataDestination` definir como`Disk`, o agente criará a pasta de dados capturados nesse diretório. Se esse valor não for especificado, o agente criará a pasta de dados capturados no diretório de trabalho do componente. Use o parâmetro `FolderPrefix` para especificar o nome da pasta de dados capturada.  
Padrão: `/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager/capture`

`LocalDataRootPath`  
Esse recurso está disponível nas versões v1.2.0 e posteriores do componente SageMaker AI Edge Manager.  
(Opcional) O caminho em que esse componente armazena os seguintes dados no dispositivo principal:  
+ O banco de dados local para dados de runtime quando você define `DbEnable` como `true`.
+ SageMaker Modelos compilados pelo AI Neo que esse componente baixa automaticamente quando você configura como`DeploymentEnable`. `true`
Padrão: `/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager`

`DbEnable`  
(Opcional) É possível ativar esse componente para armazenar dados de runtime em um banco de dados local para preservar os dados, caso o componente falhe ou o dispositivo perca energia.  
Esse banco de dados requer 5 MB de armazenamento no sistema de arquivos do dispositivo principal.  
Padrão: `false`

`DeploymentEnable`  
Esse recurso está disponível nas versões v1.2.0 e posteriores do componente SageMaker AI Edge Manager.  
(Opcional) Você pode ativar esse componente para recuperar automaticamente os modelos compilados pelo SageMaker AI Neo a partir dos quais você carrega para o Amazon S3. Depois de fazer o upload de um novo modelo para o Amazon S3, use o SageMaker AI Studio ou a API SageMaker AI para implantar o novo modelo nesse dispositivo principal. Ao habilitar esse recurso, você pode implantar novos modelos nos dispositivos principais sem precisar criar uma implantação do AWS IoT Greengrass .  
Para usar esse recurso, é necessário definir `DbEnable` como `true`. Esse recurso usa o banco de dados local para rastrear modelos que ele recupera da Nuvem AWS.
Padrão: `false`

`DeploymentPollInterval`  
Esse recurso está disponível nas versões v1.2.0 e posteriores do componente SageMaker AI Edge Manager.  
(Opcional) A quantidade de tempo (em minutos) entre o qual esse componente verifica se há novos modelos para baixar. Essa opção se aplica quando você define `DeploymentEnable` como `true`.  
Padrão: `1440` (um dia).

`DLRBackendOptions`  
Esse recurso está disponível nas versões v1.2.0 e posteriores do componente SageMaker AI Edge Manager.  
(Opcional) Os sinalizadores de runtime do DLR a serem definidos no runtime do DLR que esse componente usa. É possível definir o seguinte sinalizador:  
+ `TVM_TENSORRT_CACHE_DIR`: ativar o cache do modelo TensorRT. Especifique um caminho absoluto para uma pasta existente que tenha permissões de leitura/gravação.
+ `TVM_TENSORRT_CACHE_DISK_SIZE_MB`: atribui o limite superior da pasta de cache do modelo TensorRT. Quando o tamanho do diretório ultrapassa esse limite, os mecanismos em cache menos usados são excluídos. O valor padrão é 512 MB.
Por exemplo, você pode definir esse parâmetro com o valor a seguir para ativar o cache do modelo TensorRT e limitar o tamanho do cache a 800 MB.  

```
TVM_TENSORRT_CACHE_DIR=/data/secured_folder/trt/cache; TVM_TENSORRT_CACHE_DISK_SIZE_MB=800
```

`SagemakerEdgeLogVerbose`  
(Opcional) Valor da string que especifica se o log de depuração deve ser ativado. Os valores compatíveis são `true` e `false`.  
Padrão: `false`

`UnixSocketName`  
(Opcional) A localização do descritor do arquivo de soquete do SageMaker AI Edge Manager no dispositivo principal.  
Padrão: `/tmp/aws.greengrass.SageMakerEdgeManager.sock`

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica que o dispositivo principal faz parte do *MyEdgeDeviceFleet* e que o agente grava os dados de captura no dispositivo e em um bucket do S3. Essa configuração também permite o log de depuração.  

```
{
    "DeviceFleetName": "MyEdgeDeviceFleet",
    "BucketName": "amzn-s3-demo-bucket",
    "CaptureDataDestination": "Disk",
    "CaptureDataPeriodicUpload": "true",
    "SagemakerEdgeLogVerbose": "true"    
}
```

## Arquivo de log local
<a name="sagemaker-edge-manager-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.SageMakerEdgeManager.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.SageMakerEdgeManager.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.SageMakerEdgeManager.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.SageMakerEdgeManager.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="sagemaker-edge-manager-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.3.6  |  Versão atualizada para o Greengrass nucleus 2.12.5.  | 
|  1.3.5  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  1.3.4  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  1.3.3  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  1.3.2  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  1.3.1  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  1.3.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.1.1  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  1.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.0.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  1.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.0.1  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  1.0.0  |  Versão inicial.  | 

# Classificação de imagens do DLR
<a name="dlr-image-classification-component"></a>

O componente de classificação de imagem do DLR (`aws.greengrass.DLRImageClassification`) contém exemplos de código de inferência para realizar inferência de classificação de imagens usando modelos de [runtime de aprendizado profundo](https://github.com/neo-ai/neo-ai-dlr) e do resnet-50. Esse componente usa a variante [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) e os componentes [Runtime do DLR](dlr-component.md) como dependências para baixar o DLR e os modelos de amostra. 

Para usar esse componente de inferência com um modelo do DLR personalizado, [crie uma versão personalizada](ml-customization.md#override-public-model-store) do componente de armazenamento de modelos dependente. Para usar seu próprio código de inferência personalizado, é possível usar a fórmula desse componente como modelo para [criar um componente de inferência personalizado](ml-customization.md#create-inference-component).

**Topics**
+ [Versões](#dlr-image-classification-component-versions)
+ [Tipo](#dlr-image-classification-component-type)
+ [Sistema operacional](#dlr-image-classification-component-os-support)
+ [Requisitos](#dlr-image-classification-component-requirements)
+ [Dependências](#dlr-image-classification-component-dependencies)
+ [Configuração](#dlr-image-classification-component-configuration)
+ [Arquivo de log local](#dlr-image-classification-component-log-file)
+ [Changelog](#dlr-image-classification-component-changelog)

## Versões
<a name="dlr-image-classification-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x
+ 2.0.x

## Tipo
<a name="dlr-image-classification-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="dlr-image-classification-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="dlr-image-classification-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

## Dependências
<a name="dlr-image-classification-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#dlr-image-classification-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.13 and 2.1.14 ]

A seguinte tabela lista as dependências das versões 2.1.13 e 2.1.14 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.12 ]

A seguinte tabela lista as dependências da versão 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.11 ]

A seguinte tabela lista as dependências da versão 2.1.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.4 - 2.1.5 ]

A seguinte tabela lista as dependências das versões 2.1.4 e 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.0.x ]

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | Flexível | 
| Armazenamento de modelos de classificação de imagens do DLR | \$12.0.0 | Rígido | 
| DLR | \$11.3.0 | Flexível | 

------

## Configuração
<a name="dlr-image-classification-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ 2.1.x ]

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite que o componente publique mensagens no tópico de notificações padrão.   
Padrão:   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.DLRImageClassification:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/dlr/image-classification.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/dlr/image-classification"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(Opcional) O tópico no qual você deseja publicar os resultados da inferência. Se você modificar esse valor, também deverá modificar o valor de `resources` no parâmetro `accessControl` para corresponder ao nome do tópico personalizado.  
Padrão: `ml/dlr/image-classification`

`Accelerator`  <a name="ml-config-accelerator"></a>
O acelerador que você deseja usar. Os valores compatíveis são `cpu` e `gpu`.  
Os modelos de amostra no componente de modelo dependente oferecem suporte somente à aceleração de CPU. Para usar a aceleração de GPU com outro modelo personalizado, [crie um componente de modelo personalizado](ml-customization.md#override-public-model-store) para substituir o componente de modelo público.  
Padrão: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Opcional) O caminho da pasta no dispositivo em que os componentes de inferência leem as imagens. Você pode modificar esse valor para qualquer local em seu dispositivo ao qual tenha read/write acesso.  
<a name="ml-config-imagedirectory-img-default"></a>Padrão: `/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(Opcional) O nome da imagem que o componente de inferência usa como entrada para fazer uma previsão. O componente procura a imagem na pasta especificada em `ImageDirectory`. Por padrão, o componente usa a imagem de amostra no diretório de imagens padrão. AWS IoT Greengrass suporta os seguintes formatos de imagem: `jpeg` `jpg``png`,, `npy` e.   
<a name="ml-config-imagename-img-default"></a>Padrão: `cat.jpeg`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) O tempo em segundos entre cada previsão feita pelo código de inferência. O código de inferência de amostra é executado indefinidamente e repete as previsões no intervalo de tempo especificado. Por exemplo, é possível alterar isso para um intervalo menor se você quiser usar as imagens capturadas por uma câmera para previsão em tempo real.  
Padrão: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Os modelos usados no componente de modelo público dependente. Modifique esse parâmetro somente se você substituir o componente de modelo público por um componente personalizado.   
Padrão:  

```
{
    "armv7l": "DLR-resnet50-armv7l-cpu-ImageClassification",
    "aarch64": "DLR-resnet50-aarch64-cpu-ImageClassification",
    "x86_64": "DLR-resnet50-x86_64-cpu-ImageClassification",
    "windows": "DLR-resnet50-win-cpu-ImageClassification"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(Opcional) O valor de string que define se as imagens de uma câmera conectada ao dispositivo principal do Greengrass devem ser usadas. Os valores compatíveis são `true` e `false`.  
Quando você define esse valor como `true`, o código de inferência de amostra acessa a câmera do seu dispositivo e executa a inferência localmente na imagem capturada. Os valores dos parâmetros `ImageName` e `ImageDirectory` são ignorados. Certifique-se de que o usuário que está executando esse componente tenha read/write acesso ao local em que a câmera armazena as imagens capturadas.  
Padrão: `false`  
Quando você visualiza a fórmula desse componente, o parâmetro de configuração `UseCamera` não aparece na configuração padrão. No entanto, você pode modificar o valor desse parâmetro em uma [atualização de mesclagem da configuração](update-component-configurations.md) ao implantar o componente.   
Ao definir `UseCamera` como `true`, você também deve criar um link simbólico para permitir que o componente de inferência acesse sua câmera do ambiente virtual criado pelo componente de runtime. Para mais informações sobre como usar uma câmera com os componentes de inferência de amostra, consulte [Atualizar configurações do componente](ml-tutorial-image-classification-camera.md).

------
#### [ 2.0.x ]

`MLRootPath`  <a name="ml-config-mlrootpath"></a>
<a name="ml-config-mlrootpath-desc"></a>(Opcional) O caminho da pasta nos dispositivos principais do Linux em que os componentes de inferência leem imagens e gravam resultados de inferência. Você pode modificar esse valor em qualquer local em seu dispositivo ao qual o usuário que está executando esse componente tenha read/write acesso.  
<a name="ml-config-mlrootpath-default-dlr"></a>Padrão: `/greengrass/v2/work/variant.DLR/greengrass_ml`  
<a name="ml-config-mlrootpath-default-tfl"></a>Padrão: `/greengrass/v2/work/variant.TensorFlowLite/greengrass_ml`

`Accelerator`  <a name="ml-config-accelerator"></a>
O acelerador que você deseja usar. Os valores compatíveis são `cpu` e `gpu`.  
Os modelos de amostra no componente de modelo dependente oferecem suporte somente à aceleração de CPU. Para usar a aceleração de GPU com outro modelo personalizado, [crie um componente de modelo personalizado](ml-customization.md#override-public-model-store) para substituir o componente de modelo público.  
Padrão: `cpu`

`ImageName`  
<a name="ml-config-imagename-desc-dlr-1.3.0"></a>(Opcional) O nome da imagem que o componente de inferência usa como entrada para fazer uma previsão. O componente procura a imagem na pasta especificada em `ImageDirectory`. O local padrão é`MLRootPath/images`. AWS IoT Greengrass suporta os seguintes formatos de imagem: `jpeg` `jpg``png`,, `npy` e.   
<a name="ml-config-imagename-img-default"></a>Padrão: `cat.jpeg`

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) O tempo em segundos entre cada previsão feita pelo código de inferência. O código de inferência de amostra é executado indefinidamente e repete as previsões no intervalo de tempo especificado. Por exemplo, é possível alterar isso para um intervalo menor se você quiser usar as imagens capturadas por uma câmera para previsão em tempo real.  
Padrão: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Os modelos usados no componente de modelo público dependente. Modifique esse parâmetro somente se você substituir o componente de modelo público por um componente personalizado.   
Padrão:  

```
armv7l: "DLR-resnet50-armv7l-cpu-ImageClassification"
x86_64: "DLR-resnet50-x86_64-cpu-ImageClassification"
```

------

## Arquivo de log local
<a name="dlr-image-classification-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="dlr-image-classification-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.14  | Versão atualizada para o lançamento 2.12.5 do núcleo do Greengrass. | 
|  2.1.13  | Versão atualizada para o lançamento da versão 2.12.0 do núcleo do Greengrass. | 
|  2.1.12  | Versão atualizada para o Greengrass nucleus versão 2.11.0. | 
|  2.1.11  | Versão atualizada para o Greengrass nucleus versão 2.10.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.9.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.8  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.7  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.5  |  Componente lançado em todos Regiões da AWS.  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass. Esta versão não está disponível na Europa (Londres) (`eu-west-2`).  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.2.0 do núcleo do Greengrass.  | 
|  2.1.1  |  <a name="changelog-dlr-image-classification-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-image-classification-component.html)  | 
|  2.0.4  |  Versão inicial.  | 

# Detecção de objetos do DLR
<a name="dlr-object-detection-component"></a>

O componente de detecção de objetos do DLR (`aws.greengrass.DLRObjectDetection`) contém exemplos de código de inferência para realizar inferência de detecção de objetos usando o [Runtime de aprendizado profundo](https://github.com/neo-ai/neo-ai-dlr) e amostras de modelos pré-treinados. Esse componente usa a variante [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) e os componentes [Runtime do DLR](dlr-component.md) como dependências para baixar o DLR e os modelos de amostra. 

Para usar esse componente de inferência com um modelo do DLR personalizado, [crie uma versão personalizada](ml-customization.md#override-public-model-store) do componente de armazenamento de modelos dependente. Para usar seu próprio código de inferência personalizado, é possível usar a fórmula desse componente como modelo para [criar um componente de inferência personalizado](ml-customization.md#create-inference-component).

**Topics**
+ [Versões](#dlr-object-detection-component-versions)
+ [Tipo](#dlr-object-detection-component-type)
+ [Sistema operacional](#dlr-object-detection-component-os-support)
+ [Requisitos](#dlr-object-detection-component-requirements)
+ [Dependências](#dlr-object-detection-component-dependencies)
+ [Configuração](#dlr-object-detection-component-configuration)
+ [Arquivo de log local](#dlr-object-detection-component-log-file)
+ [Changelog](#dlr-object-detection-component-changelog)

## Versões
<a name="dlr-object-detection-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x
+ 2.0.x

## Tipo
<a name="dlr-object-detection-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="dlr-object-detection-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="dlr-object-detection-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

## Dependências
<a name="dlr-object-detection-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#dlr-object-detection-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.13 and 2.1.14 ]

A seguinte tabela lista as dependências das versões 2.1.13 e 2.1.14 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.12 ]

A seguinte tabela lista as dependências da versão 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.11 ]

A seguinte tabela lista as dependências da versão 2.1.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.4 - 2.1.5 ]

A seguinte tabela lista as dependências das versões 2.1.4 e 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 
| [Armazenamento de modelos de detecção de objetos do DLR](dlr-object-detection-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

------
#### [ 2.0.x ]

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | Flexível | 
| Armazenamento de modelos de detecção de objetos do DLR | \$12.0.0 | Rígido | 
| DLR | \$11.3.0 | Flexível | 

------

## Configuração
<a name="dlr-object-detection-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ 2.1.x ]

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite que o componente publique mensagens no tópico de notificações padrão.   
Padrão:   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.DLRObjectDetection:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/dlr/object-detection.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/dlr/object-detection"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(Opcional) O tópico no qual você deseja publicar os resultados da inferência. Se você modificar esse valor, também deverá modificar o valor de `resources` no parâmetro `accessControl` para corresponder ao nome do tópico personalizado.  
Padrão: `ml/dlr/object-detection`

`Accelerator`  <a name="ml-config-accelerator"></a>
O acelerador que você deseja usar. Os valores compatíveis são `cpu` e `gpu`.  
Os modelos de amostra no componente de modelo dependente oferecem suporte somente à aceleração de CPU. Para usar a aceleração de GPU com outro modelo personalizado, [crie um componente de modelo personalizado](ml-customization.md#override-public-model-store) para substituir o componente de modelo público.  
Padrão: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Opcional) O caminho da pasta no dispositivo em que os componentes de inferência leem as imagens. Você pode modificar esse valor para qualquer local em seu dispositivo ao qual tenha read/write acesso.  
<a name="ml-config-imagedirectory-obj-default"></a>Padrão: `/greengrass/v2/packages/artifacts-unarchived/component-name/object_detection/sample_images/`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(Opcional) O nome da imagem que o componente de inferência usa como entrada para fazer uma previsão. O componente procura a imagem na pasta especificada em `ImageDirectory`. Por padrão, o componente usa a imagem de amostra no diretório de imagens padrão. AWS IoT Greengrass suporta os seguintes formatos de imagem: `jpeg` `jpg``png`,, `npy` e.   
<a name="ml-config-imagename-obj-default"></a>Padrão: `objects.jpg`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) O tempo em segundos entre cada previsão feita pelo código de inferência. O código de inferência de amostra é executado indefinidamente e repete as previsões no intervalo de tempo especificado. Por exemplo, é possível alterar isso para um intervalo menor se você quiser usar as imagens capturadas por uma câmera para previsão em tempo real.  
Padrão: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Os modelos usados no componente de modelo público dependente. Modifique esse parâmetro somente se você substituir o componente de modelo público por um componente personalizado.   
Padrão:  

```
{
    "armv7l": "DLR-yolo3-armv7l-cpu-ObjectDetection",
    "aarch64": "DLR-yolo3-aarch64-gpu-ObjectDetection",
    "x86_64": "DLR-yolo3-x86_64-cpu-ObjectDetection",
    "windows": "DLR-resnet50-win-cpu-ObjectDetection"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(Opcional) O valor de string que define se as imagens de uma câmera conectada ao dispositivo principal do Greengrass devem ser usadas. Os valores compatíveis são `true` e `false`.  
Quando você define esse valor como `true`, o código de inferência de amostra acessa a câmera do seu dispositivo e executa a inferência localmente na imagem capturada. Os valores dos parâmetros `ImageName` e `ImageDirectory` são ignorados. Certifique-se de que o usuário que está executando esse componente tenha read/write acesso ao local em que a câmera armazena as imagens capturadas.  
Padrão: `false`  
Quando você visualiza a fórmula desse componente, o parâmetro de configuração `UseCamera` não aparece na configuração padrão. No entanto, você pode modificar o valor desse parâmetro em uma [atualização de mesclagem da configuração](update-component-configurations.md) ao implantar o componente.   
Ao definir `UseCamera` como `true`, você também deve criar um link simbólico para permitir que o componente de inferência acesse sua câmera do ambiente virtual criado pelo componente de runtime. Para mais informações sobre como usar uma câmera com os componentes de inferência de amostra, consulte [Atualizar configurações do componente](ml-tutorial-image-classification-camera.md).

------
#### [ 2.0.x ]

`MLRootPath`  <a name="ml-config-mlrootpath"></a>
<a name="ml-config-mlrootpath-desc"></a>(Opcional) O caminho da pasta nos dispositivos principais do Linux em que os componentes de inferência leem imagens e gravam resultados de inferência. Você pode modificar esse valor em qualquer local em seu dispositivo ao qual o usuário que está executando esse componente tenha read/write acesso.  
<a name="ml-config-mlrootpath-default-dlr"></a>Padrão: `/greengrass/v2/work/variant.DLR/greengrass_ml`  
<a name="ml-config-mlrootpath-default-tfl"></a>Padrão: `/greengrass/v2/work/variant.TensorFlowLite/greengrass_ml`

`Accelerator`  
Não modifique. Atualmente, o único valor compatível com o acelerador é `cpu`, porque os modelos nos componentes do modelo dependente são compilados somente para o acelerador de CPU.

`ImageName`  
<a name="ml-config-imagename-desc-dlr-1.3.0"></a>(Opcional) O nome da imagem que o componente de inferência usa como entrada para uma previsão de criação. O componente procura a imagem na pasta especificada em `ImageDirectory`. O local padrão é`MLRootPath/images`. AWS IoT Greengrass suporta os seguintes formatos de imagem: `jpeg` `jpg``png`,, `npy` e.   
<a name="ml-config-imagename-obj-default"></a>Padrão: `objects.jpg`

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) O tempo em segundos entre cada previsão feita pelo código de inferência. O código de inferência de amostra é executado indefinidamente e repete as previsões no intervalo de tempo especificado. Por exemplo, é possível alterar isso para um intervalo menor se você quiser usar as imagens capturadas por uma câmera para previsão em tempo real.  
Padrão: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Os modelos usados no componente de modelo público dependente. Modifique esse parâmetro somente se você substituir o componente de modelo público por um componente personalizado.   
Padrão:  

```
{
    armv7l: "DLR-yolo3-armv7l-cpu-ObjectDetection",
    x86_64: "DLR-yolo3-x86_64-cpu-ObjectDetection"
}
```

------

## Arquivo de log local
<a name="dlr-object-detection-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.DLRObjectDetection.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.DLRObjectDetection.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.DLRObjectDetection.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.DLRObjectDetection.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="dlr-object-detection-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.14  | Versão atualizada para o lançamento 2.12.5 do núcleo do Greengrass. | 
|  2.1.13  | Versão atualizada para o lançamento da versão 2.12.0 do núcleo do Greengrass. | 
|  2.1.12  | Versão atualizada para o Greengrass nucleus versão 2.11.0. | 
|  2.1.11  | Versão atualizada para o Greengrass nucleus versão 2.10.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.9.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.8  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.7  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.5  |  Componente lançado em todos Regiões da AWS.  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass. Esta versão não está disponível na Europa (Londres) (`eu-west-2`).  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.2  |  <a name="changelog-dlr-object-detection-2.1.2"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-object-detection-component.html)  | 
|  2.1.1  |  <a name="changelog-dlr-object-detection-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-object-detection-component.html)  | 
|  2.0.4  |  Versão inicial.  | 

# Armazenamento de modelos de classificação de imagens do DLR
<a name="dlr-image-classification-model-store-component"></a>

O armazenamento de modelos de classificação de imagens DLR é um componente de modelo de aprendizado de máquina que contém modelos pré-treinados de ResNet -50 como artefatos do Greengrass. [Os modelos pré-treinados usados neste componente são obtidos do [GluonCV Model Zoo](https://cv.gluon.ai/model_zoo/index.html) e compilados usando o SageMaker AI Neo Deep Learning Runtime.](https://github.com/neo-ai/neo-ai-dlr)

O componente de inferência de [classificação de imagem do DLR](dlr-image-classification-component.md) usa isso como uma dependência para a fonte do modelo. Para usar um modelo do DLR personalizado e treinado, [crie uma versão personalizada](ml-customization.md#override-public-model-store) desse componente do modelo e inclua seu modelo personalizado como um artefato do componente. É possível usar a fórmula desse componente como modelo para criar componentes de modelo personalizados. 

**nota**  
O nome do componente de armazenamento de modelos de classificação de imagem do DLR varia de acordo com a versão. O nome do componente para a versão 2.1.x e posteriores é `variant.DLR.ImageClassification.ModelStore`. O nome do componente para a versão 2.0.x é `variant.ImageClassification.ModelStore`.

**Topics**
+ [Versões](#dlr-image-classification-model-store-component-versions)
+ [Tipo](#dlr-image-classification-model-store-component-type)
+ [Sistema operacional](#dlr-image-classification-model-store-component-os-support)
+ [Requisitos](#dlr-image-classification-model-store-component-requirements)
+ [Dependências](#dlr-image-classification-model-store-component-dependencies)
+ [Configuração](#dlr-image-classification-model-store-component-configuration)
+ [Arquivo de log local](#dlr-image-classification-model-store-component-log-file)
+ [Changelog](#dlr-image-classification-model-store-component-changelog)

## Versões
<a name="dlr-image-classification-model-store-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x (`variant.DLR.ImageClassification.ModelStore`) 
+ 2.0.x (`variant.ImageClassification.ModelStore`) 

## Tipo
<a name="dlr-image-classification-model-store-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="dlr-image-classification-model-store-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="dlr-image-classification-model-store-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

## Dependências
<a name="dlr-image-classification-model-store-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#dlr-image-classification-model-store-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.12 - 2.1.14 ]

A seguinte tabela lista as dependências das versões 2.1.12 e 2.1.13 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 

------
#### [ 2.1.11 ]

A seguinte tabela lista as dependências da versão 2.1.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 

------
#### [ 2.0.x ]

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | Flexível | 

------

## Configuração
<a name="dlr-image-classification-model-store-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

## Arquivo de log local
<a name="dlr-image-classification-model-store-component-log-file"></a>

Esse componente não gera logs.

## Changelog
<a name="dlr-image-classification-model-store-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.13  | Versão atualizada para a versão 2.12.5 do núcleo do Greengrass. | 
|  2.1.12  | Versão atualizada para o lançamento da versão 2.12.0 do núcleo do Greengrass. | 
|  2.1.11  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.9.0 do núcleo do Greengrass. | 
|  2.1.8  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.7  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-image-classification-model-store-component.html)  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.2.0 do núcleo do Greengrass.  | 
|  2.1.1  |  <a name="changelog-dlr-image-classification-model-store-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-image-classification-model-store-component.html)  | 
|  2.0.4  |  Versão inicial.  | 

# Armazenamento de modelos de detecção de objetos do DLR
<a name="dlr-object-detection-model-store-component"></a>

O repositório de modelos de detecção de objetos DLR é um componente de modelo de aprendizado de máquina que contém YOLOv3 modelos pré-treinados como artefatos do Greengrass. Os modelos de amostra usados neste componente são obtidos do [GluonCV Model Zoo](https://cv.gluon.ai/model_zoo/index.html) e compilados usando o SageMaker AI Neo [Deep](https://github.com/neo-ai/neo-ai-dlr) Learning Runtime.

O componente de inferência de [detecção de objetos do DLR](dlr-object-detection-component.md) usa esse componente como uma dependência para a fonte do modelo. Para usar um modelo do DLR personalizado e treinado, [crie uma versão personalizada](ml-customization.md#override-public-model-store) desse componente do modelo e inclua seu modelo personalizado como um artefato do componente. É possível usar a fórmula desse componente como modelo para criar componentes de modelo personalizados. 

**nota**  
O nome do componente de armazenamento de modelos de detecção de objetos do DLR varia de acordo com a versão. O nome do componente para a versão 2.1.x e posteriores é `variant.DLR.ObjectDetection.ModelStore`. O nome do componente para a versão 2.0.x é `variant.ObjectDetection.ModelStore`.

**Topics**
+ [Versões](#dlr-object-detection-model-store-component-versions)
+ [Tipo](#dlr-object-detection-model-store-component-type)
+ [Sistema operacional](#dlr-object-detection-model-store-component-os-support)
+ [Requisitos](#dlr-object-detection-model-store-component-requirements)
+ [Dependências](#dlr-object-detection-model-store-component-dependencies)
+ [Configuração](#dlr-object-detection-model-store-component-configuration)
+ [Arquivo de log local](#dlr-object-detection-model-store-component-log-file)
+ [Changelog](#dlr-object-detection-model-store-component-changelog)

## Versões
<a name="dlr-object-detection-model-store-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x 
+ 2.0.x

## Tipo
<a name="dlr-object-detection-model-store-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="dlr-object-detection-model-store-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="dlr-object-detection-model-store-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

## Dependências
<a name="dlr-object-detection-model-store-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#dlr-object-detection-model-store-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.13 and 2.1.14 ]

A seguinte tabela lista as dependências das versões 2.1.13 e 2.1.14 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 

------
#### [ 2.1.12 ]

A seguinte tabela lista as dependências da versão 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 

------
#### [ 2.1.11 ]

A seguinte tabela lista as dependências da versão 2.1.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 

------
#### [ 2.1.5 and 2.1.6 ]

A seguinte tabela lista as dependências das versões 2.1.5 e 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 

------
#### [ 2.0.x ]

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | Flexível | 

------

## Configuração
<a name="dlr-object-detection-model-store-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

## Arquivo de log local
<a name="dlr-object-detection-model-store-component-log-file"></a>

Esse componente não gera logs.

## Changelog
<a name="dlr-object-detection-model-store-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.14  |  Versão atualizada para o lançamento 2.12.5 do núcleo do Greengrass.  | 
|  2.1.13  | Versão atualizada para o lançamento da versão 2.12.0 do núcleo do Greengrass. | 
|  2.1.12  | Versão atualizada para o Greengrass nucleus versão 2.11.0. | 
|  2.1.11  | Versão atualizada para o Greengrass nucleus versão 2.10.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.9.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.8  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.7  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.6  |  Adiciona um modelo de CPU para corrigir um problema em dispositivos Armv8 (AArch64).  | 
|  2.1.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-object-detection-model-store-component.html)  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.2.0 do núcleo do Greengrass.  | 
|  2.1.1  |  <a name="changelog-dlr-object-detection-model-store-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-object-detection-model-store-component.html) | 
|  2.0.4  |  Versão inicial.  | 

# Runtime do DLR
<a name="dlr-component"></a>

O componente do runtime do DLR (`variant.DLR`) contém um script que instala o [Runtime de aprendizado profundo](https://github.com/neo-ai/neo-ai-dlr) (DLR) e as dependências dele em um ambiente virtual no seu dispositivo. Os componentes [Classificação de imagens do DLR](dlr-image-classification-component.md) e [Detecção de objetos do DLR](dlr-object-detection-component.md) usam esse componente como uma dependência para instalar o DLR. A versão 1.6.x do componente instala o DLR v1.6.0 e a versão 1.3.x do componente instala o DLR v1.3.0. 

Para usar outro runtime, você pode aplicar a fórmula desse componente como modelo para [criar um componente de machine learning personalizado](ml-customization.md). 

**Topics**
+ [Versões](#dlr-component-versions)
+ [Tipo](#dlr-component-type)
+ [Sistema operacional](#dlr-component-os-support)
+ [Requisitos](#dlr-component-requirements)
+ [Dependências](#dlr-component-dependencies)
+ [Configuração](#dlr-component-configuration)
+ [Uso](#dlr-component-usage)
+ [Arquivo de log local](#dlr-component-log-file)
+ [Changelog](#dlr-component-changelog)

## Versões
<a name="dlr-component-versions"></a>

Esse componente tem as seguintes versões:
+ 1.6.x
+ 1.3.x

## Tipo
<a name="dlr-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="dlr-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="dlr-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

### Endpoints e portas
<a name="dlr-component-endpoints"></a>

Por padrão, esse componente usa um script do instalador para instalar pacotes com os comandos `apt`, `yum`, `brew` e `pip`, dependendo da plataforma do dispositivo principal. Esse componente deve ser capaz de fazer solicitações de saída para vários índices e repositórios de pacotes para executar o script do instalador. Para permitir o tráfego de saída do componente por meio de um proxy ou firewall, é necessário identificar os endpoints dos índices e repositórios de pacotes aos quais o seu dispositivo principal se conecta para a instalação.

Considere o seguinte quando for identificar os endpoints necessários para o script de instalação do componente:
+ Os endpoints dependem da plataforma do dispositivo principal. Por exemplo, um dispositivo principal com Ubuntu usa `apt` em vez de `yum` ou `brew`. Além disso, os dispositivos que usam o mesmo índice de pacotes podem ter listas de fontes diferentes e, portanto, podem recuperar pacotes de repositórios distintos.
+ Os endpoints podem ser diferentes entre os vários dispositivos que usam o mesmo índice de pacotes, já que cada dispositivo tem as próprias listas de fontes que definem onde recuperar os pacotes.
+ Os endpoints podem mudar ao longo do tempo. Cada índice URLs de pacotes fornece os repositórios nos quais você baixa pacotes, e o proprietário de um pacote pode alterar o que URLs o índice de pacotes fornece.

Para obter mais informações sobre as dependências que esse componente instala e como desabilitar o script do instalador, consulte o parâmetro de [UseInstaller](#dlr-component-config-useinstaller-term)configuração.

Para obter mais informações sobre os endpoints e as portas necessários para operação básica, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).

## Dependências
<a name="dlr-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#dlr-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 1.6.11 - 1.6.16 ]

A tabela a seguir lista as dependências das versões 1.6.11 a 1.6.16 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | Flexível | 

------
#### [ 1.6.10 ]

A tabela a seguir lista as dependências da versão 1.6.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 

------
#### [ 1.6.9 ]

A tabela a seguir lista as dependências da versão 1.6.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 

------
#### [ 1.6.8 ]

A tabela a seguir lista as dependências da versão 1.6.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 

------
#### [ 1.6.6 and 1.6.7 ]

A tabela a seguir lista as dependências das versões 1.6.6 e 1.6.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 

------
#### [ 1.6.4 and 1.6.5 ]

A tabela a seguir lista as dependências das versões 1.6.4 e 1.6.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 

------
#### [ 1.6.3 ]

A tabela a seguir lista as dependências da versão 1.6.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 

------
#### [ 1.6.2 ]

A tabela a seguir lista as dependências da versão 1.6.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 

------
#### [ 1.6.1 ]

A tabela a seguir lista as dependências da versão 1.6.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 

------
#### [ 1.3.x ]

A tabela a seguir lista as dependências da versão 1.3.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="dlr-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`MLRootPath`  
<a name="ml-config-mlrootpath-desc"></a>(Opcional) O caminho da pasta nos dispositivos principais do Linux em que os componentes de inferência leem as imagens e gravam os resultados da inferência. Você pode modificar esse valor em qualquer local em seu dispositivo ao qual o usuário que está executando esse componente tenha read/write acesso.  
<a name="ml-config-mlrootpath-default-dlr"></a>Padrão: `/greengrass/v2/work/variant.DLR/greengrass_ml`

`WindowsMLRootPath`  
Esse recurso está disponível na versão 1.6.6 e mais recente desse componente.  
<a name="ml-config-windowsmlrootpath-desc"></a>(Opcional) O caminho da pasta nos dispositivos principais do Windows em que os componentes de inferência leem as imagens e gravam os resultados da inferência. Você pode modificar esse valor em qualquer local em seu dispositivo ao qual o usuário que está executando esse componente tenha read/write acesso.  
<a name="ml-config-windowsmlrootpath-default-dlr"></a>Padrão: `C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml`

  `UseInstaller`   
<a name="ml-config-useinstaller-desc-dlr"></a>(Opcional) Valor da string que define se o script do instalador deve ser usado nesse componente para instalar o DLR e as dependências dele. Os valores compatíveis são `true` e `false`.   <a name="ml-config-useinstaller-libraries-dlr"></a>

Defina esse valor como `false` se você quiser usar um script personalizado para a instalação do DLR ou se quiser incluir dependências de runtime em uma imagem Linux pré-criada. Para usar esse componente com os componentes AWS de inferência DLR fornecidos, instale as bibliotecas a seguir, incluindo quaisquer dependências, e disponibilize-as para o usuário do sistema, como, por exemplo`ggc_user`, que executa os componentes de ML.
+ [Python](https://www.python.org/downloads/) 3.7 ou posterior, incluindo o `pip` para sua versão do Python.
+ [Runtime de aprendizado profundo](https://github.com/neo-ai/neo-ai-dlr) v1.6.0.
+ [NumPy](https://numpy.org/install/).
+ [OpenCV-Python](https://pypi.org/project/opencv-python/).
+ [AWS IoT Device SDK v2 para Python](https://github.com/aws/aws-iot-device-sdk-python-v2).
+ [AWS Python de tempo de execução comum (CRT)](https://github.com/awslabs/aws-crt-python).
+ [Picamera](https://picamera.readthedocs.io/en/release-1.13/) (para dispositivos Raspberry Pi).
+ [`awscam`módulo](https://docs.aws.amazon.com/deeplens/latest/dg/deeplens-library-awscam-module.html) (para AWS DeepLens dispositivos).
+ libGL (para dispositivos Linux)
<a name="ml-config-useinstaller-default"></a>Padrão: `true`

## Uso
<a name="dlr-component-usage"></a>

Use esse componente com o parâmetro de configuração `UseInstaller` definido como `true` para instalar o DLR e as dependências dele em seu dispositivo. O componente configura um ambiente virtual em seu dispositivo que inclui o OpenCV NumPy e as bibliotecas necessárias para o DLR. 

**nota**  <a name="ml-installer-component-usage-note"></a>
O script do instalador nesse componente também instala as versões mais recentes das bibliotecas adicionais do sistema, que são necessárias para configurar o ambiente virtual em seu dispositivo e usar a estrutura de machine learning instalada. Isso pode atualizar as bibliotecas do sistema existentes em seu dispositivo. Consulte a tabela a seguir para ver a lista de bibliotecas que esse componente instala para cada sistema operacional compatível. Se você deseja personalizar esse processo de instalação, defina o parâmetro de configuração `UseInstaller` como `false` e desenvolva o próprio script do instalador.


| Plataforma | Bibliotecas instaladas no sistema do dispositivo | Bibliotecas instaladas no ambiente virtual | 
| --- | --- | --- | 
| Armv7l | build-essential, cmake, ca-certificates, git | setuptools, wheel | 
| Amazon Linux 2 | mesa-libGL | Nenhum | 
| Ubuntu | wget | Nenhum | 

Quando você implanta seu componente de inferência, esse componente de runtime primeiro verifica se seu dispositivo já tem o DLR e as dependências dele instaladas, caso contrário, ele instala para você. 

## Arquivo de log local
<a name="dlr-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/variant.DLR.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\variant.DLR.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/variant.DLR.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\variant.DLR.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="dlr-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.6.16  |  Versão atualizada para o Greengrass nucleus versão 2.12.5.  | 
|  1.6.12  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.11  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  1.6.10  | Versão atualizada para o Greengrass nucleus versão 2.8.0. | 
|  1.6.9  |  Versão atualizada para o Greengrass nucleus versão 2.7.0.  | 
|  1.6.8  |  Versão atualizada para o Greengrass nucleus versão 2.6.0.  | 
|  1.6.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.4  |  Versão atualizada para o Greengrass nucleus versão 2.4.0.  | 
|  1.6.3  |  Versão atualizada para o Greengrass nucleus versão 2.3.0.  | 
|  1.6.2  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  1.6.1  |  <a name="changelog-dlr-1.6.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.3.2  |  Versão inicial. Instala o DLR v1.3.0.  | 

# TensorFlow Classificação de imagens Lite
<a name="tensorflow-lite-image-classification-component"></a>

O componente de classificação de imagem TensorFlow Lite (`aws.greengrass.TensorFlowLiteImageClassification`) contém código de inferência de amostra para realizar inferência de classificação de imagem usando o tempo de execução [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) e uma amostra de modelo quantizado MobileNet 1.0 pré-treinado. Esse componente usa a variante [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) e os [TensorFlow Tempo de execução leve](tensorflow-lite-component.md) componentes como dependências para baixar o tempo de execução do TensorFlow Lite e o modelo de amostra.

Para usar esse componente de inferência com um modelo TensorFlow Lite personalizado, [crie uma versão personalizada](ml-customization.md#override-public-model-store) do componente de armazenamento de modelos dependente. Para usar seu próprio código de inferência personalizado, é possível usar a fórmula desse componente como modelo para [criar um componente de inferência personalizado](ml-customization.md#create-inference-component).

**Topics**
+ [Versões](#tensorflow-lite-image-classification-component-versions)
+ [Tipo](#tensorflow-lite-image-classification-component-type)
+ [Sistema operacional](#tensorflow-lite-image-classification-component-os-support)
+ [Requisitos](#tensorflow-lite-image-classification-component-requirements)
+ [Dependências](#tensorflow-lite-image-classification-component-dependencies)
+ [Configuração](#tensorflow-lite-image-classification-component-configuration)
+ [Arquivo de log local](#tensorflow-lite-image-classification-component-log-file)
+ [Changelog](#tensorflow-lite-image-classification-component-changelog)

## Versões
<a name="tensorflow-lite-image-classification-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x

## Tipo
<a name="tensorflow-lite-image-classification-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="tensorflow-lite-image-classification-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="tensorflow-lite-image-classification-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

## Dependências
<a name="tensorflow-lite-image-classification-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#tensorflow-lite-image-classification-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.11 and 2.1.12 ]

A tabela a seguir lista as dependências das versões 2.1.11 e 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------

## Configuração
<a name="tensorflow-lite-image-classification-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite que o componente publique mensagens no tópico de notificações padrão.   
Padrão:   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.TensorFlowLiteImageClassification:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/tflite/image-classification.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/tflite/image-classification"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(Opcional) O tópico no qual você deseja publicar os resultados da inferência. Se você modificar esse valor, também deverá modificar o valor de `resources` no parâmetro `accessControl` para corresponder ao nome do tópico personalizado.  
Padrão: `ml/tflite/image-classification`

`Accelerator`  <a name="ml-config-accelerator"></a>
O acelerador que você deseja usar. Os valores compatíveis são `cpu` e `gpu`.  
Os modelos de amostra no componente de modelo dependente oferecem suporte somente à aceleração de CPU. Para usar a aceleração de GPU com outro modelo personalizado, [crie um componente de modelo personalizado](ml-customization.md#override-public-model-store) para substituir o componente de modelo público.  
Padrão: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Opcional) O caminho da pasta no dispositivo em que os componentes de inferência leem as imagens. Você pode modificar esse valor para qualquer local em seu dispositivo ao qual tenha read/write acesso.  
<a name="ml-config-imagedirectory-img-default"></a>Padrão: `/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(Opcional) O nome da imagem que o componente de inferência usa como entrada para fazer uma previsão. O componente procura a imagem na pasta especificada em `ImageDirectory`. Por padrão, o componente usa a imagem de amostra no diretório de imagens padrão. AWS IoT Greengrass suporta os seguintes formatos de imagem: `jpeg` `jpg``png`,, `npy` e.   
<a name="ml-config-imagename-img-default"></a>Padrão: `cat.jpeg`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) O tempo em segundos entre cada previsão feita pelo código de inferência. O código de inferência de amostra é executado indefinidamente e repete as previsões no intervalo de tempo especificado. Por exemplo, é possível alterar isso para um intervalo menor se você quiser usar as imagens capturadas por uma câmera para previsão em tempo real.  
Padrão: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Os modelos usados no componente de modelo público dependente. Modifique esse parâmetro somente se você substituir o componente de modelo público por um componente personalizado.   
Padrão:  

```
{
    "model": "TensorFlowLite-Mobilenet"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(Opcional) O valor de string que define se as imagens de uma câmera conectada ao dispositivo principal do Greengrass devem ser usadas. Os valores compatíveis são `true` e `false`.  
Quando você define esse valor como `true`, o código de inferência de amostra acessa a câmera do seu dispositivo e executa a inferência localmente na imagem capturada. Os valores dos parâmetros `ImageName` e `ImageDirectory` são ignorados. Certifique-se de que o usuário que está executando esse componente tenha read/write acesso ao local em que a câmera armazena as imagens capturadas.  
Padrão: `false`  
Quando você visualiza a fórmula desse componente, o parâmetro de configuração `UseCamera` não aparece na configuração padrão. No entanto, você pode modificar o valor desse parâmetro em uma [atualização de mesclagem da configuração](update-component-configurations.md) ao implantar o componente.   
Ao definir `UseCamera` como `true`, você também deve criar um link simbólico para permitir que o componente de inferência acesse sua câmera do ambiente virtual criado pelo componente de runtime. Para obter mais informações sobre como usar uma câmera com os componentes de inferência de amostra, consulte [Atualizar configurações do componente](ml-tutorial-image-classification-camera.md).

## Arquivo de log local
<a name="tensorflow-lite-image-classification-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="tensorflow-lite-image-classification-component-changelog"></a>

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


|  Versão  |  Alterações  | 
| --- | --- | 
|  2.1.12  |  Versão atualizada para o núcleo do Greengrass 2.12.5.  | 
|  2.1.11  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.1.8  | Versão atualizada para o Greengrass nucleus versão 2.9.0. | 
|  2.1.7  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.5  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o Greengrass nucleus versão 2.2.0.  | 
|  2.1.0  |  Versão inicial.  | 

# TensorFlow Detecção leve de objetos
<a name="tensorflow-lite-object-detection-component"></a>

O componente de detecção de objetos TensorFlow Lite (`aws.greengrass.TensorFlowLiteObjectDetection`) contém um código de inferência de amostra para realizar a inferência de detecção de objetos usando o [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) e um modelo pré-treinado de Single Shot Detection (SSD) 1.0. MobileNet Esse componente usa a variante [TensorFlow Loja de modelos de detecção de objetos Lite](tensorflow-lite-object-detection-model-store-component.md) e os [TensorFlow Tempo de execução leve](tensorflow-lite-component.md) componentes como dependências para baixar o TensorFlow Lite e o modelo de amostra. 

Para usar esse componente de inferência com um modelo TensorFlow Lite personalizado, você pode [criar uma versão personalizada](ml-customization.md#override-public-model-store) do componente de armazenamento de modelos dependente. Para usar o próprio código de inferência personalizado, utilize a fórmula desse componente como modelo para [criar um componente de inferência personalizado](ml-customization.md#create-inference-component).

**Topics**
+ [Versões](#tensorflow-lite-object-detection-component-versions)
+ [Tipo](#tensorflow-lite-object-detection-component-type)
+ [Sistema operacional](#tensorflow-lite-object-detection-component-os-support)
+ [Requisitos](#tensorflow-lite-object-detection-component-requirements)
+ [Dependências](#tensorflow-lite-object-detection-component-dependencies)
+ [Configuração](#tensorflow-lite-object-detection-component-configuration)
+ [Arquivo de log local](#tensorflow-lite-object-detection-component-log-file)
+ [Changelog](#tensorflow-lite-object-detection-component-changelog)

## Versões
<a name="tensorflow-lite-object-detection-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x

## Tipo
<a name="tensorflow-lite-object-detection-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="tensorflow-lite-object-detection-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="tensorflow-lite-object-detection-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

## Dependências
<a name="tensorflow-lite-object-detection-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#tensorflow-lite-object-detection-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.11 and 2.1.12 ]

A tabela a seguir lista as dependências das versões 2.1.11 e 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------

## Configuração
<a name="tensorflow-lite-object-detection-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite que o componente publique mensagens no tópico de notificações padrão.   
Padrão:   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.TensorFlowLiteObjectDetection:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/tflite/object-detection.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/tflite/object-detection"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(Opcional) O tópico no qual você deseja publicar os resultados da inferência. Se você modificar esse valor, também deverá modificar o valor de `resources` no parâmetro `accessControl` para corresponder ao nome do tópico personalizado.  
Padrão: `ml/tflite/object-detection`

`Accelerator`  <a name="ml-config-accelerator"></a>
O acelerador que você deseja usar. Os valores compatíveis são `cpu` e `gpu`.  
Os modelos de amostra no componente de modelo dependente oferecem suporte somente à aceleração de CPU. Para usar a aceleração de GPU com outro modelo personalizado, [crie um componente de modelo personalizado](ml-customization.md#override-public-model-store) para substituir o componente de modelo público.  
Padrão: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Opcional) O caminho da pasta no dispositivo em que os componentes de inferência leem as imagens. Você pode modificar esse valor para qualquer local em seu dispositivo ao qual tenha read/write acesso.  
<a name="ml-config-imagedirectory-obj-default"></a>Padrão: `/greengrass/v2/packages/artifacts-unarchived/component-name/object_detection/sample_images/`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(Opcional) O nome da imagem que o componente de inferência usa como entrada para fazer uma previsão. O componente procura a imagem na pasta especificada em `ImageDirectory`. Por padrão, o componente usa a imagem de amostra no diretório de imagens padrão. AWS IoT Greengrass suporta os seguintes formatos de imagem: `jpeg` `jpg``png`,, `npy` e.   
<a name="ml-config-imagename-obj-default"></a>Padrão: `objects.jpg`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) O tempo em segundos entre cada previsão feita pelo código de inferência. O código de inferência de amostra é executado indefinidamente e repete as previsões no intervalo de tempo especificado. Por exemplo, é possível alterar isso para um intervalo menor se você quiser usar as imagens capturadas por uma câmera para previsão em tempo real.  
Padrão: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Os modelos usados no componente de modelo público dependente. Modifique esse parâmetro somente se você substituir o componente de modelo público por um componente personalizado.   
Padrão:  

```
{
    "model": "TensorFlowLite-SSD"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(Opcional) O valor de string que define se as imagens de uma câmera conectada ao dispositivo principal do Greengrass devem ser usadas. Os valores compatíveis são `true` e `false`.  
Quando você define esse valor como `true`, o código de inferência de amostra acessa a câmera do seu dispositivo e executa a inferência localmente na imagem capturada. Os valores dos parâmetros `ImageName` e `ImageDirectory` são ignorados. Certifique-se de que o usuário que está executando esse componente tenha read/write acesso ao local em que a câmera armazena as imagens capturadas.  
Padrão: `false`  
Quando você visualiza a fórmula desse componente, o parâmetro de configuração `UseCamera` não aparece na configuração padrão. No entanto, você pode modificar o valor desse parâmetro em uma [atualização de mesclagem da configuração](update-component-configurations.md) ao implantar o componente.   
Ao definir `UseCamera` como `true`, você também deve criar um link simbólico para permitir que o componente de inferência acesse sua câmera do ambiente virtual criado pelo componente de runtime. Para obter mais informações sobre como usar uma câmera com os componentes de inferência de amostra, consulte [Atualizar configurações do componente](ml-tutorial-image-classification-camera.md).

**nota**  <a name="ml-config-not-visible-note"></a>
Quando você visualiza a fórmula desse componente, o parâmetro de configuração `UseCamera` não aparece na configuração padrão. No entanto, você pode modificar o valor desse parâmetro em uma [atualização de mesclagem da configuração](update-component-configurations.md) ao implantar o componente.   
Ao definir `UseCamera` como `true`, você também deve criar um link simbólico para permitir que o componente de inferência acesse sua câmera do ambiente virtual criado pelo componente de runtime. Para obter mais informações sobre como usar uma câmera com os componentes de inferência de amostra, consulte [Atualizar configurações do componente](ml-tutorial-image-classification-camera.md).

## Arquivo de log local
<a name="tensorflow-lite-object-detection-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="tensorflow-lite-object-detection-component-changelog"></a>

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


|  Versão  |  Alterações  | 
| --- | --- | 
|  2.1.12  |  Versão atualizada para o núcleo do Greengrass 2.12.5.  | 
|  2.1.11  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.1.8  | Versão atualizada para o Greengrass nucleus versão 2.9.0. | 
|  2.1.7  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.5  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.1  |  <a name="changelog-tensorflow-lite-object-detection-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/tensorflow-lite-object-detection-component.html)  | 
|  2.1.0  |  Versão inicial.  | 

# TensorFlow Loja de modelos de classificação de imagens Lite
<a name="tensorflow-lite-image-classification-model-store-component"></a>

O repositório de modelos de classificação de imagens TensorFlow Lite (`variant.TensorFlowLite.ImageClassification.ModelStore`) é um componente do modelo de aprendizado de máquina que contém um modelo MobileNet v1 pré-treinado como um artefato do Greengrass. O modelo de amostra usado nesse componente é obtido do [TensorFlowHub](https://tfhub.dev/) e implementado usando o [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python).

O componente de inferência [TensorFlow Classificação de imagens Lite](tensorflow-lite-image-classification-component.md) usa esse componente como uma dependência para a fonte do modelo. Para usar um modelo TensorFlow Lite personalizado, [crie uma versão personalizada](ml-customization.md#override-public-model-store) desse componente de modelo e inclua seu modelo personalizado como um artefato de componente. É possível usar a fórmula desse componente como modelo para criar componentes de modelo personalizado. 

**Topics**
+ [Versões](#tensorflow-lite-image-classification-model-store-component-versions)
+ [Tipo](#tensorflow-lite-image-classification-model-store-component-type)
+ [Sistema operacional](#tensorflow-lite-image-classification-model-store-component-os-support)
+ [Requisitos](#tensorflow-lite-image-classification-model-store-component-requirements)
+ [Dependências](#tensorflow-lite-image-classification-model-store-component-dependencies)
+ [Configuração](#tensorflow-lite-image-classification-model-store-component-configuration)
+ [Arquivo de log local](#tensorflow-lite-image-classification-model-store-component-log-file)
+ [Changelog](#tensorflow-lite-image-classification-model-store-component-changelog)

## Versões
<a name="tensorflow-lite-image-classification-model-store-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x

## Tipo
<a name="tensorflow-lite-image-classification-model-store-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="tensorflow-lite-image-classification-model-store-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="tensorflow-lite-image-classification-model-store-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

## Dependências
<a name="tensorflow-lite-image-classification-model-store-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#tensorflow-lite-image-classification-model-store-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.11 and 2.1.12  ]

A tabela a seguir lista as dependências das versões 2.1.11 e 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 

------

## Configuração
<a name="tensorflow-lite-image-classification-model-store-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

## Arquivo de log local
<a name="tensorflow-lite-image-classification-model-store-component-log-file"></a>

Esse componente não gera logs.

## Changelog
<a name="tensorflow-lite-image-classification-model-store-component-changelog"></a>

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


|  Versão  |  Alterações  | 
| --- | --- | 
|  2.1.12  |  Versão atualizada para o núcleo do Greengrass 2.12.5.  | 
|  2.1.11  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.1.8  | Versão atualizada para o Greengrass nucleus versão 2.9.0. | 
|  2.1.7  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.5  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o Greengrass nucleus versão 2.2.0.  | 
|  2.1.0  |  Versão inicial.  | 

# TensorFlow Loja de modelos de detecção de objetos Lite
<a name="tensorflow-lite-object-detection-model-store-component"></a>

O repositório de modelos de detecção de objetos TensorFlow Lite (`variant.TensorFlowLite.ObjectDetection.ModelStore`) é um componente de modelo de aprendizado de máquina que contém um modelo pré-treinado de detecção de disparo único (SSD) como um MobileNet artefato do Greengrass. O modelo de amostra usado nesse componente é obtido do [TensorFlow Hub](https://tfhub.dev/) e implementado usando o [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python).

O componente de inferência [de detecção de objetos TensorFlow Lite](tensorflow-lite-object-detection-component.md) usa esse componente como uma dependência para a fonte do modelo. Para usar um modelo TensorFlow Lite personalizado, [crie uma versão personalizada](ml-customization.md#override-public-model-store) desse componente de modelo e inclua seu modelo personalizado como um artefato de componente. É possível usar a fórmula desse componente como modelo para criar componentes de modelo personalizado. 

**Topics**
+ [Versões](#tensorflow-lite-object-detection-model-store-component-versions)
+ [Tipo](#tensorflow-lite-object-detection-model-store-component-type)
+ [Sistema operacional](#tensorflow-lite-object-detection-model-store-component-os-support)
+ [Requisitos](#tensorflow-lite-object-detection-model-store-component-requirements)
+ [Dependências](#tensorflow-lite-object-detection-model-store-component-dependencies)
+ [Configuração](#tensorflow-lite-object-detection-model-store-component-configuration)
+ [Arquivo de log local](#tensorflow-lite-object-detection-model-store-component-log-file)
+ [Changelog](#tensorflow-lite-object-detection-model-store-component-changelog)

## Versões
<a name="tensorflow-lite-object-detection-model-store-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x

## Tipo
<a name="tensorflow-lite-object-detection-model-store-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="tensorflow-lite-object-detection-model-store-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="tensorflow-lite-object-detection-model-store-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

## Dependências
<a name="tensorflow-lite-object-detection-model-store-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#tensorflow-lite-object-detection-model-store-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.11 and 2.1.12 ]

A tabela a seguir lista as dependências das versões 2.1.11 e 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 

------

## Configuração
<a name="tensorflow-lite-object-detection-model-store-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

## Arquivo de log local
<a name="tensorflow-lite-object-detection-model-store-component-log-file"></a>

Esse componente não gera logs.

## Changelog
<a name="tensorflow-lite-object-detection-model-store-component-changelog"></a>

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


|  Versão  |  Alterações  | 
| --- | --- | 
|  2.1.12  |  Versão atualizada para o núcleo do Greengrass 2.12.5.  | 
|  2.1.11  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.1.8  | Versão atualizada para o Greengrass nucleus versão 2.9.0. | 
|  2.1.7  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.5  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o Greengrass nucleus versão 2.2.0.  | 
|  2.1.0  |  Versão inicial.  | 

# TensorFlow Tempo de execução leve
<a name="tensorflow-lite-component"></a>

O componente de tempo de execução do TensorFlow Lite (`variant.TensorFlowLite`) contém um script que instala o [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) versão 2.5.0 e suas dependências em um ambiente virtual em seu dispositivo. A [classificação de imagem TensorFlow TensorFlow Lite](tensorflow-lite-image-classification-component.md) [e o componente de detecção de objetos Lite](tensorflow-lite-object-detection-component.md) usam esse componente de tempo de execução como uma dependência para instalar o TensorFlow Lite. 

**nota**  
TensorFlow O componente Lite Runtime v2.5.6 e versões posteriores reinstalam as instalações existentes do TensorFlow Lite Runtime e suas dependências. Essa reinstalação ajuda a garantir que o dispositivo principal execute versões compatíveis do TensorFlow Lite e de suas dependências.

Para usar outro runtime, você pode aplicar a fórmula desse componente como modelo para [criar um componente de machine learning personalizado](ml-customization.md).

**Topics**
+ [Versões](#tensorflow-lite-component-versions)
+ [Tipo](#tensorflow-lite-component-type)
+ [Sistema operacional](#tensorflow-lite-component-os-support)
+ [Requisitos](#tensorflow-lite-component-requirements)
+ [Dependências](#tensorflow-lite-component-dependencies)
+ [Configuração](#tensorflow-lite-component-configuration)
+ [Uso](#tensorflow-lite-component-usage)
+ [Arquivo de log local](#tensorflow-lite-component-log-file)
+ [Changelog](#tensorflow-lite-component-changelog)

## Versões
<a name="tensorflow-lite-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.5.x

## Tipo
<a name="tensorflow-lite-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="tensorflow-lite-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="tensorflow-lite-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

### Endpoints e portas
<a name="tensorflow-lite-component-endpoints"></a>

Por padrão, esse componente usa um script do instalador para instalar pacotes com os comandos `apt`, `yum`, `brew` e `pip`, dependendo da plataforma do dispositivo principal. Esse componente deve ser capaz de fazer solicitações de saída para vários índices e repositórios de pacotes para executar o script do instalador. Para permitir o tráfego de saída do componente por meio de um proxy ou firewall, é necessário identificar os endpoints dos índices e repositórios de pacotes aos quais o seu dispositivo principal se conecta para a instalação.

Considere o seguinte quando for identificar os endpoints necessários para o script de instalação do componente:
+ Os endpoints dependem da plataforma do dispositivo principal. Por exemplo, um dispositivo principal com Ubuntu usa `apt` em vez de `yum` ou `brew`. Além disso, os dispositivos que usam o mesmo índice de pacotes podem ter listas de fontes diferentes e, portanto, podem recuperar pacotes de repositórios distintos.
+ Os endpoints podem ser diferentes entre os vários dispositivos que usam o mesmo índice de pacotes, já que cada dispositivo tem as próprias listas de fontes que definem onde recuperar os pacotes.
+ Os endpoints podem mudar ao longo do tempo. Cada índice URLs de pacotes fornece os repositórios nos quais você baixa pacotes, e o proprietário de um pacote pode alterar o que URLs o índice de pacotes fornece.

Para obter mais informações sobre as dependências que esse componente instala e como desabilitar o script do instalador, consulte o parâmetro de [UseInstaller](#tensorflow-lite-component-config-useinstaller-term)configuração.

Para obter mais informações sobre os endpoints e as portas necessários para operação básica, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).

## Dependências
<a name="tensorflow-lite-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#tensorflow-lite-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.5.14 and 2.5.15 ]

A tabela a seguir lista as dependências das versões 2.5.14 e 2.5.15 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 

------
#### [ 2.5.13 ]

A tabela a seguir lista as dependências da versão 2.5.13 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 

------
#### [ 2.5.12 ]

A tabela a seguir lista as dependências da versão 2.5.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 

------
#### [ 2.5.11 ]

A tabela a seguir lista as dependências da versão 2.5.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 

------
#### [ 2.5.10 ]

A tabela a seguir lista as dependências da versão 2.5.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 

------
#### [ 2.5.9 ]

A tabela a seguir lista as dependências da versão 2.5.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 

------
#### [ 2.5.8 ]

A tabela a seguir lista as dependências da versão 2.5.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 

------
#### [ 2.5.5 - 2.5.7 ]

A tabela a seguir lista as dependências das versões 2.5.5 a 2.5.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 

------
#### [ 2.5.3 and 2.5.4 ]

A tabela a seguir lista as dependências das versões 2.5.3 e 2.5.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 

------
#### [ 2.5.2 ]

A tabela a seguir lista as dependências da versão 2.5.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 

------
#### [ 2.5.1 ]

A tabela a seguir lista as dependências da versão 2.5.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 

------
#### [ 2.5.0 ]

A tabela a seguir lista as dependências da versão 2.5.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="tensorflow-lite-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`MLRootPath`  
<a name="ml-config-mlrootpath-desc"></a>(Opcional) O caminho da pasta nos dispositivos principais do Linux em que os componentes de inferência leem as imagens e gravam os resultados da inferência. Você pode modificar esse valor em qualquer local em seu dispositivo ao qual o usuário que está executando esse componente tenha read/write acesso.  
<a name="ml-config-mlrootpath-default-tfl"></a>Padrão: `/greengrass/v2/work/variant.TensorFlowLite/greengrass_ml`

`WindowsMLRootPath`  
Esse recurso está disponível na versão 1.6.6 e mais recente desse componente.  
<a name="ml-config-windowsmlrootpath-desc"></a>(Opcional) O caminho da pasta nos dispositivos principais do Windows em que os componentes de inferência leem as imagens e gravam os resultados da inferência. Você pode modificar esse valor em qualquer local em seu dispositivo ao qual o usuário que está executando esse componente tenha read/write acesso.  
<a name="ml-config-windowsmlrootpath-default-dlr"></a>Padrão: `C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml`

  `UseInstaller`   
<a name="ml-config-useinstaller-desc-tfl"></a>(Opcional) Valor da string que define se o script do instalador deve ser usado nesse componente para instalar o TensorFlow Lite e suas dependências. Os valores compatíveis são `true` e `false`.   <a name="ml-config-useinstaller-libraries-tfl"></a>

Defina esse valor como `false` se você quiser usar um script personalizado para a instalação do TensorFlow Lite ou se quiser incluir dependências de tempo de execução em uma imagem Linux pré-criada. Para usar esse componente com os componentes AWS de inferência TensorFlow Lite fornecidos, instale as bibliotecas a seguir, incluindo quaisquer dependências, e disponibilize-as para o usuário do sistema, como, por exemplo`ggc_user`, que executa os componentes de ML.
+ [Python](https://www.python.org/downloads/) 3.8 ou posterior, incluindo o `pip` para sua versão do Python
+ [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) v2.5.0
+ [NumPy](https://numpy.org/install/)
+ [OpenCV-Python](https://pypi.org/project/opencv-python/)
+ [AWS IoT Device SDK v2 para Python](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS Python de tempo de execução comum (CRT)](https://github.com/awslabs/aws-crt-python)
+ [Picamera](https://picamera.readthedocs.io/en/release-1.13/) (para dispositivos Raspberry Pi)
+ [`awscam`módulo](https://docs.aws.amazon.com/deeplens/latest/dg/deeplens-library-awscam-module.html) (para AWS DeepLens dispositivos)
+ libGL (para dispositivos Linux)
<a name="ml-config-useinstaller-default"></a>Padrão: `true`

## Uso
<a name="tensorflow-lite-component-usage"></a>

Use esse componente com o parâmetro `UseInstaller` de configuração definido `true` para instalar o TensorFlow Lite e suas dependências em seu dispositivo. O componente configura um ambiente virtual em seu dispositivo que inclui o OpenCV NumPy e as bibliotecas necessárias para o Lite. TensorFlow 

**nota**  <a name="ml-installer-component-usage-note"></a>
O script do instalador nesse componente também instala as versões mais recentes das bibliotecas adicionais do sistema, que são necessárias para configurar o ambiente virtual em seu dispositivo e usar a estrutura de machine learning instalada. Isso pode atualizar as bibliotecas do sistema existentes em seu dispositivo. Consulte a tabela a seguir para ver a lista de bibliotecas que esse componente instala para cada sistema operacional compatível. Se você deseja personalizar esse processo de instalação, defina o parâmetro de configuração `UseInstaller` como `false` e desenvolva o próprio script do instalador.


| Plataforma | Bibliotecas instaladas no sistema do dispositivo | Bibliotecas instaladas no ambiente virtual | 
| --- | --- | --- | 
| Armv7l | build-essential, cmake, ca-certificates, git | setuptools, wheel | 
| Amazon Linux 2 | mesa-libGL | Nenhum | 
| Ubuntu | wget | Nenhum | 

Quando você implanta seu componente de inferência, esse componente de tempo de execução primeiro verifica se seu dispositivo já tem o TensorFlow Lite e suas dependências instaladas. Se não tiver, o componente de runtime os instala para você. 

## Arquivo de log local
<a name="tensorflow-lite-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/variant.TensorFlowLite.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\variant.TensorFlowLite.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/variant.TensorFlowLite.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\variant.TensorFlowLite.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="tensorflow-lite-component-changelog"></a>

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


|  Versão  |  Alterações  | 
| --- | --- | 
|  2.5.15  |  Versão atualizada para o Greengrass nucleus 2.12.5.  | 
|  2.5.14  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.5.13  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.5.12  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.5.11  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.5.10  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.5.9  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.5.8  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.5.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/tensorflow-lite-component.html)  | 
|  2.5.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/tensorflow-lite-component.html)  | 
|  2.5.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/tensorflow-lite-component.html)  | 
|  2.5.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/tensorflow-lite-component.html)  | 
|  2.5.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.5.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.5.1  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  2.5.0  |  Versão inicial.  | 

# Adaptador de protocolo Modbus-RTU
<a name="modbus-rtu-protocol-adapter-component"></a>

O componente adaptador do protocolo Modbus-RTU (`aws.greengrass.Modbus`) recolhe informações de dispositivos Modbus RTU locais.

Para solicitar informações de um dispositivo Modbus RTU local com esse componente, publique uma mensagem no tópico em que esse componente se inscreve. Na mensagem, especifique a solicitação Modbus RTU a ser enviada para um dispositivo. Em seguida, esse componente publica uma resposta que contém o resultado da solicitação do Modbus RTU.

**nota**  
Esse componente fornece funcionalidade semelhante ao conector do adaptador de protocolo Modbus RTU na AWS IoT Greengrass V1. Para mais informações, consulte [Modbus RTU protocol adapter connector](https://docs.aws.amazon.com/greengrass/latest/developerguide/modbus-protocol-adapter-connector.html) no *Guia do desenvolvedor do AWS IoT Greengrass V1*.

**Topics**
+ [Versões](#modbus-rtu-protocol-adapter-component-versions)
+ [Tipo](#modbus-rtu-protocol-adapter-component-type)
+ [Sistema operacional](#modbus-rtu-protocol-adapter-component-os-support)
+ [Requisitos](#modbus-rtu-protocol-adapter-component-requirements)
+ [Dependências](#modbus-rtu-protocol-adapter-component-dependencies)
+ [Configuração](#modbus-rtu-protocol-adapter-component-configuration)
+ [Dados de entrada](#modbus-rtu-protocol-adapter-component-input-data)
+ [Dados de saída](#modbus-rtu-protocol-adapter-component-output-data)
+ [Respostas e solicitações Modbus RTU](#modbus-rtu-protocol-adapter-component-requests-responses)
+ [Arquivo de log local](#modbus-rtu-protocol-adapter-component-log-file)
+ [Licenças](#modbus-rtu-protocol-adapter-component-licenses)
+ [Changelog](#modbus-rtu-protocol-adapter-component-changelog)

## Versões
<a name="modbus-rtu-protocol-adapter-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x
+ 2.0.x

## Tipo
<a name="modbus-rtu-protocol-adapter-component-type"></a>

<a name="public-component-type-lambda"></a>Esse <a name="public-component-type-lambda-phrase"></a>é um componente do Lambda (`aws.greengrass.lambda`).. O [Greengrass nucleus](greengrass-nucleus-component.md) executa a função do Lambda desse componente usando o [componente inicializador do Lambda](lambda-launcher-component.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="modbus-rtu-protocol-adapter-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Requisitos
<a name="modbus-rtu-protocol-adapter-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ <a name="core-device-lambda-function-requirements"></a>O dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você deseja que o dispositivo principal execute funções do Lambda em contêiner, o dispositivo deve atender aos requisitos para isso. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) versão 3.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ Uma conexão física entre o dispositivo AWS IoT Greengrass principal e os dispositivos Modbus. O dispositivo principal deve estar fisicamente conectado à rede Modbus RTU por meio de uma porta serial, como uma porta USB.
+ <a name="connector-component-legacy-subscription-router-dependency"></a>Para receber os dados de saída desse componente, você deve mesclar a seguinte atualização de configuração no [componente legado de roteador de assinatura](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) ao implantar esse componente. Essa configuração especifica o tópico em que esse componente publica as respostas.

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-modbus": {
        "id": "aws-greengrass-modbus",
        "source": "component:aws.greengrass.Modbus",
        "subject": "modbus/adapter/response",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-modbus": {
        "id": "aws-greengrass-modbus",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-modbus:version",
        "subject": "modbus/adapter/response",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region*Substitua pelo Região da AWS que você usa.
  + *version*Substitua pela versão da função Lambda que esse componente executa. Para encontrar a versão da função do Lambda, é necessário visualizar a fórmula da versão desse componente que deseja implantar. Abra a página de detalhes do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass) e procure o par de chave/valor da **função do Lambda**. Esse par de chave/valor contém o nome e a versão da função do Lambda.

**Importante**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
É necessário atualizar a versão da função do Lambda no roteador de assinatura legado sempre que implantar esse componente. Isso garante que você use a versão correta da função do Lambda em relação à do componente que é implantado.

------

  <a name="connector-component-create-deployments"></a>Para obter mais informações, consulte [Criar implantações](create-deployments.md).
+ O adaptador de protocolo Modbus-RTU é compatível com a execução em uma VPC.

## Dependências
<a name="modbus-rtu-protocol-adapter-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#modbus-rtu-protocol-adapter-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.11 ]

A seguinte tabela lista as dependências da versão 2.1.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.4 and 2.1.5 ]

A tabela a seguir lista as dependências das versões 2.1.4 e 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.8 and 2.1.0 ]

A tabela a seguir lista as dependências das versões 2.0.8 e 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.7 ]

A tabela a seguir lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.6 ]

A tabela a seguir lista as dependências da versão 2.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.5 ]

A tabela a seguir lista as dependências da versão 2.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.4 ]

A tabela a seguir lista as dependências da versão 2.0.4 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.3 ]

A tabela a seguir lista as dependências para a versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | >=1.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | >=1.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=1.0.0  | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="modbus-rtu-protocol-adapter-component-configuration"></a>

Esse componente fornece os parâmetros de configuração a seguir, que podem ser personalizados quando você o implanta.

**nota**  <a name="connector-component-lambda-parameters"></a>
A configuração padrão desse componente inclui parâmetros de função do Lambda. Recomendamos que você edite somente os parâmetros a seguir para configurar esse componente em seus dispositivos.

------
#### [ v2.1.x ]

`lambdaParams`  
Um objeto que contém os parâmetros para a função do Lambda desse componente. Esse objeto contém as informações a seguir:    
`EnvironmentVariables`  
Um objeto que contém os parâmetros da função do Lambda. Esse objeto contém as informações a seguir:    
`ModbusLocalPort`  <a name="modbus-rtu-protocol-adapter-configuration-modbuslocalport"></a>
O caminho absoluto para a porta serial Modbus física no dispositivo principal, como `/dev/ttyS2`.  
Para executar esse componente em um contêiner, você deve definir esse caminho como um dispositivo do sistema (em `containerParams.devices`) que o componente possa acessar. Esse componente é executado em um contêiner por padrão.  
Esse componente deve ter read/write acesso ao dispositivo.  
`ModbusBaudRate`  
(Opcional) Um valor de string que especifica a taxa de transmissão para comunicação serial com dispositivos Modbus TCP locais.  
Padrão: `9600`  
`ModbusByteSize`  
(Opcional) Um valor de string que especifica o tamanho de um byte na comunicação serial com dispositivos Modbus TCP locais. Escolha `5`, `6`, `7` ou `8` bits.  
Padrão: `8`  
`ModbusParity`  
(Opcional) O modo de paridade a ser usado para verificar a integridade dos dados na comunicação serial com dispositivos Modbus TCP locais.  
+ `E`: verificar a integridade dos dados com paridade par.
+ `O`: verificar a integridade dos dados com paridade ímpar.
+ `N`: não verificar a integridade dos dados.
Padrão: `N`  
`ModbusStopBits`  
(Opcional) Um valor de string que especifica o número de bits que indica o final de um byte na comunicação serial com dispositivos Modbus TCP locais.  
Padrão: `1`

`containerMode`  <a name="modbus-rtu-protocol-adapter-configuration-containermode"></a>
(Opcional) O modo de conteinerização desse componente. Escolha uma das seguintes opções:  
+ `GreengrassContainer`— O componente é executado em um ambiente de execução isolado dentro do AWS IoT Greengrass contêiner.

  Se você especificar essa opção, deverá especificar um dispositivo do sistema (no `containerParams.devices`) para dar ao contêiner acesso ao dispositivo Modbus.
+ `NoContainer`; o componente não é executado em um ambiente de runtime isolado.
Padrão: `GreengrassContainer`

`containerParams`  <a name="modbus-rtu-protocol-adapter-configuration-containerparams"></a>
<a name="connector-component-container-params-description"></a>(Opcional) Um objeto que contém os parâmetros de contêiner para esse componente. O componente usará esses parâmetros se você especificar `GreengrassContainer` para `containerMode`.  
Esse objeto contém as informações a seguir:    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(Opcional) A quantidade de memória (em quilobytes) que será alocada para o componente.  
O padrão é de 512 MB (525.312 KB).  
`devices`  
(Opcional) Um objeto que especifica os dispositivos do sistema que o componente pode acessar em um contêiner.  
Para executar esse componente em um contêiner, você deve especificar o dispositivo do sistema que você configura na variável de ambiente `ModbusLocalPort`.
Esse objeto contém as informações a seguir:    
`0`: este é um índice de matriz como uma string.  
Um objeto que contém as seguintes informações:    
`path`  
O caminho para o dispositivo do sistema no dispositivo principal. Ele deve ter o mesmo valor que você configura para `ModbusLocalPort`.  
`permission`  
(Opcional) A permissão para acessar o dispositivo do sistema a partir do contêiner. Esse valor deve ser`rw`, o que especifica que o componente tem read/write acesso ao dispositivo do sistema.  
Padrão: `rw`  
`addGroupOwner`  
(Opcional) Especifica se o grupo de sistema que executa o componente do deve ou não ser adicionado como proprietário do dispositivo do sistema.  
Padrão: `true`

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Opcional) Um objeto que contém os tópicos que o componente assina para receber mensagens. Você pode especificar cada tópico e se o componente se inscreve nos tópicos do MQTT AWS IoT Core ou nos tópicos locais publish/subscribe .  
Esse objeto contém as informações a seguir:    
`0`: este é um índice de matriz como uma string.  
Um objeto que contém as seguintes informações:    
`type`  
(Opcional) O tipo de publish/subscribe mensagem que esse componente usa para assinar mensagens. Escolha uma das seguintes opções:  
+ `PUB_SUB` – Assine mensagens locais de publicar/assinar. Se escolher essa opção, o tópico não poderá conter curingas MQTT. Para obter mais informações sobre como enviar mensagens do componente personalizado quando você especifica essa opção, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md).
+ `IOT_CORE`— Assine as mensagens do AWS IoT Core MQTT. Se você escolher essa opção, o tópico poderá conter curingas do MQTT. Para obter mais informações sobre como enviar mensagens de componentes personalizados quando você especifica essa opção, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).
Padrão: `PUB_SUB`  
`topic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `IotCore` para `type`, poderá usar curingas MQTT (`+` e `#`) neste tópico.

**Example Exemplo: atualização da mesclagem de configuração (modo de contêiner)**  <a name="modbus-rtu-protocol-adapter-configuration-example-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "GreengrassContainer",
  "containerParams": {
    "devices": {
      "0": {
        "path": "/dev/ttyS2",
        "permission": "rw",
        "addGroupOwner": true
      }
    }
  }
}
```

**Example Exemplo: atualização da mesclagem de configuração (sem modo de contêiner)**  <a name="modbus-rtu-protocol-adapter-configuration-example-no-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "NoContainer"
}
```

------
#### [ v2.0.x ]

`lambdaParams`  
Um objeto que contém os parâmetros para a função do Lambda desse componente. Esse objeto contém as informações a seguir:    
`EnvironmentVariables`  
Um objeto que contém os parâmetros da função do Lambda. Esse objeto contém as informações a seguir:    
`ModbusLocalPort`  <a name="modbus-rtu-protocol-adapter-configuration-modbuslocalport"></a>
O caminho absoluto para a porta serial Modbus física no dispositivo principal, como `/dev/ttyS2`.  
Para executar esse componente em um contêiner, você deve definir esse caminho como um dispositivo do sistema (em `containerParams.devices`) que o componente possa acessar. Esse componente é executado em um contêiner por padrão.  
Esse componente deve ter read/write acesso ao dispositivo.

`containerMode`  <a name="modbus-rtu-protocol-adapter-configuration-containermode"></a>
(Opcional) O modo de conteinerização desse componente. Escolha uma das seguintes opções:  
+ `GreengrassContainer`— O componente é executado em um ambiente de execução isolado dentro do AWS IoT Greengrass contêiner.

  Se você especificar essa opção, deverá especificar um dispositivo do sistema (no `containerParams.devices`) para dar ao contêiner acesso ao dispositivo Modbus.
+ `NoContainer`; o componente não é executado em um ambiente de runtime isolado.
Padrão: `GreengrassContainer`

`containerParams`  <a name="modbus-rtu-protocol-adapter-configuration-containerparams"></a>
<a name="connector-component-container-params-description"></a>(Opcional) Um objeto que contém os parâmetros de contêiner para esse componente. O componente usará esses parâmetros se você especificar `GreengrassContainer` para `containerMode`.  
Esse objeto contém as informações a seguir:    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(Opcional) A quantidade de memória (em quilobytes) que será alocada para o componente.  
O padrão é de 512 MB (525.312 KB).  
`devices`  
(Opcional) Um objeto que especifica os dispositivos do sistema que o componente pode acessar em um contêiner.  
Para executar esse componente em um contêiner, você deve especificar o dispositivo do sistema que você configura na variável de ambiente `ModbusLocalPort`.
Esse objeto contém as informações a seguir:    
`0`: este é um índice de matriz como uma string.  
Um objeto que contém as seguintes informações:    
`path`  
O caminho para o dispositivo do sistema no dispositivo principal. Ele deve ter o mesmo valor que você configura para `ModbusLocalPort`.  
`permission`  
(Opcional) A permissão para acessar o dispositivo do sistema a partir do contêiner. Esse valor deve ser`rw`, o que especifica que o componente tem read/write acesso ao dispositivo do sistema.  
Padrão: `rw`  
`addGroupOwner`  
(Opcional) Especifica se o grupo de sistema que executa o componente do deve ou não ser adicionado como proprietário do dispositivo do sistema.  
Padrão: `true`

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Opcional) Um objeto que contém os tópicos que o componente assina para receber mensagens. Você pode especificar cada tópico e se o componente se inscreve nos tópicos do MQTT AWS IoT Core ou nos tópicos locais publish/subscribe .  
Esse objeto contém as informações a seguir:    
`0`: este é um índice de matriz como uma string.  
Um objeto que contém as seguintes informações:    
`type`  
(Opcional) O tipo de publish/subscribe mensagem que esse componente usa para assinar mensagens. Escolha uma das seguintes opções:  
+ `PUB_SUB` – Assine mensagens locais de publicar/assinar. Se escolher essa opção, o tópico não poderá conter curingas MQTT. Para obter mais informações sobre como enviar mensagens do componente personalizado quando você especifica essa opção, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md).
+ `IOT_CORE`— Assine as mensagens do AWS IoT Core MQTT. Se você escolher essa opção, o tópico poderá conter curingas do MQTT. Para obter mais informações sobre como enviar mensagens de componentes personalizados quando você especifica essa opção, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).
Padrão: `PUB_SUB`  
`topic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `IotCore` para `type`, poderá usar curingas MQTT (`+` e `#`) neste tópico.

**Example Exemplo: atualização da mesclagem de configuração (modo de contêiner)**  <a name="modbus-rtu-protocol-adapter-configuration-example-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "GreengrassContainer",
  "containerParams": {
    "devices": {
      "0": {
        "path": "/dev/ttyS2",
        "permission": "rw",
        "addGroupOwner": true
      }
    }
  }
}
```

**Example Exemplo: atualização da mesclagem de configuração (sem modo de contêiner)**  <a name="modbus-rtu-protocol-adapter-configuration-example-no-container-mode"></a>

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "ModbusLocalPort": "/dev/ttyS2"
    }
  },
  "containerMode": "NoContainer"
}
```

------

## Dados de entrada
<a name="modbus-rtu-protocol-adapter-component-input-data"></a>

Esse componente aceita os parâmetros de solicitação Modbus RTU no tópico a seguir e envia a solicitação Modbus RTU para o dispositivo. <a name="connector-component-local-publish"></a>Por padrão, esse componente se inscreve em publish/subscribe mensagens locais. Para obter mais informações sobre como publicar mensagens nesse componente a partir de seus componentes personalizados, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md). 

**Tópico padrão (publicação/assinatura local):** `modbus/adapter/request`

<a name="connector-component-input-properties"></a>A mensagem aceita as propriedades a seguir. As mensagens de entrada devem estar no formato JSON.

`request`  
Os parâmetros para o envio da solicitação Modbus RTU.  
A forma da mensagem de solicitação depende do tipo de solicitação Modbus RTU que representa. As propriedades a seguir são necessárias para todas as solicitações.  
Tipo: o `object` que contém as seguintes informações:    
`operation`  
O nome da operação a ser executada. Por exemplo, especifique `ReadCoilsRequest` para ler bobinas em um dispositivo Modbus RTU. Para obter mais informações sobre as operações compatíveis, consulte [Respostas e solicitações Modbus RTU](#modbus-rtu-protocol-adapter-component-requests-responses).  
Tipo: `string`  
`device`  
O dispositivo de destino da solicitação.  
Esse valor deve ser um número inteiro entre `0` e `247`.  
Tipo: `integer`
Os outros parâmetros a ser incluídos na solicitação dependem da operação. Esse componente manipula a [verificação de redundância cíclica (CRC)](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) para verificar as solicitações de dados para você.  
Se sua solicitação incluir uma propriedade `address`, você deverá especificar seu valor como um número inteiro. Por exemplo, .`"address": 1`

`id`  <a name="connector-component-input-property-id"></a>
Um ID arbitrário para a solicitação. Use essa propriedade para mapear uma solicitação de entrada para uma resposta de saída. Quando você especifica essa propriedade, o componente define a propriedade `id` no objeto de resposta com esse valor.  
Tipo: `string`

**Example Exemplo de entrada: solicitação de bobinas de leitura**  

```
{
  "request": {
    "operation": "ReadCoilsRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "MyRequest"
}
```

## Dados de saída
<a name="modbus-rtu-protocol-adapter-component-output-data"></a>

 <a name="connector-component-output-data"></a>Por padrão, esse componente publica respostas como dados de saída no tópico do MQTT a seguir. Você deve especificar esse tópico como `subject` na configuração do [componente legado de roteador de assinatura](legacy-subscription-router-component.md). Para obter mais informações sobre como assinar mensagens nesse tópico em seus componentes personalizados, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md). 

**Tópico padrão (AWS IoT Core MQTT):** `modbus/adapter/response`

O formato da mensagem de resposta depende da operação da solicitação e do status da resposta. Para obter exemplos, consulte [Exemplos de solicitações e respostas](#modbus-rtu-protocol-adapter-component-examples).

Cada resposta inclui as seguintes propriedades:

`response`  
A resposta do dispositivo Modbus RTU.  
Tipo: o `object` que contém as seguintes informações:    
`status`  
O status da solicitação. O status pode ser um dos valores a seguir:  
+ `Success`: a solicitação era válida, o componente enviou a solicitação para a rede Modbus RTU, e a rede Modbus RTU retornou uma resposta.
+ `Exception`: a solicitação era válida, o componente enviou a solicitação para a rede Modbus RTU, e a rede Modbus RTU retornou uma exceção. Para obter mais informações, consulte [Status da resposta: Exceção](#modbus-rtu-protocol-adapter-component-response-exception).
+ `No Response`: a solicitação era inválida, e o componente capturou o erro antes que a solicitação fosse enviada por meio da rede Modbus RTU. Para obter mais informações, consulte [Status de resposta: Sem resposta](#modbus-rtu-protocol-adapter-component-response-noresponse).  
`operation`  
A operação solicitada pelo componente.  
`device`  
O dispositivo para o qual o componente enviou a solicitação.  
`payload`  
A resposta do dispositivo Modbus RTU. Se `status` for `No Response`, esse objeto conterá apenas uma propriedade `error` com a descrição do erro (por exemplo, `[Input/Output] No Response received from the remote unit`).

`id`  
O ID da solicitação, que você pode usar para identificar qual resposta corresponde a qual solicitação.

**nota**  
Uma resposta para uma operação de gravação é simplesmente um eco da solicitação. Embora as respostas de escrita não incluam informações significativas, é uma prática recomendada verificar o estado da resposta para ver se a solicitação foi bem-sucedida ou falhou.

**Example Exemplo de resultado: sucesso**  

```
{
  "response" : {
    "status" : "success",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 1,
      "bits": [1]
    }
  },
  "id" : "MyRequest"
}
```

**Example Exemplo de resultado: falha**  

```
{
  "response" : {
    "status" : "fail",
    "error_message": "Internal Error",
    "error": "Exception",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 129,
      "exception_code": 2
    }
  },
  "id" : "MyRequest"
}
```

Para obter mais exemplos, consulte [Exemplos de solicitações e respostas](#modbus-rtu-protocol-adapter-component-examples).

## Respostas e solicitações Modbus RTU
<a name="modbus-rtu-protocol-adapter-component-requests-responses"></a>

Esse conector aceita parâmetros de solicitação Modbus RTU como [dados de entrada](#modbus-rtu-protocol-adapter-component-input-data) e publica respostas como [dados de saída](#modbus-rtu-protocol-adapter-component-output-data).

As operações comuns a seguir têm suporte.


| Nome da operação na solicitação | Código da função em resposta | 
| --- | --- | 
| ReadCoilsRequest | 01 | 
| ReadDiscreteInputsRequest | 02 | 
| ReadHoldingRegistersRequest | 03 | 
| ReadInputRegistersRequest | 04 | 
| WriteSingleCoilRequest | 05 | 
| WriteSingleRegisterRequest | 06 | 
| WriteMultipleCoilsRequest | 15 | 
| WriteMultipleRegistersRequest | 16 | 
| MaskWriteRegisterRequest | 22 | 
| ReadWriteMultipleRegistersRequest | 23 | 

### Exemplos de solicitações e respostas
<a name="modbus-rtu-protocol-adapter-component-examples"></a>

Veja a seguir exemplos de solicitações e respostas para operações com suporte.

Bobinas de leitura  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "ReadCoilsRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```
**Exemplo de resposta:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 1,
      "bits": [1]
    }
  },
  "id" : "TestRequest"
}
```

Ler entradas discretas  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "ReadDiscreteInputsRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```
**Exemplo de resposta:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadDiscreteInputsRequest",
    "payload": {
      "function_code": 2,
      "bits": [1]
    }
  },
  "id" : "TestRequest"
}
```

Registros de leitura em espera  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "ReadHoldingRegistersRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```
**Exemplo de resposta:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadHoldingRegistersRequest",
    "payload": {
      "function_code": 3,
      "registers": [20,30]
    }
  },
  "id" : "TestRequest"
}
```

Registros de entrada de leitura  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "ReadInputRegistersRequest",
    "device": 1,
    "address": 1,
    "count": 1
  },
  "id": "TestRequest"
}
```

Bobina de gravação única  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "WriteSingleCoilRequest",
    "device": 1,
    "address": 1,
    "value": 1
  },
  "id": "TestRequest"
}
```
**Exemplo de resposta:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "WriteSingleCoilRequest",
    "payload": {
      "function_code": 5,
      "address": 1,
      "value": true
    }
  },
  "id" : "TestRequest"
}
```

Registro de gravação único  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "WriteSingleRegisterRequest",
    "device": 1,
    "address": 1,
    "value": 1
  },
  "id": "TestRequest"
}
```

Várias bobinas de gravação  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "WriteMultipleCoilsRequest",
    "device": 1,
    "address": 1,
    "values": [1,0,0,1]
  },
  "id": "TestRequest"
}
```
**Exemplo de resposta:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "WriteMultipleCoilsRequest",
    "payload": {
      "function_code": 15,
      "address": 1,
      "count": 4
    }
  },
  "id" : "TestRequest"
}
```

Vários registros de gravação  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "WriteMultipleRegistersRequest",
    "device": 1,
    "address": 1,
    "values": [20,30,10]
  },
  "id": "TestRequest"
}
```
**Exemplo de resposta:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "WriteMultipleRegistersRequest",
    "payload": {
      "function_code": 23,
      "address": 1,
      "count": 3
    }
  },
  "id" : "TestRequest"
}
```

Registro de gravação Mask  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "MaskWriteRegisterRequest",
    "device": 1,
    "address": 1,
    "and_mask": 175,
    "or_mask": 1
  },
  "id": "TestRequest"
}
```
**Exemplo de resposta:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "MaskWriteRegisterRequest",
    "payload": {
      "function_code": 22,
      "and_mask": 0,
      "or_mask": 8
    }
  },
  "id" : "TestRequest"
}
```

Vários registros de leitura/gravação  
**Exemplo de solicitação:**  

```
{
  "request": {
    "operation": "ReadWriteMultipleRegistersRequest",
    "device": 1,
    "read_address": 1,
    "read_count": 2,
    "write_address": 3,
    "write_registers": [20,30,40]
  },
  "id": "TestRequest"
}
```
**Exemplo de resposta:**  

```
{
  "response": {
    "status": "success",
    "device": 1,
    "operation": "ReadWriteMultipleRegistersRequest",
    "payload": {
      "function_code": 23,
      "registers": [10,20,10,20]
    }
  },
  "id" : "TestRequest"
}
```
A resposta inclui os registros que o componente lê.

### Status da resposta: Exceção
<a name="modbus-rtu-protocol-adapter-component-response-exception"></a>

As exceções pode ocorrer quando o formato da solicitação é válido, mas a solicitação não é concluída com êxito. Nesse caso, a resposta contém as seguintes informações:
+ A `status` é definida como `Exception`.
+ O código da função `function_code` é igual ao código da função da solicitação \$1 128.
+ O `exception_code` contém o código da exceção. Para obter mais informações, consulte os códigos de exceção Modbus.

**Exemplo:**

```
{
  "response": {
    "status": "fail",
    "error_message": "Internal Error",
    "error": "Exception",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "function_code": 129,
      "exception_code": 2
    }
  },
  "id": "TestRequest"
}
```

### Status de resposta: Sem resposta
<a name="modbus-rtu-protocol-adapter-component-response-noresponse"></a>

Esse conector executa verificações de validação na solicitação Modbus. Por exemplo, ele verifica se há formatos inválidos e campos ausentes. Se a validação falhar, o conector não enviará a solicitação. Em vez disso, ele retornará uma resposta com as seguintes informações:
+ A `status` é definida como `No Response`.
+ O `error` contém o motivo do erro.
+ O `error_message` contém a mensagem do erro.

**Exemplos:**

```
{
  "response": {
    "status": "fail",
    "error_message": "Invalid address field. Expected <type 'int'>, got <type 'str'>",
    "error": "No Response",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "error": "Invalid address field. Expected Expected <type 'int'>, got <type 'str'>"
    }
  },
  "id": "TestRequest"
}
```

Se a solicitação tem como destino um dispositivo inexistente, ou se a rede Modbus RTU não está funcionando, você pode obter um `ModbusIOException`, que usa o formato Sem resposta.

```
{
  "response": {
    "status": "fail",
    "error_message": "[Input/Output] No Response received from the remote unit",
    "error": "No Response",
    "device": 1,
    "operation": "ReadCoilsRequest",
    "payload": {
      "error": "[Input/Output] No Response received from the remote unit"
    }
  },
  "id": "TestRequest"
}
```

## Arquivo de log local
<a name="modbus-rtu-protocol-adapter-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

```
/greengrass/v2/logs/aws.greengrass.Modbus.log
```

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. `/greengrass/v2`Substitua pelo caminho para a pasta AWS IoT Greengrass raiz.

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.Modbus.log
  ```

## Licenças
<a name="modbus-rtu-protocol-adapter-component-licenses"></a>

Esse componente inclui o seguinte licenciamento/software de terceiros:
+ Licença [pymodbus](https://github.com/riptideio/pymodbus/blob/master/README.rst)/BSD
+ Licença [pyserial](https://github.com/pyserial/pyserial)/BSD

<a name="component-core-software-license"></a>Esse componente é liberado de acordo com o [Contrato de licença de software Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Changelog
<a name="modbus-rtu-protocol-adapter-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.11  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.1.10  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass. | 
|  2.1.8  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.7  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.1.6  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.1.5  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html) | 
|  2.1.4  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.1.3  | Versão atualizada para o núcleo do Greengrass 2.8.0. | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/modbus-rtu-protocol-adapter-component.html)  | 
|  2.0.8  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.0.7  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.6  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.5  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  2.0.4  |  Versão atualizada para o Greengrass nucleus versão 2.1.0.  | 
|  2.0.3  |  Versão inicial.  | 

# Ponte MQTT
<a name="mqtt-bridge-component"></a>

O componente de ponte MQTT (`aws.greengrass.clientdevices.mqtt.Bridge`) retransmite mensagens MQTT entre dispositivos cliente, publicação/assinatura local do Greengrass e. AWS IoT Core Você pode usar esse componente para agir em mensagens MQTT de dispositivos cliente em componentes personalizados e sincronizar dispositivos cliente com a Nuvem AWS.

**nota**  <a name="client-device-component-context"></a>
Os dispositivos clientes são dispositivos IoT locais que se conectam a um dispositivo central do Greengrass para enviar mensagens MQTT e dados para processamento. Para obter mais informações, consulte [Interagir com dispositivos de IoT locais](interact-with-local-iot-devices.md).

Você pode usar esse componente para retransmitir mensagens entre os seguintes agentes de mensagens:
+ MQTT local: o agente MQTT local manipula mensagens entre dispositivos cliente e um dispositivo principal.
+ Local publish/subscribe — O agente de mensagens local do Greengrass manipula mensagens entre componentes em um dispositivo principal. Para obter mais informações sobre como interagir com essas mensagens nos componentes do Greengrass, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md).
+ AWS IoT Core — O corretor AWS IoT Core MQTT lida com mensagens entre dispositivos Nuvem AWS e destinos de IoT. Para obter mais informações sobre como interagir com essas mensagens nos componentes do Greengrass, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).

**Topics**
+ [Versões](#mqtt-bridge-component-versions)
+ [Tipo](#mqtt-bridge-component-type)
+ [Sistema operacional](#mqtt-bridge-component-os-support)
+ [Requisitos](#mqtt-bridge-component-requirements)
+ [Dependências](#mqtt-bridge-component-dependencies)
+ [Configuração](#mqtt-bridge-component-configuration)
+ [Arquivo de log local](#mqtt-bridge-component-log-file)
+ [Changelog](#mqtt-bridge-component-changelog)

## Versões
<a name="mqtt-bridge-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="mqtt-bridge-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="mqtt-bridge-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="mqtt-bridge-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ Se você configurar o componente intermediário MQTT do dispositivo principal para usar uma porta diferente da porta padrão 8883, deverá usar a ponte MQTT v2.1.0 ou posterior. Configure-o para se conectar na porta em que o agente opera.
+ O componente de ponte MQTT pode ser executado em uma VPC.

## Dependências
<a name="mqtt-bridge-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#mqtt-bridge-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.3.2 ]

A tabela a seguir lista as dependências da versão 2.3.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.6.0 | Rígido | 

------
#### [ 2.3.0 and 2.3.1 ]

A seguinte tabela lista as dependências das versões 2.3.0 e 2.3.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.5.0 | Rígido | 

------
#### [ 2.2.5 and 2.2.6 ]

A seguinte tabela lista as dependências das versões 2.2.5 e 2.2.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.5.0 | Rígido | 

------
#### [ 2.2.3 and 2.2.4 ]

A tabela a seguir lista as dependências das versões 2.2.3 e 2.2.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.4.0 | Rígido | 

------
#### [ 2.2.0 – 2.2.2 ]

A tabela a seguir lista as dependências das versões 2.2.0 e 2.2.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.3.0 | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.0.0 <2.2.0 | Rígido | 

------
#### [ 2.0.0 to 2.1.0 ]

A tabela a seguir lista as dependências das versões 2.0.0 a 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.0.0 <2.1.0 | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="mqtt-bridge-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ 2.3.0 – 2.3.2 ]

`mqttTopicMapping`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>Os mapeamentos do tópico que você deseja interligar. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.  
Esse objeto contém as informações a seguir:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>O nome desse mapeamento de tópicos. *topicMappingNameKey*Substitua por um nome que ajude a identificar esse mapeamento de tópicos.  
Esse objeto contém as informações a seguir:    
`topic`  
O tópico ou filtro de tópicos para fazer a ponte entre os agentes de origem e de destino.  
Você pode usar os curingas de tópico `+` e `#` do MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Para usar os curingas de tópico do MQTT com o agente de origem `Pubsub`, você deve usar a versão v2.6.0 ou posterior do [componente de núcleo do Greengrass](greengrass-nucleus-component.md).  
`targetTopicPrefix`  
O prefixo a ser adicionado ao tópico de destino quando esse componente retransmitir a mensagem.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
O agente de mensagens de origem. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
O agente de mensagens de destino. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.

mqtt5 RouteOptions  
(Opcional) Fornece opções para configurar mapeamentos de tópicos a fim de conectar mensagens do tópico de origem ao tópico de destino.  
Esse objeto contém as informações a seguir:    
*mqtt5RouteOptionsNameKey*  
O nome das opções de rotas para um mapeamento de tópicos. *mqtt5RouteOptionsNameKey*Substitua pela correspondência *topicMappingNameKey* definida no `mqttTopicMapping` campo.  
Esse objeto contém as informações a seguir:    
noLocal  
(Opcional) Com essa opção habilitada, a ponte não encaminha mensagens sobre um tópico publicado pela própria ponte. Use isso para evitar loops, da seguinte forma:  

```
{
    "mqtt5RouteOptions": {
        "toIoTCore": {
            "noLocal": true
        }
    },
    "mqttTopicMapping": {
        "toIoTCore": {
            "topic": "device",
            "source": "LocalMqtt",
            "target": "IotCore"
        },
        "toLocal": {
            "topic": "device",
            "source": "IotCore",
            "target": "LocalMqtt"
        }
    }
}
```
`noLocal` é compatível apenas com rotas em que `source` é `LocalMqtt`.  
Padrão: False  
retainAsPublished  
(Opcional) Quando habilitadas, as mensagens encaminhadas pela ponte têm o mesmo sinalizador `retain` que as mensagens publicadas no agente para essa rota.  
`retainAsPublished` é compatível apenas com rotas em que `source` é `LocalMqtt`.  
Padrão: False

mqtt  
(Opcional) Configurações do protocolo MQTT para comunicação com o agente local.    
version  
(Opcional) A versão do protocolo MQTT usada pela ponte para se comunicar com o agente local. Deve ser igual à versão do MQTT selecionada na configuração do núcleo.   
Escolha uma das seguintes opções:   
+ `mqtt3`
+ `mqtt5`
É necessário implantar um agente MQTT quando o campo `source` ou `target` do objeto `mqttTopicMapping` estiver definido como `LocalMqtt`. Se você escolher a opção`mqtt5`, deverá usar o [Agente MQTT 5 (EMQX)](mqtt-broker-emqx-component.md).  
Padrão: `mqtt3`  
ackTimeoutSeconds  
(Opcional) Intervalo para aguardar os pacotes PUBACK, SUBACK ou UNSUBACK antes de ocorrer uma falha na operação.  
Padrão: 60  
connAckTimeoutSenhora  
(Opcional) Intervalo para aguardar um pacote CONNACK antes de encerrar a conexão.  
Padrão: 20000 (20 segundos)  
pingTimeoutMs  
(Opcional) A quantidade de tempo em milissegundos que o cliente espera para receber uma mensagem PINGACK do agente local. Se a espera exceder o tempo limite, a ponte fecha e reabre a conexão MQTT. Esse valor deve ser menor que `keepAliveTimeoutSeconds`.  
Padrão: 30000 (30 segundos)  
keepAliveTimeoutSegundos  
(Opcional) A quantidade de tempo em segundos entre cada mensagem PING que a ponte envia para manter a conexão MQTT ativa. Este valor deve ser maior que `pingTimeoutMs`.  
Padrão: 60  
maxReconnectDelaySenhora  
(Opcional) A quantidade máxima de tempo em segundos para o MQTT reconectar.  
Padrão: 30000 (30 segundos)  
minReconnectDelaySenhora  
(Opcional) A quantidade mínima de tempo em segundos para o MQTT reconectar.  
receiveMaximum  
(Opcional) O número máximo de pacotes QoS1 não reconhecidos que a ponte pode enviar.  
Padrão: 100  
maximumPacketSize  
O número máximo de bytes que o cliente aceitará para um pacote MQTT.  
Padrão: nulo (sem limite)  
sessionExpiryInterval  
(Opcional) A quantidade de tempo em segundos que você pode solicitar para que uma sessão dure entre a ponte e o agente local.  
Padrão: 4294967295 (a sessão nunca expira)

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Opcional) O URI do agente MQTT local. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente do padrão 8883. Use o seguinte formato e *port* substitua pela porta em que o corretor MQTT opera:`ssl://localhost:port`.  
Padrão: `ssl://localhost:8883`

startupTimeoutSeconds  
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para `BROKEN` se ele exceder esse tempo limite.  
Padrão: `120`

**Example Exemplo: atualização da mesclagem de configuração**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
O exemplo de arquivo de configuração a seguir especifica:  
+ Retransmita mensagens de dispositivos clientes para AWS IoT Core tópicos que correspondam ao filtro de `clients/+/hello/world` tópicos.
+ Retransmita mensagens de dispositivos cliente para locais publish/subscribe sobre tópicos que correspondam ao filtro de tópicos e adicione o `events/input/` prefixo ao `clients/+/detections` tópico de destino. O tópico de destino resultante corresponde ao filtro de tópicos `events/input/clients/+/detections`.
+ Retransmita mensagens de dispositivos cliente para AWS IoT Core tópicos que correspondam ao filtro de tópicos e adicione o `$aws/rules/StatusUpdateRule/` prefixo ao `clients/+/status` tópico de destino. Este exemplo retransmite essas mensagens diretamente para uma [regra do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) chamada `StatusUpdateRule` para reduzir custos usando o [Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html).

```
{
  "mqttTopicMapping": {
    "ClientDeviceHelloWorld": {
      "topic": "clients/+/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDeviceEvents": {
      "topic": "clients/+/detections",
      "targetTopicPrefix": "events/input/",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ClientDeviceCloudStatusUpdate": {
      "topic": "clients/+/status",
      "targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

**Example Exemplo: configurar o MQTT 5**  
O exemplo de configuração atualiza o seguinte:  
+ Permite que a ponte use o protocolo MQTT 5 com o agente local.
+ Configura a configuração de retenção de MQTT como publicada para o mapeamento de tópicos `ClientDeviceHelloWorld`.

```
{
  "mqttTopicMapping": {
    "ClientDeviceHelloWorld": {
      "topic": "clients/+/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  },
  "mqtt5RouteOptions": {
    "ClientDeviceHelloWorld": {
      "retainAsPublished": true
    }
  },
  "mqtt": {
    "version": "mqtt5"
  }
}
```

------
#### [ 2.2.6 ]

`mqttTopicMapping`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>Os mapeamentos do tópico que você deseja interligar. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.  
Esse objeto contém as informações a seguir:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>O nome desse mapeamento de tópicos. *topicMappingNameKey*Substitua por um nome que ajude a identificar esse mapeamento de tópicos.  
Esse objeto contém as informações a seguir:    
`topic`  
O tópico ou filtro de tópicos para fazer a ponte entre os agentes de origem e de destino.  
Você pode usar os curingas de tópico `+` e `#` do MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Para usar os curingas de tópico do MQTT com o agente de origem `Pubsub`, você deve usar a versão v2.6.0 ou posterior do [componente de núcleo do Greengrass](greengrass-nucleus-component.md).  
`targetTopicPrefix`  
O prefixo a ser adicionado ao tópico de destino quando esse componente retransmitir a mensagem.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
O agente de mensagens de origem. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
O agente de mensagens de destino. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Opcional) O URI do agente MQTT local. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente do padrão 8883. Use o seguinte formato e *port* substitua pela porta em que o corretor MQTT opera:`ssl://localhost:port`.  
Padrão: `ssl://localhost:8883`

startupTimeoutSeconds  
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para `BROKEN` se ele exceder esse tempo limite.  
Padrão: `120`

**Example Exemplo: atualização da mesclagem de configuração**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
O exemplo de arquivo de configuração a seguir especifica:  
+ Retransmita mensagens de dispositivos clientes para AWS IoT Core tópicos que correspondam ao filtro de `clients/+/hello/world` tópicos.
+ Retransmita mensagens de dispositivos cliente para locais publish/subscribe sobre tópicos que correspondam ao filtro de tópicos e adicione o `events/input/` prefixo ao `clients/+/detections` tópico de destino. O tópico de destino resultante corresponde ao filtro de tópicos `events/input/clients/+/detections`.
+ Retransmita mensagens de dispositivos cliente para AWS IoT Core tópicos que correspondam ao filtro de tópicos e adicione o `$aws/rules/StatusUpdateRule/` prefixo ao `clients/+/status` tópico de destino. Este exemplo retransmite essas mensagens diretamente para uma [regra do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) chamada `StatusUpdateRule` para reduzir custos usando o [Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html).

```
{
  "mqttTopicMapping": {
    "ClientDeviceHelloWorld": {
      "topic": "clients/+/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDeviceEvents": {
      "topic": "clients/+/detections",
      "targetTopicPrefix": "events/input/",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ClientDeviceCloudStatusUpdate": {
      "topic": "clients/+/status",
      "targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

------
#### [ 2.2.0 - 2.2.5 ]

`mqttTopicMapping`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>Os mapeamentos do tópico que você deseja interligar. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.  
Esse objeto contém as informações a seguir:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>O nome desse mapeamento de tópicos. *topicMappingNameKey*Substitua por um nome que ajude a identificar esse mapeamento de tópicos.  
Esse objeto contém as informações a seguir:    
`topic`  
O tópico ou filtro de tópicos para fazer a ponte entre os agentes de origem e de destino.  
Você pode usar os curingas de tópico `+` e `#` do MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.  
Para usar os curingas de tópico do MQTT com o agente de origem `Pubsub`, você deve usar a versão v2.6.0 ou posterior do [componente de núcleo do Greengrass](greengrass-nucleus-component.md).  
`targetTopicPrefix`  
O prefixo a ser adicionado ao tópico de destino quando esse componente retransmitir a mensagem.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
O agente de mensagens de origem. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
O agente de mensagens de destino. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Opcional) O URI do agente MQTT local. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente do padrão 8883. Use o seguinte formato e *port* substitua pela porta em que o corretor MQTT opera:`ssl://localhost:port`.  
Padrão: `ssl://localhost:8883`

**Example Exemplo: atualização da mesclagem de configuração**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
O exemplo de arquivo de configuração a seguir especifica:  
+ Retransmita mensagens de dispositivos clientes para AWS IoT Core tópicos que correspondam ao filtro de `clients/+/hello/world` tópicos.
+ Retransmita mensagens de dispositivos cliente para locais publish/subscribe sobre tópicos que correspondam ao filtro de tópicos e adicione o `events/input/` prefixo ao `clients/+/detections` tópico de destino. O tópico de destino resultante corresponde ao filtro de tópicos `events/input/clients/+/detections`.
+ Retransmita mensagens de dispositivos cliente para AWS IoT Core tópicos que correspondam ao filtro de tópicos e adicione o `$aws/rules/StatusUpdateRule/` prefixo ao `clients/+/status` tópico de destino. Este exemplo retransmite essas mensagens diretamente para uma [regra do AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) chamada `StatusUpdateRule` para reduzir custos usando o [Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html).

```
{
  "mqttTopicMapping": {
    "ClientDeviceHelloWorld": {
      "topic": "clients/+/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDeviceEvents": {
      "topic": "clients/+/detections",
      "targetTopicPrefix": "events/input/",
      "source": "LocalMqtt",
      "target": "Pubsub"
    },
    "ClientDeviceCloudStatusUpdate": {
      "topic": "clients/+/status",
      "targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

------
#### [ 2.1.x ]

`mqttTopicMapping`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping"></a>
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>Os mapeamentos do tópico que você deseja interligar. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.  
Esse objeto contém as informações a seguir:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>O nome desse mapeamento de tópicos. *topicMappingNameKey*Substitua por um nome que ajude a identificar esse mapeamento de tópicos.  
Esse objeto contém as informações a seguir:    
`topic`  
O tópico ou filtro de tópicos para fazer a ponte entre os agentes de origem e de destino.  
Se você especificar o agente de origem `LocalMqtt` ou `IotCore`, poderá usar os curingas de tópico `+` e `#` do MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
O agente de mensagens de origem. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
O agente de mensagens de destino. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Opcional) O URI do agente MQTT local. Você deve especificar esse parâmetro se configurar o agente MQTT para usar uma porta diferente do padrão 8883. Use o seguinte formato e *port* substitua pela porta em que o corretor MQTT opera:`ssl://localhost:port`.  
Padrão: `ssl://localhost:8883`

**Example Exemplo: atualização da mesclagem de configuração**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
O exemplo de atualização de configuração a seguir especifica a retransmissão de mensagens de dispositivos cliente para AWS IoT Core tópicos no `clients/MyClientDevice1/hello/world` e. `clients/MyClientDevice2/hello/world`  

```
{
  "mqttTopicMapping": {
    "ClientDevice1HelloWorld": {
      "topic": "clients/MyClientDevice1/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDevice2HelloWorld": {
      "topic": "clients/MyClientDevice2/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

------
#### [ 2.0.x ]

`mqttTopicMapping`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping"></a>
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>Os mapeamentos do tópico que você deseja interligar. Esse componente assina mensagens no tópico de origem e publica as mensagens recebidas no tópico de destino. Cada mapeamento de tópicos define o tópico, o tipo de origem e o tipo de destino.  
Esse objeto contém as informações a seguir:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>O nome desse mapeamento de tópicos. *topicMappingNameKey*Substitua por um nome que ajude a identificar esse mapeamento de tópicos.  
Esse objeto contém as informações a seguir:    
`topic`  
O tópico ou filtro de tópicos para fazer a ponte entre os agentes de origem e de destino.  
Se você especificar o agente de origem `LocalMqtt` ou `IotCore`, poderá usar os curingas de tópico `+` e `#` do MQTT para retransmitir mensagens em todos os tópicos que correspondam a um filtro de tópico. Para obter mais informações, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
O agente de mensagens de origem. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
O agente de mensagens de destino. Escolha uma das seguintes opções:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: o agente MQTT local em que os dispositivos cliente se comunicam.
+ `Pubsub`— O agente de publish/subscribe mensagens local do Greengrass.
+ `IotCore`— O agente de mensagens AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
A ponte MQTT usa QoS 1 para publicar e assinar AWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT em dispositivos principais, consulte [Definir os tempos limite do MQTT e as configurações de cache](configure-greengrass-core-v2.md#configure-mqtt).
`source` e `target` devem ser diferentes.

**Example Exemplo: atualização da mesclagem de configuração**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
O exemplo de atualização de configuração a seguir especifica a retransmissão de mensagens de dispositivos cliente para AWS IoT Core tópicos no `clients/MyClientDevice1/hello/world` e. `clients/MyClientDevice2/hello/world`  

```
{
  "mqttTopicMapping": {
    "ClientDevice1HelloWorld": {
      "topic": "clients/MyClientDevice1/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    },
    "ClientDevice2HelloWorld": {
      "topic": "clients/MyClientDevice2/hello/world",
      "source": "LocalMqtt",
      "target": "IotCore"
    }
  }
}
```

------

## Arquivo de log local
<a name="mqtt-bridge-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="mqtt-bridge-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.3.2  |  Versão atualizada para [autenticação de dispositivo cliente](client-device-auth-component.md) versão 2.5.0.  | 
| 2.3.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
| 2.3.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.6  |  <a name="changelog-mqtt-bridge-2.2.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.5  |  Versão atualizada para [autenticação de dispositivo cliente](client-device-auth-component.md) versão 2.4.0.  | 
|  2.2.4  |  Versão atualizada para [autenticação de dispositivo cliente](client-device-auth-component.md) do Greengrass versão 2.3.0.  | 
|  2.2.3  |  Esta versão contém correções de bugs e melhorias.  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.0  |  <a name="changelog-mqtt-bridge-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.0.1  |  Esta versão inclui correções de erros e melhorias.  | 
|  2.0.0  |  Versão inicial.  | 

# Agente MQTT 3.1.1 (Moquette)
<a name="mqtt-broker-moquette-component"></a>

O componente de agente Moquette MQTT (`aws.greengrass.clientdevices.mqtt.Moquette`) manipula mensagens MQTT entre dispositivos cliente e um dispositivo principal do Greengrass. Esse componente fornece uma versão modificada do agente [Moquette MQTT](https://github.com/moquette-io/moquette). Implante esse agente MQTT para executar um agente MQTT leve. Para obter mais informações sobre como escolher um agente MQTT, consulte [Escolher um agente MQTT](choose-local-mqtt-broker.md).

Este agente implementa o protocolo MQTT 3.1.1. Inclui suporte para QoS 0, QoS 1, mensagens retidas de QoS 2, mensagens de última vontade e sessões persistentes.

**nota**  <a name="client-device-component-context"></a>
Os dispositivos clientes são dispositivos IoT locais que se conectam a um dispositivo central do Greengrass para enviar mensagens MQTT e dados para processamento. Para obter mais informações, consulte [Interagir com dispositivos de IoT locais](interact-with-local-iot-devices.md).

**Topics**
+ [Versões](#mqtt-broker-moquette-component-versions)
+ [Tipo](#mqtt-broker-moquette-component-type)
+ [Sistema operacional](#mqtt-broker-moquette-component-os-support)
+ [Requisitos](#mqtt-broker-moquette-component-requirements)
+ [Dependências](#mqtt-broker-moquette-component-dependencies)
+ [Configuração](#mqtt-broker-moquette-component-configuration)
+ [Arquivo de log local](#mqtt-broker-moquette-component-log-file)
+ [Changelog](#mqtt-broker-moquette-component-changelog)

## Versões
<a name="mqtt-broker-moquette-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="mqtt-broker-moquette-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="mqtt-broker-moquette-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="mqtt-broker-moquette-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ O dispositivo principal deve ser capaz de aceitar conexões na porta em que o agente MQTT opera. Esse componente executa o agente MQTT na porta 8883 por padrão. É possível especificar uma porta diferente ao configurar esse componente.

  <a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>Se você especificar uma porta diferente e usar o [componente de ponte MQTT](mqtt-bridge-component.md) para retransmitir mensagens MQTT para outros agentes, deverá usar a ponte MQTT v2.1.0 ou posterior. Configure-o para usar a porta em que o agente MQTT opera.

  <a name="mqtt-broker-configuration-ip-detector-requirement"></a>Se você especificar uma porta diferente e usar o [componente detector de IP](ip-detector-component.md) para gerenciar os endpoints do agente MQTT, deverá usar o detector de IP v2.1.0 ou posterior. Configure-o para relatar a porta em que o agente MQTT opera.
+ O componente de agente Moquette MQTT tem suporte para ser executado em uma VPC.

## Dependências
<a name="mqtt-broker-moquette-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#mqtt-broker-moquette-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.3.7 ]

A tabela a seguir lista as dependências da versão 2.3.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.6.0 | Rígido | 

------
#### [ 2.3.2 – 2.3.6 ]

A tabela a seguir lista as dependências das versões 2.3.2 a 2.3.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.5.0 | Rígido | 

------
#### [ 2.3.0 and 2.3.1 ]

A tabela a seguir lista as dependências das versões 2.3.0 e 2.3.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.4.0 | Rígido | 

------
#### [ 2.2.0 ]

A tabela a seguir lista as dependências da versão 2.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.3.0 | Rígido | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.0.0 <2.2.0 | Rígido | 

------
#### [ 2.0.0 - 2.0.2 ]

A tabela a seguir lista as dependências das versões 2.0.0 a 2.0.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.0.0 <2.1.0 | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="mqtt-broker-moquette-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`moquette`  
(Opcional) A configuração do [agente Moquette MQTT](https://github.com/moquette-io/moquette) a ser usada. Você pode configurar um subconjunto das opções de configuração do Moqeutte neste componente. Para obter mais informações, consulte os comentários embutidos no arquivo de configuração do [Moquette](https://github.com/moquette-io/moquette/blob/main/distribution/src/main/resources/moquette.conf).  
Esse objeto contém as informações a seguir:    
`ssl_port`  
(Opcional) A porta em que o agente MQTT opera.  
<a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>Se você especificar uma porta diferente e usar o [componente de ponte MQTT](mqtt-bridge-component.md) para retransmitir mensagens MQTT para outros agentes, deverá usar a ponte MQTT v2.1.0 ou posterior. Configure-o para usar a porta em que o agente MQTT opera.  
<a name="mqtt-broker-configuration-ip-detector-requirement"></a>Se você especificar uma porta diferente e usar o [componente detector de IP](ip-detector-component.md) para gerenciar os endpoints do agente MQTT, deverá usar o detector de IP v2.1.0 ou posterior. Configure-o para relatar a porta em que o agente MQTT opera.
Padrão: `8883`  
`host`  
(Opcional) A interface na qual o agente MQTT se vincula. Por exemplo, você pode alterar esse parâmetro para que o agente MQTT se vincule somente a uma rede local específica.  
Padrão: `0.0.0.0` (vincula a todas as interfaces de rede)

startupTimeoutSeconds  
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para `BROKEN` se ele exceder esse tempo limite.  
Padrão: `120`

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica a operação do agente MQTT na porta 443.  

```
{
  "moquette": {
    "ssl_port": "443"
  }
}
```

## Arquivo de log local
<a name="mqtt-broker-moquette-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="mqtt-broker-moquette-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.3.7  |  Versão atualizada para [autenticação de dispositivo cliente](client-device-auth-component.md) versão 2.5.0.  | 
|  2.3.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.3  |  <a name="changelog-mqtt-broker-moquette-2.3.3"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.2  |  Versão atualizada para [autenticação de dispositivo cliente](client-device-auth-component.md) versão 2.4.0.  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.3.0  |  Adiciona suporte para cadeias de certificados.  | 
|  2.2.0  |  Versão atualizada para a versão 2.2.0 da [autenticação do dispositivo cliente](client-device-auth-component.md).  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-moquette-component.html)  | 
|  2.0.1  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.0  |  Versão inicial.  | 

# Agente MQTT 5 (EMQX)
<a name="mqtt-broker-emqx-component"></a>

O componente agente MQTT EMQX (`aws.greengrass.clientdevices.mqtt.EMQX`) processa mensagens MQTT entre dispositivos cliente e um dispositivo principal do Greengrass. Esse componente fornece uma versão modificada do [agente MQTT 5.0 EMQX](https://www.emqx.com/en/mqtt/mqtt5). Implante esse agente MQTT para usar os recursos do MQTT 5 na comunicação entre dispositivos cliente e um dispositivo principal. Para obter mais informações sobre como escolher um agente MQTT, consulte [Escolher um agente MQTT](choose-local-mqtt-broker.md).

Esse agente implementa o protocolo MQTT 5.0. Ele inclui suporte para intervalos de expiração de sessões e mensagens, propriedades do usuário, assinaturas compartilhadas, aliases de tópicos e muito mais. O MQTT 5 é compatível com versões anteriores do MQTT 3.1.1, portanto, se você executar o [agente Moquette MQTT 3.1.1](mqtt-broker-moquette-component.md), poderá substituí-lo pelo agente MQTT 5 EMQX, e os dispositivos clientes poderão continuar se conectando e operando normalmente.

<a name="note-local-mqtt-broker-mqtt-5-features"></a>

**nota**  <a name="client-device-component-context"></a>
Os dispositivos clientes são dispositivos IoT locais que se conectam a um dispositivo central do Greengrass para enviar mensagens MQTT e dados para processamento. Para obter mais informações, consulte [Interagir com dispositivos de IoT locais](interact-with-local-iot-devices.md).

**Topics**
+ [Versões](#mqtt-broker-emqx-component-versions)
+ [Tipo](#mqtt-broker-emqx-component-type)
+ [Sistema operacional](#mqtt-broker-emqx-component-os-support)
+ [Requisitos](#mqtt-broker-emqx-component-requirements)
+ [Dependências](#mqtt-broker-emqx-component-dependencies)
+ [Configuração](#mqtt-broker-emqx-component-configuration)
+ [Arquivo de log local](#mqtt-broker-emqx-component-log-file)
+ [Licenças](#mqtt-broker-emqx-component-licenses)
+ [Changelog](#mqtt-broker-emqx-component-changelog)

## Versões
<a name="mqtt-broker-emqx-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.0.x
+ 1.2.x
+ 1.1.x
+ 1.0.x

## Tipo
<a name="mqtt-broker-emqx-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="mqtt-broker-emqx-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="mqtt-broker-emqx-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ O dispositivo principal deve ser capaz de aceitar conexões na porta em que o agente MQTT opera. Esse componente executa o agente MQTT na porta 8883 por padrão. É possível especificar uma porta diferente ao configurar esse componente.

  <a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>Se você especificar uma porta diferente e usar o [componente de ponte MQTT](mqtt-bridge-component.md) para retransmitir mensagens MQTT para outros agentes, deverá usar a ponte MQTT v2.1.0 ou posterior. Configure-o para usar a porta em que o agente MQTT opera.

  <a name="mqtt-broker-configuration-ip-detector-requirement"></a>Se você especificar uma porta diferente e usar o [componente detector de IP](ip-detector-component.md) para gerenciar os endpoints do agente MQTT, deverá usar o detector de IP v2.1.0 ou posterior. Configure-o para relatar a porta em que o agente MQTT opera.
+ Nos dispositivos principais do Linux, o Docker é instalado e configurado no dispositivo principal:
  + <a name="docker-engine-requirement"></a>[Docker Engine](https://docs.docker.com/engine/) 1.9.1 ou versão posterior instalado no dispositivo principal do Greengrass. A versão 20.10 é a versão mais recente verificada para funcionar com o software AWS IoT Greengrass Core. É preciso instalar o Docker diretamente no dispositivo principal antes de implantar componentes que executam contêineres do Docker.
  + <a name="docker-daemon-requirement"></a>O daemon do Docker foi iniciado e executado no dispositivo principal antes de você implantar esse componente. 
  + O usuário do sistema que executa esse componente deve ter permissões de root ou administrador. Como alternativa, você pode executar esse componente como usuário do sistema no grupo `docker` e configurar a opção `requiresPrivileges` desse componente como `false` para executar o agente MQTT EMQX sem privilégios.
+ O componente agente MQTT EMQX pode ser executado em uma VPC.
+ O componente agente MQTT EMQX não tem suporte na plataforma `armv7`.

## Dependências
<a name="mqtt-broker-emqx-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#mqtt-broker-emqx-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.0.2 – 2.0.3 ]

A tabela a seguir lista as dependências das versões 2.0.2 e 2.0.3 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.6.0 | Flexível | 

------
#### [ 2.0.1 ]

A tabela a seguir lista as dependências da versão 2.0.1 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.6.0 | Rígido | 

------
#### [ 2.0.0 ]

A tabela a seguir lista as dependências da versão 2.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.5.0 | Rígido | 

------
#### [ 1.2.2 – 1.2.3 ]

A tabela a seguir lista as dependências das versões 1.2.2 a 1.2.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.5.0 | Rígido | 

------
#### [ 1.2.0 and 1.2.1 ]

A tabela a seguir lista as dependências das versões 1.2.0 e 1.2.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.4.0 | Rígido | 

------
#### [ 1.0.0 and 1.1.0 ]

A tabela a seguir lista as dependências das versões 1.0.0 e 1.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Autenticação do dispositivo cliente](client-device-auth-component.md) | >=2.2.0 <2.3.0 | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="mqtt-broker-emqx-component-configuration"></a>

------
#### [ 2.0.0 - 2.0.3 ]

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

**Importante**  
Se você usa a versão 2 do componente agente MQTT 5 (EMQX), é necessário atualizar o arquivo de configuração. Os arquivos de configuração da versão 1 não funcionam com a versão 2.

emqxConfig  
 (Opcional) A configuração do [agente MQTT EMQX](https://www.emqx.io/docs/en/v5.1/configuration/configuration.html) a ser usada. É possível definir as opções de configuração do EMQX neste componente.  
Quando você usa o agente EMQX, o Greengrass usa uma configuração padrão. Essa configuração é usada, a menos que você a modifique usando esse campo.  
A modificação das seguintes configurações faz com que o componente do agente EMQX seja reiniciado. Outras alterações de configuração se aplicam sem reiniciar o componente.  
+ `emqxConfig/cluster`
+ `emqxConfig/node`
+ `emqxConfig/rpc`
`aws.greengrass.clientdevices.mqtt.EMQX` permite configurar opções sensíveis à segurança. Isso inclui configurações de TLS, autenticação e provedores de autorização. Recomendamos a configuração padrão que usa a autenticação TLS mútua e o provedor de autenticação de dispositivos do cliente Greengrass.

**Example Exemplo: configuração padrão**  
O exemplo a seguir mostra os padrões definidos para o agente MQTT 5 (EMQX). É possível substituir essas configurações usando a configuração `emqxConfig`.  

```
{
  "authorization": {
    "no_match": "deny",
    "sources": []
  },
  "node": {
    "cookie": "<placeholder>"
  }, 
  "listeners": {
     "ssl": {
       "default": {
         "ssl_options": {
           "keyfile": "{work:path}\\data\\key.pem",
           "certfile": "{work:path}\\data\\cert.pem",
           "cacertfile": null,
           "verify": "verify_peer",
           "versions": ["tlsv1.3", "tlsv1.2"],
           "fail_if_no_peer_cert": true
         }
       }
     },
     "tcp": {
       "default": {
         "enabled": false
       }
     },
     "ws": {
       "default": {
         "enabled": false
       }
     },
     "wss": {
       "default": {
         "enabled": false
       }
     }
  },
  "plugins": {
    "states": [{"name_vsn": "gg-1.0.0", "enable": true}],
    "install_dir": "plugins"
  }
}
```

AuthMode  
(Opcional) Define o provedor de autorização para o agente. Pode ser um dos valores a seguir:  
+ `enabled` (padrão): usar o provedor de autenticação e autorização do Greengrass.
+ `bypass_on_failure`: usar o provedor de autenticação do Greengrass e, em seguida, use qualquer provedor de autenticação restante na cadeia de provedores do EMQX se o Greengrass negar a autenticação ou a autorização.
+ `bypass`: o provedor Greengrass está desativado. A autenticação e a autorização são gerenciadas pela cadeia de fornecedores do EMQX.

`requiresPrivilege`  
(Opcional) Nos dispositivos principais do Linux, você pode especificar a execução do agente MQTT EMQX sem privilégios de root ou administrador. Se você definir essa opção como `false`, o usuário do sistema que executa esse componente deverá ser membro do grupo `docker`.  
Padrão: `true`

`startupTimeoutSeconds`  
(Opcional) O tempo máximo em segundos para o agente MQTT EMQX iniciar. O estado do componente muda para `BROKEN` se ele exceder esse tempo limite.  
Padrão: `90`

`ipcTimeoutSeconds`  
(Opcional) O tempo máximo em segundos para o componente esperar até que o Greengrass nucleus responda às solicitações de comunicação entre processos (IPC). Aumente esse número se esse componente relatar erros de tempo limite ao verificar se um dispositivo cliente está autorizado.  
Padrão: `5`

`crtLogLevel`  
(Opcional) O nível de registro da biblioteca AWS Common Runtime (CRT).  
O padrão é o nível de log (in) do agente MQTT EMQX (`log.level` em `emqx`).

`restartIdentifier`  
(Opcional) Configure essa opção para reiniciar o agente MQTT EMQX. Quando esse valor de configuração é alterado, esse componente reinicia o agente MQTT. É possível usar essa opção para forçar a desconexão dos dispositivos cliente.

`dockerOptions`  
(Opcional) Configure essa opção somente em sistemas operacionais Linux para adicionar parâmetros à linha de comando do Docker. Por exemplo, para mapear portas adicionais, use o parâmetro `-p` do Docker:  

```
"-p 1883:1883"
```

**Example Exemplo: atualização de um arquivo de configuração v1.x para v2.x**  
O exemplo a seguir mostra as alterações necessárias para atualizar um arquivo de configuração v1.x para a versão 2.x.  
O arquivo de configuração da versão 1.x:  

```
{
    "emqx": {
        "listener.ssl.external": "443",
        "listener.ssl.external.max_connections": "1024000",
        "listener.ssl.external.max_conn_rate": "500",
        "listener.ssl.external.rate_limit": "50KB,5s",
        "listener.ssl.external.handshake_timeout": "15s",
        "log.level": "warning"
    },
    "mergeConfigurationFiles": {
        "etc/plugins/aws_greengrass_emqx_auth.conf": "auth_mode=enabled\n use_greengrass_managed_certificates=true\n"
    }
}
```
O arquivo de configuração equivalente para v2:  

```
{
    "emqxConfig": {
        "listeners": {
            "ssl": {
                "default": {
                   "bind": "8883",
                   "max_connections": "1024000",
                   "max_conn_rate": "500",
                   "ssl_options": {
                        "handshake_timeout": "15s"
                   }
                }
            }
        },
        "log": {
            "console": {
              "enable": true,
              "level": "warning"
            }
        }
    },
    "authMode": "enabled"
}
```
Não há equivalente à entrada de configuração `listener.ssl.external.rate_limit`. A opção de configuração `use_greengrass_managed_certificates` foi removida.

**Example Exemplo: definir uma nova porta para o agente**  
O exemplo a seguir altera a porta em que o agente MQTT opera da 8883 padrão para a porta 1234. Se você estiver usando Linux, inclua o campo `dockerOptions`.  

```
{
  "emqxConfig": {
    "listeners": {
      "ssl": {
        "default": {
          "bind": 1234
        }
      }
    }
  },
  "dockerOptions": "-p 1234:1234"
}
```

**Example Exemplo: Ajuste o nível de log do agente MQTT**  
O exemplo a seguir altera o nível de log do agente MQTT para `debug`. É possível escolher entre os seguintes níveis de log:  
+ `debug`
+ `info`
+ `notice`
+ `warning`
+ `error`
+ `critical`
+ `alert`
+ `emergency`
O nível padrão do log é `warning`.  

```
{
  "emqxConfig": {
    "log": {
      "console": {
         "level": "debug"
      }
    }
  }
}
```

**Example Exemplo: ativar o painel do EMQX**  
O exemplo a seguir ativa o painel do EMQX para que você possa monitorar e gerenciar seu agente. Se você estiver usando Linux, inclua o campo `dockerOptions`.   

```
{
  "emqxConfig": {
    "dashboard": {
      "listeners": {
        "http": {
          "bind": 18083
        }
      }
    }
  },
  "dockerOptions": "-p 18083:18083"
}
```

------
#### [ 1.0.0 - 1.2.2 ]

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`emqx`  
(Opcional) A configuração do [agente MQTT EMQX](https://www.emqx.io/docs/en/v4.4/configuration/configuration.html) a ser usada. É possível configurar um subconjunto de opções de configuração do EMQX neste componente.  
Esse objeto contém as informações a seguir:    
`listener.ssl.external`  
(Opcional) A porta em que o agente MQTT opera.  
<a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>Se você especificar uma porta diferente e usar o [componente de ponte MQTT](mqtt-bridge-component.md) para retransmitir mensagens MQTT para outros agentes, deverá usar a ponte MQTT v2.1.0 ou posterior. Configure-o para usar a porta em que o agente MQTT opera.  
<a name="mqtt-broker-configuration-ip-detector-requirement"></a>Se você especificar uma porta diferente e usar o [componente detector de IP](ip-detector-component.md) para gerenciar os endpoints do agente MQTT, deverá usar o detector de IP v2.1.0 ou posterior. Configure-o para relatar a porta em que o agente MQTT opera.
Padrão: `8883`  
`listener.ssl.external.max_connections`  
O número máximo de conexões simultâneas que o agente MQTT suporta.  
Padrão: `1024000`  
`listener.ssl.external.max_conn_rate`  
(Opcional) O número máximo de novas conexões por segundo que o agente MQTT pode receber.  
Padrão: `500`  
`listener.ssl.external.rate_limit`  
(Opcional) O limite de largura de banda para todas as conexões com o agente MQTT. Especifique a largura de banda e a duração dessa largura de banda separadas por uma vírgula (`,`) no seguinte formato: `bandwidth,duration`. Por exemplo, você pode especificar `50KB,5s` para limitar o agente MQTT a 50 kilobytes (KB) de dados a cada 5 segundos.  
`listener.ssl.external.handshake_timeout`  
(Opcional) A quantidade de tempo que o agente MQTT espera para concluir a autenticação de uma nova conexão.  
Padrão: `15s`  
`mqtt.max_packet_size`  
(Opcional) O tamanho máximo de uma mensagem MQTT.  
Padrão: `268435455` (256 MB menos 1)  
`log.level`  
(Opcional) O nível de log do agente MQTT. Escolha uma das seguintes opções:  
+ `debug`
+ `info`
+ `notice`
+ `warning`
+ `error`
+ `critical`
+ `alert`
+ `emergency`
O nível padrão do log é `warning`.

`requiresPrivilege`  
(Opcional) Nos dispositivos principais do Linux, você pode especificar a execução do agente MQTT EMQX sem privilégios de root ou administrador. Se você definir essa opção como `false`, o usuário do sistema que executa esse componente deverá ser membro do grupo `docker`.  
Padrão: `true`

`startupTimeoutSeconds`  
(Opcional) O tempo máximo em segundos para o agente MQTT EMQX iniciar. O estado do componente muda para `BROKEN` se ele exceder esse tempo limite.  
Padrão: `90`

`ipcTimeoutSeconds`  
(Opcional) O tempo máximo em segundos para o componente esperar até que o Greengrass nucleus responda às solicitações de comunicação entre processos (IPC). Aumente esse número se esse componente relatar erros de tempo limite ao verificar se um dispositivo cliente está autorizado.  
Padrão: `5`

`crtLogLevel`  
(Opcional) O nível de registro da biblioteca AWS Common Runtime (CRT).  
O padrão é o nível de log (in) do agente MQTT EMQX (`log.level` em `emqx`).

`restartIdentifier`  
(Opcional) Configure essa opção para reiniciar o agente MQTT EMQX. Quando esse valor de configuração é alterado, esse componente reinicia o agente MQTT. É possível usar essa opção para forçar a desconexão dos dispositivos cliente.

`dockerOptions`  
(Opcional) Configure essa opção somente em sistemas operacionais Linux para adicionar parâmetros à linha de comando do Docker. Por exemplo, para mapear portas adicionais, use o parâmetro `-p` do Docker:  

```
"-p 1883:1883"
```

`mergeConfigurationFiles`  
(Opcional) Configure essa opção para adicionar ou substituir os padrões nos arquivos de configuração do EMQX especificados. Para obter informações sobre os arquivos de configuração e seus formatos, consulte [Configuração](https://www.emqx.io/docs/en/v4.4/configuration/configuration.html) na *documentação do EMQX 4.0*. Os valores que você especifica são anexados ao arquivo de configuração.   
O exemplo a seguir atualiza o arquivo `etc/emqx.conf`.  

```
"mergeConfigurationFiles": {
    "etc/emqx.conf": "broker.sys_interval=30s\nbroker.sys_heartbeat=10s"
},
```
Além dos arquivos de configuração com suporte no EMQX, o Greengrass suporta um arquivo que configura o plug-in de autenticação do Greengrass para EMQX chamado `etc/plugins/aws_greengrass_emqx_auth.conf`. Duas opções são aceitas: `auth_mode` e `use_greengrass_managed_certificates`. Para usar outro provedor de autenticação, defina a opção `auth_mode` de uma das seguintes maneiras:  
+ `enabled` (padrão): usar o provedor de autenticação e autorização do Greengrass.
+ `bypass_on_failure`: usar o provedor de autenticação do Greengrass e, em seguida, use qualquer provedor de autenticação restante na cadeia de provedores do EMQX se o Greengrass negar a autenticação ou a autorização.
+ `bypass`: o provedor Greengrass está desativado. A autenticação e a autorização são então tratadas pela cadeia de fornecedores do EMQX.
Se `use_greengrass_managed_certificates` for `true`, essa opção indica que o Greengrass gerencia os certificados TLS do agente. Se for `false`, isso indica que você fornece os certificados por meio de outra fonte.  
O exemplo a seguir atualiza os padrões no arquivo de configuração `etc/plugins/aws_greengrass_emqx_auth.conf`.  

```
"mergeConfigurationFiles": {
    "etc/plugins/aws_greengrass_emqx_auth.conf": "auth_mode=enabled\n use_greengrass_managed_certificates=true\n"
  },
```
`aws.greengrass.clientdevices.mqtt.EMQX` permite configurar opções sensíveis à segurança. Isso inclui configurações de TLS, autenticação e provedores de autorização. A configuração recomendada é a configuração padrão que usa a autenticação TLS mútua e o provedor Greengrass Client Device Auth.

`replaceConfigurationFiles`  
(Opcional) Configure essa opção para substituir os arquivos de configuração do EMQX especificados. Os valores que você especifica substituem todo o arquivo de configuração existente. Não é possível especificar o arquivo `etc/emqx.conf` nessa seção. É necessário usar `mergeConfigurationFile` para modificar `etc/emqx.conf`.

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica a operação do agente MQTT na porta 443.  

```
{
  "emqx": {
    "listener.ssl.external": "443",
    "listener.ssl.external.max_connections": "1024000",
    "listener.ssl.external.max_conn_rate": "500",
    "listener.ssl.external.rate_limit": "50KB,5s",
    "listener.ssl.external.handshake_timeout": "15s",
    "log.level": "warning"
  },
  "requiresPrivilege": "true",
  "startupTimeoutSeconds": "90",
  "ipcTimeoutSeconds": "5"
}
```

------

## Arquivo de log local
<a name="mqtt-broker-emqx-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.clientdevices.mqtt.EMQX.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.clientdevices.mqtt.EMQX.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.clientdevices.mqtt.EMQX.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.clientdevices.mqtt.EMQX.log -Tail 10 -Wait
  ```

------

## Licenças
<a name="mqtt-broker-emqx-component-licenses"></a>

Nos sistemas operacionais Windows, esse software inclui código distribuído de acordo com os [Termos de Licença de Software da Microsoft - Microsoft Visual Studio Community 2022](https://visualstudio.microsoft.com/license-terms/vs2022-ga-community). Ao baixar esse software, você concorda com os termos da licença desse código.

<a name="component-core-software-license"></a>Esse componente é liberado de acordo com o [Contrato de licença de software Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Changelog
<a name="mqtt-broker-emqx-component-changelog"></a>

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

------
#### [ v2.x ]


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.0.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-emqx-component.html)  | 
|  2.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-emqx-component.html)  | 
|  2.0.1  |  Versão atualizada para [autenticação de dispositivo cliente](client-device-auth-component.md) versão 2.5.0.  | 
| 2.0.0 | Essa versão do agente MQTT 5 (EMQX) espera parâmetros de configuração diferentes da versão 1.x. Se você usar uma configuração não padrão para a versão 1.x, deverá atualizar a configuração do componente para 2.x. Para obter mais informações, consulte [Configuração](#mqtt-broker-emqx-component-configuration). [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-emqx-component.html) | 

------
#### [ v1.x ]


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-emqx-component.html)  | 
|  1.2.2  |  Versão atualizada para [autenticação de dispositivo cliente](client-device-auth-component.md) versão 2.4.0.  | 
|  1.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-emqx-component.html)  | 
|  1.2.0  |  Adiciona suporte para cadeias de certificados.  | 
|  1.1.0  | <a name="changelog-emqx-1.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/mqtt-broker-emqx-component.html) | 
|  1.0.1  |  Corrige um problema durante o handshake TLS que resulta na falha de conexão de alguns clientes MQTT.  | 
|  1.0.0  |  Versão inicial.  | 

------

# Emissor de telemetria de núcleo
<a name="nucleus-emitter-component"></a>

O componente emissor de telemetria do núcleo (`aws.greengrass.telemetry.NucleusEmitter`) reúne dados de telemetria de integridade do sistema e os publica continuamente em um tópico local e em um tópico do MQTT. AWS IoT Core Esse componente permite que você reúna a telemetria do sistema em tempo real em seus dispositivos principais do Greengrass. Para obter informações sobre o agente de telemetria do Greengrass que publica dados de telemetria do sistema na Amazon, consulte. EventBridge [Colete dados de telemetria de integridade do sistema a partir dos dispositivos principais AWS IoT Greengrass](telemetry.md)

Por padrão, o componente emissor de telemetria nucleus publica dados de telemetria a cada 60 segundos no seguinte tópico local. publish/subscribe 

```
$local/greengrass/telemetry
```

O componente emissor de telemetria nucleus não é publicado em um tópico do AWS IoT Core MQTT por padrão. Você pode configurar esse componente para publicar em um tópico do AWS IoT Core MQTT ao implantá-lo. O uso de um tópico do MQTT para publicar dados no Nuvem AWS está sujeito a [AWS IoT Core preços](https://aws.amazon.com/iot-core/pricing/).

<a name="greengrass-software-catalog-influxdb-telemetry-publisher"></a>AWS IoT Greengrass fornece vários [componentes da comunidade](greengrass-software-catalog.md) para ajudá-lo a analisar e visualizar dados de telemetria localmente em seu dispositivo principal usando o InfluxDB e o Grafana. Esses componentes usam os dados de telemetria do componente emissor do núcleo. Para obter mais informações, consulte o README do componente do [publicador do InfluxDB](https://github.com/awslabs/aws-greengrass-labs-telemetry-influxdbpublisher).

**Topics**
+ [Versões](#nucleus-emitter-component-versions)
+ [Tipo](#nucleus-emitter-component-type)
+ [Sistema operacional](#nucleus-emitter-component-os-support)
+ [Dependências](#nucleus-emitter-component-dependencies)
+ [Configuração](#nucleus-emitter-component-configuration)
+ [Dados de saída](#nucleus-emitter-component-output-data)
+ [Uso](#nucleus-emitter-component-usage)
+ [Arquivo de log local](#nucleus-emitter-component-log-file)
+ [Changelog](#nucleus-emitter-component-changelog)

## Versões
<a name="nucleus-emitter-component-versions"></a>

Esse componente tem as seguintes versões:
+ 1.0.x

## Tipo
<a name="nucleus-emitter-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="nucleus-emitter-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Dependências
<a name="nucleus-emitter-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#nucleus-emitter-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 1.0.12 ]

A tabela a seguir lista as dependências da versão 1.0.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.4.0 <2.17.0 | Flexível | 

------
#### [ 1.0.11 ]

A tabela a seguir lista as dependências da versão 1.0.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.16,0  | Rígido | 

------
#### [ 1.0.10 ]

A tabela a seguir lista as dependências da versão 1.0.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.4.0 <2.15.0  | Rígido | 

------
#### [ 1.0.9 ]

A tabela a seguir lista as dependências da versão 1.0.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >= 2.4.0 <2.14.0  | Rígido | 

------
#### [ 1.0.8 ]

A tabela a seguir lista as dependências da versão 1.0.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >= 2.4.0 <2.13.0  | Rígido | 

------
#### [ 1.0.7 ]

A tabela a seguir lista as dependências da versão 1.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >= 2.4.0 <2.12.0  | Rígido | 

------
#### [ 1.0.6 ]

A tabela a seguir lista as dependências da versão 1.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >=2.4.0 <2.11.0  | Rígido | 

------
#### [ 1.0.5 ]

A tabela a seguir lista as dependências da versão 1.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >=2.4.0 <2.10.0  | Rígido | 

------
#### [ 1.0.4 ]

A tabela a seguir lista as dependências da versão 1.0.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >= 2.4.0 <2.9.0  | Rígido | 

------
#### [ 1.0.3 ]

A tabela a seguir lista as dependências da versão 1.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >= 2.4.0 <2.8.0  | Rígido | 

------
#### [ 1.0.2 ]

A tabela a seguir lista as dependências da versão 1.0.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >= 2.4.0 <2.7.0  | Rígido | 

------
#### [ 1.0.1 ]

A tabela a seguir lista as dependências da versão 1.0.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >= 2.4.0 <2.6.0  | Rígido | 

------
#### [ 1.0.0 ]

A tabela a seguir lista as dependências da versão 1.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Núcleo do Greengrass](greengrass-nucleus-component.md) |  >=2.4.0 <2.5.0  | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="nucleus-emitter-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`pubSubPublish`  
(Opcional) Define se os dados de telemetria devem ser publicados no tópico `$local/greengrass/telemetry`. Os valores compatíveis são `true` e `false`.  
Padrão: `true`

`mqttTopic`  
(Opcional) O tópico do AWS IoT Core MQTT no qual esse componente publica dados de telemetria.  
Defina esse valor para o tópico do AWS IoT Core MQTT no qual você deseja publicar dados de telemetria. Quando esse valor está vazio, o emissor do núcleo não publica dados de telemetria no Nuvem AWS.   
O uso de um tópico do MQTT para publicar dados no Nuvem AWS está sujeito a [AWS IoT Core preços](https://aws.amazon.com/iot-core/pricing/).
Padrão: `""`

`telemetryPublishIntervalMs`  
(Opcional) A quantidade de tempo (em milissegundos) entre o qual o componente publica dados de telemetria. Se você definir esse valor abaixo do valor mínimo suportado, o componente usará o valor mínimo em vez disso.  
Intervalos de publicação mais baixos resultam em maior uso da CPU em seu dispositivo principal. Recomendamos que você comece com o intervalo de publicação padrão e o ajuste com base no uso da CPU do seu dispositivo.
Mínimo: `500`  
Padrão: `60000`

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo a seguir mostra um exemplo de atualização de mesclagem de configurações que permite publicar dados de telemetria a cada 5 segundos no `$local/greengrass/telemetry` tópico e no `greengrass/myTelemetry` AWS IoT Core tópico MQTT.  

```
{
  "pubSubPublish": "true",
  "mqttTopic": "greengrass/myTelemetry",
  "telemetryPublishIntervalMs": 5000
}
```

## Dados de saída
<a name="nucleus-emitter-component-output-data"></a>

Esse componente publica métricas de telemetria como uma matriz JSON no tópico a seguir. 

**Tópico local:** `$local/greengrass/telemetry`

Opcionalmente, você também pode optar por publicar métricas de telemetria em um AWS IoT Core tópico do MQTT. Para obter mais informações sobre tópicos, consulte [MQTT topics](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) no *Guia do desenvolvedor do AWS IoT Core *.

**Example Exemplo de dados**  

```
[
  {
    "A": "Average",
    "N": "CpuUsage",
    "NS": "SystemMetrics",
    "TS": 1627597331445,
    "U": "Percent",
    "V": 26.21981271562346
  },
  {
    "A": "Count",
    "N": "TotalNumberOfFDs",
    "NS": "SystemMetrics",
    "TS": 1627597331445,
    "U": "Count",
    "V": 7316
  },
  {
    "A": "Count",
    "N": "SystemMemUsage",
    "NS": "SystemMetrics",
    "TS": 1627597331445,
    "U": "Megabytes",
    "V": 10098
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsStarting",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsInstalled",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsStateless",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsStopping",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsBroken",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsRunning",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 7
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsErrored",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsNew",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 0
  },
  {
    "A": "Count",
    "N": "NumberOfComponentsFinished",
    "NS": "GreengrassComponents",
    "TS": 1627597331446,
    "U": "Count",
    "V": 2
  }
]
```<a name="telemetry-json-array-config"></a>

A matriz de saída contém uma lista de métricas que têm as seguintes propriedades:

`A`  
O tipo de agregação para a métrica.   
Para a métrica `CpuUsage`, essa propriedade é definida como `Average` porque o valor publicado da métrica é o valor médio de uso da CPU desde o último evento de publicação.  
Para todas as outras métricas, o emissor do núcleo não agrega o valor da métrica e essa propriedade é definida como `Count`.

`N`  
O nome da métrica.

`NS`  
O namespace de métrica.

`TS`  
O carimbo de data/hora de quando os dados foram coletados.

`U`  
A unidade do valor da métrica.

`V`  
O valor da métrica do . 

O emissor de núcleo publica as seguintes métricas:


| Name (Nome) | Description | 
| --- | --- | 
|  **Sistema**  | 
|  `SystemMemUsage`  |  A quantidade de memória atualmente em uso por todas as aplicações no dispositivo principal do Greengrass, incluindo o sistema operacional.  | 
|  `CpuUsage`  |  A quantidade de CPU atualmente em uso por todas as aplicações no dispositivo principal do Greengrass, incluindo o sistema operacional.  | 
|  `TotalNumberOfFDs`  |  O número de descritores de arquivo armazenados pelo sistema operacional do dispositivo de Greengrass nucleus. Um descritor de arquivo identifica exclusivamente um arquivo aberto.  | 
|  **Greengrass nucleus**  | 
|  `NumberOfComponentsRunning`  |  O número de componentes em execução no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsErrored`  |  O número de componentes que estão em estado de erro no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsInstalled`  |  O número de componentes que estão instalados no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsStarting`  |  O número de componentes que estão iniciando no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsNew`  |  O número de componentes que são novos no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsStopping`  |  O número de componentes que estão parando no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsFinished`  |  O número de componentes que são concluídos no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsBroken`  |  O número de componentes que estão quebrados no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsStateless`  |  O número de componentes sem estado no dispositivo principal do Greengrass.  | 

## Uso
<a name="nucleus-emitter-component-usage"></a>

Para usar os dados de telemetria de integridade do sistema, você pode criar componentes personalizados que se inscrevem nos tópicos nos quais o emissor de núcleo publica os dados de telemetria e reagem a esses dados conforme necessário. Como o componente emissor de núcleo oferece a opção de publicar dados de telemetria em um tópico local, você pode se inscrever nesse tópico e usar os dados publicados para agir localmente em seu dispositivo principal. O dispositivo principal pode então reagir aos dados de telemetria mesmo quando tem conectividade limitada com a nuvem.

Por exemplo, você pode configurar um componente que escuta dados de telemetria no `$local/greengrass/telemetry` tópico e enviar os dados para o componente gerenciador de fluxos para transmitir seus dados para o. Nuvem AWS Para obter mais informações sobre a criação de um componente, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md) e [Criar componentes personalizados que usam o Gerenciador de fluxos](use-stream-manager-in-custom-components.md).

## Arquivo de log local
<a name="nucleus-emitter-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="nucleus-emitter-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.0.12  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  1.0.11  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  1.0.10  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  1.0.9  | Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass. | 
|  1.0.8  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  1.0.7  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  1.0.6  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  1.0.5  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  1.0.4  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  1.0.3  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  1.0.2  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  1.0.1  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  1.0.0  |  Versão inicial.  | 

# Fornecedor PKCS\$111
<a name="pkcs11-provider-component"></a>

O componente provedor PKCS\$111 (`aws.greengrass.crypto.Pkcs11Provider`) permite que você configure o software AWS IoT Greengrass Core para usar um módulo de segurança de hardware (HSM) por meio da interface [PKCS\$111](https://en.wikipedia.org/wiki/PKCS_11). Esse componente permite que você armazene com segurança arquivos de certificado e chave privada para que eles não sejam expostos ou duplicados no software. Para obter mais informações, consulte [Integração de segurança de hardware](hardware-security.md).

Para provisionar um dispositivo principal do Greengrass que armazena seu certificado e sua chave privada em um HSM, você deve especificar esse componente como um plug-in de provisionamento ao instalar o software Core. AWS IoT Greengrass Para obter mais informações, consulte [Instale o software AWS IoT Greengrass principal com provisionamento manual de recursos](manual-installation.md).

AWS IoT Greengrass fornece esse componente como arquivo JAR que você pode baixar para especificar como um plug-in de provisionamento durante a instalação. Você pode baixar a versão mais recente do arquivo JAR do componente na seguinte URL: [https://d2s8p88vqu9w66.cloudfront. net/releases/Pkcs11Provider/aws.greengrass.crypto.pkcs11provider-Latest.jar](https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar).

**Topics**
+ [Versões](#pkcs11-provider-component-versions)
+ [Tipo](#pkcs11-provider-component-type)
+ [Sistema operacional](#pkcs11-provider-component-os-support)
+ [Requisitos](#pkcs11-provider-component-requirements)
+ [Dependências](#pkcs11-provider-component-dependencies)
+ [Configuração](#pkcs11-provider-component-configuration)
+ [Arquivo de log local](#pkcs11-provider-component-log-file)
+ [Changelog](#pkcs11-provider-component-changelog)

## Versões
<a name="pkcs11-provider-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.0.x

## Tipo
<a name="pkcs11-provider-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="pkcs11-provider-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Requisitos
<a name="pkcs11-provider-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ <a name="hardware-security-module-requirements-key"></a>Um módulo de segurança de hardware que suporta o esquema de assinatura [PKCS\$11 v1.5](https://tools.ietf.org/html/rfc2313) e chaves RSA com tamanho de chave RSA-2048 (ou maior) ou chaves ECC.
**nota**  <a name="hardware-security-module-requirements-key-notes"></a>
Para usar um módulo de segurança de hardware com chaves ECC, use o [Greengrass nucleus](greengrass-nucleus-component.md) v2.5.6 ou posterior.  
Para usar um módulo de segurança de hardware e um [gerenciador de segredos](secret-manager-component.md), use um módulo de segurança de hardware com chaves RSA.
+ <a name="hardware-security-module-requirements-pkcs11-provider-library"></a>Uma biblioteca do provedor PKCS \$111 que o software AWS IoT Greengrass Core pode carregar em tempo de execução (usando libdl) para invocar as funções do PKCS \$111. A biblioteca do provedor PKCS\$111 deve implementar as operações de API do PKCS\$111 a seguir:
  + `C_Initialize`
  + `C_Finalize`
  + `C_GetSlotList`
  + `C_GetSlotInfo`
  + `C_GetTokenInfo`
  + `C_OpenSession`
  + `C_GetSessionInfo`
  + `C_CloseSession`
  + `C_Login`
  + `C_Logout`
  + `C_GetAttributeValue`
  + `C_FindObjectsInit`
  + `C_FindObjects`
  + `C_FindObjectsFinal`
  + `C_DecryptInit`
  + `C_Decrypt`
  + `C_DecryptUpdate`
  + `C_DecryptFinal`
  + `C_SignInit`
  + `C_Sign`
  + `C_SignUpdate`
  + `C_SignFinal`
  + `C_GetMechanismList`
  + `C_GetMechanismInfo`
  + `C_GetInfo`
  + `C_GetFunctionList`
+ <a name="hardware-security-module-requirements-slot-label"></a>O módulo de hardware deve ser solucionado pelo rótulo do slot, conforme definido na especificação PKCS\$111.
+ <a name="hardware-security-module-requirements-private-key-and-certificate"></a>Você deve armazenar a chave privada e o certificado no HSM no mesmo slot, e eles devem usar o mesmo rótulo de objeto e ID de objeto, se o HSM suportar objetos. IDs
+ <a name="hardware-security-module-requirements-object-label"></a>O certificado e a chave privada devem ser resolvidos por rótulos de objeto.
+ <a name="hardware-security-module-requirements-private-key-permissions"></a>A chave privada deve ter as seguintes permissões:
  + `sign`
  + `decrypt`
+ <a name="hardware-security-module-requirements-secret-manager-permissions"></a>(Opcional) Para usar o [componente gerenciador de segredos](secret-manager-component.md), é necessário usar a versão 2.1.0 ou posterior, e a chave privada deve ter as seguintes permissões:
  + `unwrap`
  + `wrap`
+ <a name="hardware-security-module-requirements-environment-variable"></a>(Opcional) Se você estiver usando a TPM2 biblioteca e executando o núcleo do Greengrass como um serviço, deverá fornecer uma variável de ambiente com a localização da loja PKCS \$111. O exemplo a seguir é um arquivo de serviço systemd com a variável de ambiente necessária:

  ```
  [Unit]
  Description=Greengrass Core
  After=network.target
  
  [Service]
  Type=simple
  PIDFile=/var/run/greengrass.pid
  Environment=TPM2_PKCS11_STORE=/path/to/store/directory
  RemainAfterExit=no
  Restart=on-failure
  RestartSec=10
  ExecStart=/bin/sh /greengrass/v2/alts/current/distro/bin/loader
  
  [Install]
  WantedBy=multi-user.target
  ```

## Dependências
<a name="pkcs11-provider-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#pkcs11-provider-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.0.11 ]

A seguinte tabela lista as dependências da versão 2.0.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5,3 <2,17,0 | Flexível | 

------
#### [ 2.0.10 ]

A seguinte tabela lista as dependências da versão 2.0.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5,3 <2,16,0  | Flexível | 

------
#### [ 2.0.9 ]

A seguinte tabela lista as dependências da versão 2.0.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5,3 <2,15,0  | Flexível | 

------
#### [ 2.0.8 ]

A seguinte tabela lista as dependências da versão 2.0.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5.3 <2,14,0  | Flexível | 

------
#### [ 2.0.7 ]

A seguinte tabela lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5,3 <2,13,0  | Flexível | 

------
#### [ 2.0.6 ]

A seguinte tabela lista as dependências da versão 2.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5,3 <2,12,0  | Flexível | 

------
#### [ 2.0.5 ]

A seguinte tabela lista as dependências da versão 2.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.11.0  | Flexível | 

------
#### [ 2.0.4 ]

A seguinte tabela lista as dependências da versão 2.0.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.10.0  | Flexível | 

------
#### [ 2.0.3 ]

A seguinte tabela lista as dependências da versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.9.0  | Flexível | 

------
#### [ 2.0.2 ]

A seguinte tabela lista as dependências da versão 2.0.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.3 <2.8.0  | Flexível | 

------
#### [ 2.0.1 ]

A tabela a seguir lista as dependências da versão 2.0.1 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2,5,3 <2,7,0  | Flexível | 

------
#### [ 2.0.0 ]

A seguinte tabela lista as dependências da versão 2.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.5.3 <2.6.0  | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="pkcs11-provider-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.<a name="pkcs11-provider-component-configuration-parameters"></a>

`name`  
Um nome para a configuração de PKCS\$111.

`library`  
O caminho absoluto do arquivo para a biblioteca da implementação do PKCS \$111 que o software AWS IoT Greengrass Core pode carregar com libdl.

`slot`  
O ID do slot que contém a chave privada e o certificado do dispositivo. Esse valor é diferente do índice do slot ou do rótulo do slot.

`userPin`  
O PIN do usuário a ser usado para acessar o slot.

**Example Exemplo: atualização da mesclagem de configuração**  

```
{
  "name": "softhsm_pkcs11",
  "library": "/usr/lib/softhsm/libsofthsm2.so",
  "slot": 1,
  "userPin": "1234"
}
```

## Arquivo de log local
<a name="pkcs11-provider-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="pkcs11-provider-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.0.11  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  2.0.10  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.0.9  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  2.0.8  | Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass. | 
|  2.0.7  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.0.6  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.0.5  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.0.4  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.0.3  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.0.2  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.0.1  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.0.0  |  Versão inicial.  | 

# Gerenciador de segredos
<a name="secret-manager-component"></a>

O componente Gerenciador de segredos (`aws.greengrass.SecretManager`) implanta os segredos do AWS Secrets Manager nos dispositivos principais do Greengrass. Use esse componente para aplicar credenciais com segurança, como senhas, a componentes personalizados em seus dispositivos principais do Greengrass. Para obter mais informações sobre o Secrets Manager, consulte [O que é o AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) no *Guia do usuário do AWS Secrets Manager *.

Para acessar os segredos desse componente em seus componentes personalizados do Greengrass, use a [GetSecretValue](ipc-secret-manager.md#ipc-operation-getsecretvalue)operação no. AWS IoT Device SDK Para obter mais informações, consulte [Use o AWS IoT Device SDK para se comunicar com o núcleo do Greengrass, outros componentes e AWS IoT CoreComunique-se com o núcleo do Greengrass, outros componentes e AWS IoT Core](interprocess-communication.md) e [Recuperar valores de segredos](ipc-secret-manager.md).

Esse componente criptografa os segredos no dispositivo principal para manter as credenciais e senhas protegidas para quando você precisar usá-las. Ele usa a chave privada do dispositivo principal para criptografar e descriptografar os segredos.

**Topics**
+ [Versões](#secret-manager-component-versions)
+ [Tipo](#secret-manager-component-type)
+ [Sistema operacional](#secret-manager-component-os-support)
+ [Requisitos](#secret-manager-component-requirements)
+ [Dependências](#secret-manager-component-dependencies)
+ [Configuração](#secret-manager-component-configuration)
+ [Arquivo de log local](#secret-manager-component-log-file)
+ [Changelog](#secret-manager-component-changelog)

## Versões
<a name="secret-manager-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="secret-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="secret-manager-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="secret-manager-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ A [função do dispositivo do Greengrass](device-service-role.md) deve permitir a ação `secretsmanager:GetSecretValue`, conforme mostrado no exemplo de política do IAM abaixo.

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "secretsmanager:GetSecretValue"
        ],
        "Effect": "Allow",
        "Resource": [
        "arn:aws:secretsmanager:us-east-1:123456789012:secret:MySecret"
        ]
      }
    ]
  }
  ```

------

  ```
  ```
**nota**  
Se você usar uma AWS Key Management Service chave gerenciada pelo cliente para criptografar segredos, a função do dispositivo também deverá permitir a ação. `kms:Decrypt`

  Para obter mais informações sobre as políticas do IAM para Secrets Manager, consulte os seguintes tópicos no *Guia do usuário do AWS Secrets Manager *:
  + [Autenticação e controle de acesso para AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html)
  + [Ações, recursos e chaves de contexto que podem ser utilizadas em uma política do IAM ou de segredos para o AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html)
+ Os componentes personalizados devem definir uma política de autorização que permita que `aws.greengrass#GetSecretValue` acesse os segredos que você armazena com esse componente. Nessa política de autorização, você pode restringir o acesso dos componentes a segredos específicos. Para obter mais informações, consulte a [autorização do Gerenciador de segredos por IPC](ipc-secret-manager.md#ipc-secret-manager-authorization).
+ (Opcional) Se você armazena a chave privada e o certificado do dispositivo principal em um [módulo de segurança de hardware](hardware-security.md) (HSM), o HSM deve oferecer suporte a chaves RSA, a chave privada deve ter a permissão `unwrap` e a chave pública deve ter a permissão `wrap`.

### Endpoints e portas
<a name="secret-manager-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `secretsmanager.region.amazonaws.com`  | 443 | Sim |  Faça download dos segredos para o dispositivo principal.  | 

## Dependências
<a name="secret-manager-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#secret-manager-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.2.7 ]

A tabela a seguir lista as dependências da versão 2.2.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5.0 <2,17,0 | Flexível | 

------
#### [ 2.2.6 ]

A tabela a seguir lista as dependências da versão 2.2.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5.0 <2,16,0 | Flexível | 

------
#### [ 2.2.2 – 2.2.5 ]

A tabela a seguir lista as dependências das versões 2.2.2 a 2.2.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5.0 <2,15.0 | Flexível | 

------
#### [ 2.2.0 ]

A tabela a seguir lista as dependências da versão 2.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.13.0 <2.14.0 | Flexível | 

------
#### [ 2.1.7 – 2.1.8 ]

A tabela a seguir lista as dependências das versões 2.1.7 e 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.13.0 | Flexível | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.12.0 | Flexível | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.11.0 | Flexível | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.10.0 | Flexível | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.9.0 | Flexível | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.8.0 | Flexível | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.7.0 | Flexível | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.6.0 | Flexível | 

------
#### [ 2.0.9 ]

A seguinte tabela lista as dependências da versão 2.0.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | Flexível | 

------
#### [ 2.0.8 ]

A seguinte tabela lista as dependências da versão 2.0.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | Flexível | 

------
#### [ 2.0.7 ]

A seguinte tabela lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | Flexível | 

------
#### [ 2.0.6 ]

A seguinte tabela lista as dependências da versão 2.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | Flexível | 

------
#### [ 2.0.4 and 2.0.5 ]

A tabela a seguir lista as dependências das versões 2.0.4 e 2.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="secret-manager-component-configuration"></a>

Esse componente fornece os parâmetros de configuração a seguir, que podem ser personalizados quando você o implanta.

`periodicRefreshIntervalMin` (opcional)  
O intervalo em minutos em que esse componente sincroniza os segredos configurados no dispositivo principal com os valores secretos mais recentes do AWS Secrets Manager serviço. Se esse intervalo não foi configurado, o gerenciador de segredos não atualiza os segredos configurados periodicamente.  

```
{
  "cloudSecrets": [
    {
      "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef"
    }
  ],
  "periodicRefreshIntervalMin" : 60
}
```

`cloudSecrets`  
Uma lista de segredos do Secrets Manager para implantar no dispositivo principal. É possível especificar rótulos para definir quais versões de cada segredo devem ser implantadas. Se você não especificar uma versão, esse componente implantará a versão com o rótulo de preparação `AWSCURRENT`anexado. Para obter mais informações, consulte [Rótulos de preparação](https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html#term_staging-label) no *Guia do usuário do AWS Secrets Manager *.  
O componente Gerenciador de segredos armazena os segredos em cache localmente. Se o valor do segredo mudar no Secrets Manager, esse componente não recuperará automaticamente o novo valor. Para atualizar a cópia local, atribua um novo rótulo ao segredo e configure esse componente para recuperar o segredo identificado pelo novo rótulo.  
Cada objeto contém as seguintes informações:    
`arn`  
O ARN do segredo que será implantado. O ARN do segredo pode ser completo ou parcial. Recomendamos que você especifique um ARN completo em vez de um parcial. Para obter mais informações, consulte [Como encontrar um segredo de um ARN parcial](https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen). Veja a seguir exemplos de um ARN completo e de um parcial:  
+ ARN completo: `arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName-abcdef`
+ ARN parcial: `arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName`  
`labels`  
(Opcional) Uma lista de rótulos para identificar as versões do segredo que serão implantadas no dispositivo principal.  
Cada rótulo deve ser uma string.

**Example Exemplo: atualização da mesclagem de configuração**  

```
{
  "cloudSecrets": [
    {
      "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef"
    }
  ]
}
```

## Arquivo de log local
<a name="secret-manager-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="secret-manager-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.2.7  |  Versão atualizada para a versão 2.16.0 do Greengrass nucleus.  | 
|  2.2.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.7  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.6  | Versão atualizada para o núcleo do Greengrass 2.11.0. | 
|  2.1.5  | Versão atualizada para o núcleo do Greengrass 2.10.0. | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.3  | Versão atualizada para o núcleo do Greengrass 2.8.0. | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.0.9  |  Versão atualizada para o núcleo do Greengrass 2.4.0.  | 
|  2.0.8  |  Versão atualizada para o núcleo do Greengrass 2.3.0.  | 
|  2.0.7  |  Versão atualizada para o núcleo do Greengrass 2.2.0.  | 
|  2.0.6  |  Versão atualizada para o núcleo do Greengrass 2.1.0.  | 
|  2.0.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.0.4  |  Versão inicial.  | 

# Criação Segura de Túneis
<a name="secure-tunneling-component"></a>

Com o componente `aws.greengrass.SecureTunneling`, você pode estabelecer uma comunicação bidirecional segura com o dispositivo principal do Greengrass protegido por firewalls restritos.

Por exemplo, imagine que você tem um dispositivo principal do Greengrass protegido por um firewall que proíbe todas as conexões de entrada. O tunelamento seguro usa o MQTT para transferir um token de acesso ao dispositivo e, em seguida, usa WebSockets para fazer uma conexão SSH com o dispositivo por meio do firewall. Com esse túnel gerenciado do AWS IoT , você pode abrir a conexão SSH necessária para seu dispositivo. *Para obter mais informações sobre como usar o tunelamento AWS IoT seguro para se conectar a dispositivos remotos, consulte [tunelamento AWS IoT seguro no Guia](https://docs.aws.amazon.com/iot/latest/developerguide/secure-tunneling.html) do desenvolvedor.AWS IoT *

Esse componente se inscreve no agente de mensagens AWS IoT Core MQTT sobre o `$aws/things/greengrass-core-device/tunnels/notify` tópico para receber notificações de tunelamento seguro.

**Topics**
+ [Versões](#secure-tunneling-component-versions)
+ [Tipo](#secure-tunneling-component-type)
+ [Sistema operacional](#secure-tunneling-component-os-support)
+ [Requisitos](#secure-tunneling-component-requirements)
+ [Dependências](#secure-tunneling-component-dependencies)
+ [Configuração](#secure-tunneling-component-configuration)
+ [Arquivo de log local](#secure-tunneling-component-log-file)
+ [Licenças](#secure-tunneling-component-licenses)
+ [Uso](#secure-tunneling-component-usage)
+ [Consulte também](#secure-tunneling-component-see-also)
+ [Changelog](#secure-tunneling-component-changelog)

## Versões
<a name="secure-tunneling-component-versions"></a>

Esse componente tem as seguintes versões:
+ 1.1.x
+ 1.0.x

## Tipo
<a name="secure-tunneling-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="secure-tunneling-component-os-support"></a>

É possível instalar esse componente somente em dispositivos principais do Linux.

Arquiteturas:
+ Armv71
+ Armv (8) AArch64
+ x86\$164

## Requisitos
<a name="secure-tunneling-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ Mínimo de 32 MB de espaço em disco disponível para o componente de Criação Segura de Túneis. Esse requisito não inclui o software de Greengrass nucleus nem outros componentes executados no mesmo dispositivo.
+ Mínimo de 16 MB de RAM disponível para o componente de Criação Segura de Túneis. Esse requisito não inclui o software de Greengrass nucleus nem outros componentes executados no mesmo dispositivo. Para obter mais informações, consulte [Controlar a alocação de memória com opções de JVM](configure-greengrass-core-v2.md#jvm-tuning).
+ A Biblioteca do GNU C (glibc) versão 2.25 ou superior com o kernel do Linux 3.2 ou mais recente é obrigatória para o componente de Criação Segura de Túneis a partir da versão 1.0.12. As versões do sistema operacional e das bibliotecas que ultrapassaram a data de fim da vida útil do suporte de longo prazo não são compatíveis. É necessário usar um sistema operacional e bibliotecas com suporte de longo prazo.
+ Tanto o sistema operacional quanto o runtime Java devem ser instalados como 64 bits.
+ [Python](https://www.python.org/) 3.5 ou versão mais recente instalado no dispositivo principal do Greengrass e adicionado à variável de ambiente PATH.
+ `libcrypto.so.1.1` instalado no dispositivo principal do Greengrass e adicionado à variável de ambiente PATH.
+ Abra o tráfego de saída na porta 443 no dispositivo principal do Greengrass.
+ Ative o suporte ao serviço de comunicação que você deseja usar para se comunicar com o dispositivo principal do Greengrass. Por exemplo, para abrir uma conexão SSH com o dispositivo, é necessário ativar o SSH nele.

### Endpoints e portas
<a name="secure-tunneling-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `data.tunneling.iot.region.amazonaws.com`  | 443 | Sim |  Estabeleça túneis seguros.  | 

## Dependências
<a name="secure-tunneling-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#secure-tunneling-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 1.0.19 – 1.1.3 ]

A tabela a seguir lista as dependências das versões 1.0.19 a 1.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <3.0.0  | Flexível | 

------
#### [ 1.0.18 ]

A tabela a seguir lista as dependências da versão 1.0.18 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.13.0  | Flexível | 

------
#### [ 1.0.16 – 1.0.17 ]

A tabela a seguir lista as dependências das versões 1.0.16 a 1.0.17 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.12.0  | Flexível | 

------
#### [ 1.0.14 – 1.0.15 ]

A tabela a seguir lista as dependências das versões 1.0.14 a 1.0.15 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.11.0  | Flexível | 

------
#### [ 1.0.11 – 1.0.13 ]

A tabela a seguir lista as dependências das versões 1.0.11 a 1.0.13 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.10.0  | Flexível | 

------
#### [ 1.0.10 ]

A tabela a seguir lista as dependências da versão 1.0.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.9.0  | Flexível | 

------
#### [ 1.0.9 ]

A tabela a seguir lista as dependências da versão 1.0.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.8.0  | Flexível | 

------
#### [ 1.0.8 ]

A tabela a seguir lista as dependências da versão 1.0.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.7.0  | Flexível | 

------
#### [ 1.0.5 - 1.0.7 ]

A tabela a seguir lista as dependências das versões 1.0.5 a 1.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.6.0  | Flexível | 

------
#### [ 1.0.4 ]

A tabela a seguir lista as dependências da versão 1.0.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | Flexível | 

------
#### [ 1.0.3 ]

A tabela a seguir lista as dependências da versão 1.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | Flexível | 

------
#### [ 1.0.2 ]

A tabela a seguir lista as dependências da versão 1.0.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | Flexível | 

------
#### [ 1.0.1 ]

A tabela a seguir lista as dependências da versão 1.0.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | Flexível | 

------
#### [ 1.0.0 ]

A tabela a seguir lista as dependências da versão 1.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="secure-tunneling-component-configuration"></a>

Esse componente fornece os parâmetros de configuração a seguir, que podem ser personalizados quando você o implanta.

`OS_DIST_INFO`  
(Opcional) O sistema operacional do dispositivo principal. Por padrão, o componente tenta identificar automaticamente o sistema operacional em execução no dispositivo principal. Se não for possível iniciar o componente com o valor padrão, use esse valor para especificar o sistema operacional. Para ver a lista de sistemas operacionais compatíveis, consulte [Requisitos do dispositivo](greengrass-nucleus-component.md#greengrass-v2-requirements).  
Esse valor pode ser: `auto`, `ubuntu`, `amzn2` ou `raspberrypi`.  
Padrão: `auto`

`accessControl`  
(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite que o componente se registre no tópico de notificações de criação segura de túneis.   
Não modifique esse parâmetro de configuração se a implantação for para um grupo de itens. Se a implantação for para um dispositivo principal individual, e você quiser restringir o registro no tópico do dispositivo, especifique o nome do item do dispositivo principal. No valor `resources` da política de autorização do dispositivo, substitua o caractere curinga do tópico do MQTT pelo nome do item do dispositivo. 

```
{
  "aws.greengrass.ipc.mqttproxy": {
    "aws.iot.SecureTunneling:mqttproxy:1": {
      "policyDescription": "Access to tunnel notification pubsub topic",
      "operations": [
        "aws.greengrass#SubscribeToIoTCore"
      ],
      "resources": [
        "$aws/things/+/tunnels/notify"
      ]
    }
  }
}
```

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica para permitir que esse componente abra túneis seguros em um dispositivo principal chamado **MyGreengrassCore** com Ubuntu.  

```
{
  "OS_DIST_INFO": "ubuntu",
  "accessControl": {
    "aws.greengrass.ipc.mqttproxy": {
      "aws.iot.SecureTunneling:mqttproxy:1": {
        "policyDescription": "Access to tunnel notification pubsub topic",
        "operations": [
          "aws.greengrass#SubscribeToIoTCore"
        ],
        "resources": [
          "$aws/things/MyGreengrassCore/tunnels/notify"
        ]
      }
    }
  }
}
```

## Arquivo de log local
<a name="secure-tunneling-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

```
/greengrass/v2/logs/aws.greengrass.SecureTunneling.log
```

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. `/greengrass/v2`Substitua pelo caminho para a pasta AWS IoT Greengrass raiz.

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.SecureTunneling.log
  ```

## Licenças
<a name="secure-tunneling-component-licenses"></a>

Esse componente inclui o seguinte licenciamento/software de terceiros:
+ [AWS IoT Cliente de dispositivo/Licença](https://github.com/awslabs/aws-iot-device-client) Apache 2.0
+ [AWS IoT Device SDK for Java](https://github.com/aws/aws-greengrass-core-sdk-java/)/Licença Apache 2.0
+ [gson](https://github.com/google/gson)/Licença do Apache 2.0
+ [log4j](https://logging.apache.org/log4j/2.x/)/Licença do Apache 2.0
+ [slf4j](http://www.slf4j.org/)/Licença do Apache 2.0

## Uso
<a name="secure-tunneling-component-usage"></a>

Para usar o componente de Criação Segura de Túneis em seu dispositivo, faça o seguinte:

1. Implante o componente de Criação Segura de Túneis em seu dispositivo.

1. Abra o [console de AWS IoT](https://console.aws.amazon.com/iot). No menu esquerdo, escolha **Ações remotas** e, depois, **Túneis seguros**.

1. Crie um túnel para o dispositivo do Greengrass. 

1. Faça download do token de acesso de origem.

1. Use o proxy local com o token de acesso de origem para se conectar ao seu destino. Para obter mais informações, consulte [Como usar o proxy local](https://docs.aws.amazon.com/iot/latest/developerguide/how-use-local-proxy.html) no *Guia do desenvolvedor do AWS IoT *.

## Consulte também
<a name="secure-tunneling-component-see-also"></a>
+ [AWS IoT tunelamento seguro no Guia](https://docs.aws.amazon.com/iot/latest/developerguide/secure-tunneling.html) *do desenvolvedor AWS IoT *
+ [Como usar o proxy local](https://docs.aws.amazon.com/iot/latest/developerguide/how-use-local-proxy.html) no *Guia do desenvolvedor do AWS IoT *

## Changelog
<a name="secure-tunneling-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.1.2  |   Esta versão não está mais disponível. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.19  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  Se você usa o proxy local de Criação Segura de Túneis como cliente de origem do túnel, não atualize seu componente para essa versão antes de atualizar o proxy local para a versão 3.1.1 ou mais recente.   | 
|  1.0.18  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  1.0.17  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.16  | Versão atualizada para o núcleo do Greengrass 2.11.0. | 
|  1.0.15  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.14  | Versão atualizada para o núcleo do Greengrass 2.10.0. | 
|  1.0.13  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.12  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.11  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  1.0.10  | Versão atualizada para o núcleo do Greengrass 2.8.0. | 
|  1.0.9  |  Versão atualizada para o núcleo do Greengrass 2.7.0.  | 
|  1.0.8  |  Versão atualizada para o núcleo do Greengrass 2.6.0.  | 
|  1.0.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/secure-tunneling-component.html)  | 
|  1.0.6  |  Esta versão contém correções de erros.  | 
|  1.0.5  |  Versão atualizada para o núcleo do Greengrass 2.5.0.  | 
|  1.0.4  |  Versão atualizada para o núcleo do Greengrass 2.4.0.  | 
|  1.0.3  |  Versão atualizada para o núcleo do Greengrass 2.3.0.  | 
|  1.0.2  |  Versão atualizada para o núcleo do Greengrass 2.2.0.  | 
|  1.0.1  |  Versão atualizada para o núcleo do Greengrass 2.1.0.  | 
|  1.0.0  |  Versão inicial.  | 

# Gerenciador de sombras
<a name="shadow-manager-component"></a>

O componente Gerenciador de sombras (`aws.greengrass.ShadowManager`) habilita o serviço de sombra local no dispositivo principal. O serviço de sombra local permite que os componentes usem a comunicação entre processos para [interagir com as sombras locais](ipc-local-shadows.md). O componente shadow manager gerencia o armazenamento de documentos paralelos locais e também gerencia a sincronização dos estados de sombra locais com o serviço AWS IoT Device Shadow.

Para obter mais informações sobre como os dispositivos principais do Greengrass podem interagir com as sombras, consulte [Interaja com as sombras do dispositivo](interact-with-shadows.md).

**Topics**
+ [Versões](#shadow-manager-component-versions)
+ [Tipo](#shadow-manager-component-type)
+ [Sistema operacional](#shadow-manager-component-os-support)
+ [Requisitos](#shadow-manager-component-requirements)
+ [Dependências](#shadow-manager-component-dependencies)
+ [Configuração](#shadow-manager-component-configuration)
+ [Arquivo de log local](#shadow-manager-component-log-file)
+ [Changelog](#shadow-manager-component-changelog)

## Versões
<a name="shadow-manager-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="shadow-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Este componente é um componente de plug-in (`aws.greengrass.plugin`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo é reiniciado quando você altera a versão desse componente no dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Esse componente usa o mesmo arquivo de log do Greengrass nucleus. Para obter mais informações, consulte [Monitore AWS IoT Greengrass logs](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="shadow-manager-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="shadow-manager-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ (Opcional) Para sincronizar sombras com o serviço AWS IoT Device Shadow, a política do dispositivo principal AWS IoT do Greengrass deve permitir as AWS IoT Core seguintes ações de política paralela:
  + `iot:GetThingShadow`
  + `iot:UpdateThingShadow`
  + `iot:DeleteThingShadow`

  Para obter mais informações sobre essas AWS IoT Core políticas, consulte [as ações AWS IoT Core políticas](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html) no *Guia do AWS IoT desenvolvedor*.

  Para obter mais informações sobre a AWS IoT política mínima, consulte [AWS IoT Política mínima para dispositivos AWS IoT Greengrass V2 principais](device-auth.md#greengrass-core-minimal-iot-policy)
+ O componente Gerenciador de sombras é compatível para execução em uma VPC.

## Dependências
<a name="shadow-manager-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#shadow-manager-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.3.13 ]

A tabela a seguir lista as dependências da versão 2.3.13 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5.0 <2,17,0 | Flexível | 

------
#### [ 2.3.12 ]

A tabela a seguir lista as dependências da versão 2.3.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5.0 <2,17,0 | Flexível | 

------
#### [ 2.3.11 ]

A tabela a seguir lista as dependências da versão 2.3.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5.0 <2,16,0 | Flexível | 

------
#### [ 2.3.10 ]

A tabela a seguir lista as dependências da versão 2.3.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2,5.0 <2,15.0 | Flexível | 

------
#### [ 2.3.9 ]

A tabela a seguir lista as dependências da versão 2.3.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.14.0 | Flexível | 

------
#### [ 2.3.5 – 2.3.8 ]

A tabela a seguir lista as dependências das versões 2.3.5 a 2.3.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.13.0 | Flexível | 

------
#### [ 2.3.3 and 2.3.4 ]

A tabela a seguir lista as dependências das versões 2.3.3 e 2.3.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.12.0 | Flexível | 

------
#### [ 2.3.2 ]

A tabela a seguir lista as dependências da versão 2.3.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.11.0 | Flexível | 

------
#### [ 2.3.0 and 2.3.1 ]

A tabela a seguir lista as dependências das versões 2.3.0 e 2.3.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.10.0 | Flexível | 

------
#### [ 2.2.3 and 2.2.4 ]

A tabela a seguir lista as dependências das versões 2.2.3 e 2.2.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <3.0.0 | Flexível | 

------
#### [ 2.2.2 ]

A tabela a seguir lista as dependências da versão 2.2.2 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.9.0 | Flexível | 

------
#### [ 2.2.1 ]

A tabela a seguir lista as dependências da versão 2.2.1 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.8.0 | Flexível | 

------
#### [ 2.1.1 and 2.2.0 ]

A tabela a seguir lista as dependências das versões 2.1.1 e 2.2.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.7.0 | Flexível | 

------
#### [ 2.0.5 - 2.1.0 ]

A tabela a seguir lista as dependências das versões 2.0.5 a 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.6.0 | Flexível | 

------
#### [ 2.0.3 and 2.0.4 ]

A tabela a seguir lista as dependências das versões 2.0.3 e 2.0.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.5.0 | Flexível | 

------
#### [ 2.0.1 and 2.0.2 ]

A tabela a seguir lista as dependências das versões 2.0.1 e 2.0.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.4.0 | Flexível | 

------
#### [ 2.0.0 ]

A seguinte tabela lista as dependências da versão 2.0.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.2.0 <2.3.0 | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="shadow-manager-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ 2.3.x ]

`strategy`  <a name="shadow-manager-component-configuration-strategy"></a>
(Opcional) A estratégia que esse componente usa para sincronizar sombras entre AWS IoT Core e o dispositivo principal.  
Esse objeto contém as informações a seguir.    
`type`  
(Opcional) O tipo de estratégia que esse componente usa para sincronizar as sombras entre o AWS IoT Core e o dispositivo principal. Escolha uma das seguintes opções:  
+ `realTime`— Sincronize sombras AWS IoT Core sempre que ocorrer uma atualização de sombras.
+ `periodic`— Sincronize sombras AWS IoT Core em um intervalo regular que você especifica com o parâmetro `delay` de configuração.
Padrão: `realTime`  
`delay`  
(Opcional) O intervalo em segundos no qual esse componente sincroniza as sombras com o AWS IoT Core quando você especifica a estratégia de sincronização `periodic`.  
Esse parâmetro será obrigatório se você especificar a estratégia de sincronização `periodic`.

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>(Opcional) As configurações de sincronização que determinam como as sombras são sincronizadas com a Nuvem AWS.   
É necessário criar uma atualização de configuração com essa propriedade para sincronizar as sombras com a Nuvem AWS.
Esse objeto contém as informações abaixo.    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
(Opcional) A sombra do dispositivo principal para sincronização. Esse objeto contém as informações a seguir.    
`classic`  
(Opcional) Por padrão, o Gerenciador de sombras sincroniza o estado local da sombra clássica do seu dispositivo núcleo com a Nuvem AWS. Se você não deseja sincronizar a sombra clássica do dispositivo, defina essa propriedade como `false`.  
Padrão: `true`  
`namedShadows`  
(Opcional) A lista de sombras nomeadas do dispositivo principal para sincronização. É necessário especificar os nomes exatos das sombras.  
O AWS IoT Greengrass serviço usa a sombra `AWSManagedGreengrassV2Deployment` nomeada para gerenciar implantações direcionadas a dispositivos principais individuais. Essa sombra nomeada é reservada para uso pelo AWS IoT Greengrass serviço. Não a atualize nem exclua.  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
(Opcional) As sombras adicionais do dispositivo para sincronização. O uso desse parâmetro de configuração facilita a especificação de documentos de sombra. Recomendamos o uso deste parâmetro, em vez do objeto `shadowDocuments`.  
Se você especificar um objeto `shadowDocumentsMap`, não deverá especificar o `shadowDocuments`.
Cada objeto contém as seguintes informações:    
*`thingName`*  
A configuração de sombra *thingName* para esta configuração de sombra.    
`classic`  
(Opcional) Se você não deseja sincronizar a sombra clássica do dispositivo `thingName`, defina essa propriedade como `false`.  
`namedShadows`  
A lista de sombras nomeadas que você deseja sincronizar. É necessário especificar os nomes exatos das sombras.  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
(Opcional) A lista de sombras adicionais do dispositivo para sincronização. Em vez disso, recomendamos o uso do parâmetro `shadowDocumentsMap`.  
Se você especificar um objeto `shadowDocuments`, não deverá especificar o `shadowDocumentsMap`.
Cada objeto na lista contém as informações abaixo.     
`thingName`  
O nome do item do dispositivo com o qual sincronizar as sombras.   
`classic`  
(Opcional) Se você não deseja sincronizar a sombra clássica do dispositivo `thingName`, defina essa propriedade como `false`.  
Padrão: `true`  
`namedShadows`  
(Opcional) A lista de sombras nomeadas do dispositivo que você deseja sincronizar. É necessário especificar os nomes exatos das sombras.  
`direction`  
(Opcional) A direção de sincronização das sombras entre o serviço de sombra local e a Nuvem AWS. É possível configurar essa opção para reduzir a largura de banda e as conexões com a Nuvem AWS. Escolha uma das seguintes opções:  
+ `betweenDeviceAndCloud`: sincronizar as sombras entre o serviço de sombra local e a Nuvem AWS.
+ `deviceToCloud`— Envie atualizações paralelas do serviço paralelo local para o. Nuvem AWS e ignore as atualizações paralelas do Nuvem AWS.
+ `cloudToDevice`: receber as atualizações de sombras da Nuvem AWS e não enviar as atualizações de sombras do serviço de sombra local para a Nuvem AWS.
Padrão: `BETWEEN_DEVICE_AND_CLOUD`

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
(Opcional) As configurações que determinam os limites de taxa para solicitações de serviço de sombra.  
Esse objeto contém as informações abaixo.    
`maxOutboundSyncUpdatesPerSecond`  
(Opcional) O número máximo de solicitações de sincronização por segundo que o dispositivo transmite.   
Padrão: 100 solicitações por segundo  
`maxTotalLocalRequestsRate`  
(Opcional) O número máximo de solicitações do IPC locais por segundo enviadas ao dispositivo principal.   
Padrão: 200 solicitações por segundo  
`maxLocalRequestsPerSecondPerThing`  
(Opcional) O número máximo de solicitações do IPC locais por segundo enviadas para cada item conectado do IoT.   
Padrão: 20 requests/second para cada coisa
Esses parâmetros de limite de taxa definem o número máximo de solicitações por segundo para o serviço de sombra local. O número máximo de solicitações por segundo para o serviço AWS IoT Device Shadow depende do seu Região da AWS. Para obter mais informações, consulte os limites da [API de serviços do AWS IoT Device Shadow](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) em *Referência geral da Amazon Web Services*.

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
(Opcional) O tamanho máximo permitido de cada documento de estado em JSON para sombras locais.   
Se você aumentar esse valor, deverá também aumentar o limite de recursos para o documento de estado em JSON para as sombras na nuvem. Para obter mais informações, consulte os limites da [API de serviços do AWS IoT Device Shadow](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) em *Referência geral da Amazon Web Services*.  
Padrão: 8192 bytes  
Máximo: 30720 bytes

**Example Exemplo: atualização da mesclagem de configuração**  
Veja a seguir exemplo de atualização da mesclagem de configuração com todos os parâmetros de configuração disponíveis para o componente Gerenciador de sombras.  

```
{
   "strategy":{
      "type":"periodic",
      "delay":300
   },
   "synchronize":{
      "shadowDocumentsMap":{
         "MyDevice1":{
            "classic":false,
            "namedShadows":[
               "MyShadowA",
               "MyShadowB"
            ]
         },
         "MyDevice2":{
            "classic":true,
            "namedShadows":[]
         }
      },
      "direction":"betweenDeviceAndCloud"
   },
   "rateLimits":{
      "maxOutboundSyncUpdatesPerSecond":100,
      "maxTotalLocalRequestsRate":200,
      "maxLocalRequestsPerSecondPerThing":20
   },
   "shadowDocumentSizeLimitBytes":8192
}
```

------
#### [ 2.2.x ]

`strategy`  <a name="shadow-manager-component-configuration-strategy"></a>
(Opcional) A estratégia que esse componente usa para sincronizar sombras entre AWS IoT Core e o dispositivo principal.  
Esse objeto contém as informações a seguir.    
`type`  
(Opcional) O tipo de estratégia que esse componente usa para sincronizar as sombras entre o AWS IoT Core e o dispositivo principal. Escolha uma das seguintes opções:  
+ `realTime`— Sincronize sombras AWS IoT Core sempre que ocorrer uma atualização de sombras.
+ `periodic`— Sincronize sombras AWS IoT Core em um intervalo regular que você especifica com o parâmetro `delay` de configuração.
Padrão: `realTime`  
`delay`  
(Opcional) O intervalo em segundos no qual esse componente sincroniza as sombras com o AWS IoT Core quando você especifica a estratégia de sincronização `periodic`.  
Esse parâmetro será obrigatório se você especificar a estratégia de sincronização `periodic`.

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>(Opcional) As configurações de sincronização que determinam como as sombras são sincronizadas com a Nuvem AWS.   
É necessário criar uma atualização de configuração com essa propriedade para sincronizar as sombras com a Nuvem AWS.
Esse objeto contém as informações abaixo.    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
(Opcional) A sombra do dispositivo principal para sincronização. Esse objeto contém as informações a seguir.    
`classic`  
(Opcional) Por padrão, o Gerenciador de sombras sincroniza o estado local da sombra clássica do seu dispositivo núcleo com a Nuvem AWS. Se você não deseja sincronizar a sombra clássica do dispositivo, defina essa propriedade como `false`.  
Padrão: `true`  
`namedShadows`  
(Opcional) A lista de sombras nomeadas do dispositivo principal para sincronização. É necessário especificar os nomes exatos das sombras.  
O AWS IoT Greengrass serviço usa a sombra `AWSManagedGreengrassV2Deployment` nomeada para gerenciar implantações direcionadas a dispositivos principais individuais. Essa sombra nomeada é reservada para uso pelo AWS IoT Greengrass serviço. Não a atualize nem exclua.  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
(Opcional) As sombras adicionais do dispositivo para sincronização. O uso desse parâmetro de configuração facilita a especificação de documentos de sombra. Recomendamos o uso deste parâmetro, em vez do objeto `shadowDocuments`.  
Se você especificar um objeto `shadowDocumentsMap`, não deverá especificar o `shadowDocuments`.
Cada objeto contém as seguintes informações:    
*`thingName`*  
A configuração de sombra *thingName* para esta configuração de sombra.    
`classic`  
(Opcional) Se você não deseja sincronizar a sombra clássica do dispositivo `thingName`, defina essa propriedade como `false`.  
`namedShadows`  
A lista de sombras nomeadas que você deseja sincronizar. É necessário especificar os nomes exatos das sombras.  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
(Opcional) A lista de sombras adicionais do dispositivo para sincronização. Em vez disso, recomendamos o uso do parâmetro `shadowDocumentsMap`.  
Se você especificar um objeto `shadowDocuments`, não deverá especificar o `shadowDocumentsMap`.
Cada objeto na lista contém as informações abaixo.     
`thingName`  
O nome do item do dispositivo com o qual sincronizar as sombras.   
`classic`  
(Opcional) Se você não deseja sincronizar a sombra clássica do dispositivo `thingName`, defina essa propriedade como `false`.  
Padrão: `true`  
`namedShadows`  
(Opcional) A lista de sombras nomeadas do dispositivo que você deseja sincronizar. É necessário especificar os nomes exatos das sombras.  
`direction`  
(Opcional) A direção de sincronização das sombras entre o serviço de sombra local e a Nuvem AWS. É possível configurar essa opção para reduzir a largura de banda e as conexões com a Nuvem AWS. Escolha uma das seguintes opções:  
+ `betweenDeviceAndCloud`: sincronizar as sombras entre o serviço de sombra local e a Nuvem AWS.
+ `deviceToCloud`— Envie atualizações paralelas do serviço paralelo local para o. Nuvem AWS e ignore as atualizações paralelas do Nuvem AWS.
+ `cloudToDevice`: receber as atualizações de sombras da Nuvem AWS e não enviar as atualizações de sombras do serviço de sombra local para a Nuvem AWS.
Padrão: `BETWEEN_DEVICE_AND_CLOUD`

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
(Opcional) As configurações que determinam os limites de taxa para solicitações de serviço de sombra.  
Esse objeto contém as informações abaixo.    
`maxOutboundSyncUpdatesPerSecond`  
(Opcional) O número máximo de solicitações de sincronização por segundo que o dispositivo transmite.   
Padrão: 100 solicitações por segundo  
`maxTotalLocalRequestsRate`  
(Opcional) O número máximo de solicitações do IPC locais por segundo enviadas ao dispositivo principal.   
Padrão: 200 solicitações por segundo  
`maxLocalRequestsPerSecondPerThing`  
(Opcional) O número máximo de solicitações do IPC locais por segundo enviadas para cada item conectado do IoT.   
Padrão: 20 requests/second para cada coisa
Esses parâmetros de limite de taxa definem o número máximo de solicitações por segundo para o serviço de sombra local. O número máximo de solicitações por segundo para o serviço AWS IoT Device Shadow depende do seu Região da AWS. Para obter mais informações, consulte os limites da [API de serviços do AWS IoT Device Shadow](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) em *Referência geral da Amazon Web Services*.

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
(Opcional) O tamanho máximo permitido de cada documento de estado em JSON para sombras locais.   
Se você aumentar esse valor, deverá também aumentar o limite de recursos para o documento de estado em JSON para as sombras na nuvem. Para obter mais informações, consulte os limites da [API de serviços do AWS IoT Device Shadow](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) em *Referência geral da Amazon Web Services*.  
Padrão: 8192 bytes  
Máximo: 30720 bytes

**Example Exemplo: atualização da mesclagem de configuração**  
Veja a seguir exemplo de atualização da mesclagem de configuração com todos os parâmetros de configuração disponíveis para o componente Gerenciador de sombras.  

```
{
   "strategy":{
      "type":"periodic",
      "delay":300
   },
   "synchronize":{
      "shadowDocumentsMap":{
         "MyDevice1":{
            "classic":false,
            "namedShadows":[
               "MyShadowA",
               "MyShadowB"
            ]
         },
         "MyDevice2":{
            "classic":true,
            "namedShadows":[]
         }
      },
      "direction":"betweenDeviceAndCloud"
   },
   "rateLimits":{
      "maxOutboundSyncUpdatesPerSecond":100,
      "maxTotalLocalRequestsRate":200,
      "maxLocalRequestsPerSecondPerThing":20
   },
   "shadowDocumentSizeLimitBytes":8192
}
```

------
#### [ 2.1.x ]

`strategy`  <a name="shadow-manager-component-configuration-strategy"></a>
(Opcional) A estratégia que esse componente usa para sincronizar sombras entre AWS IoT Core e o dispositivo principal.  
Esse objeto contém as informações a seguir.    
`type`  
(Opcional) O tipo de estratégia que esse componente usa para sincronizar as sombras entre o AWS IoT Core e o dispositivo principal. Escolha uma das seguintes opções:  
+ `realTime`— Sincronize sombras AWS IoT Core sempre que ocorrer uma atualização de sombras.
+ `periodic`— Sincronize sombras AWS IoT Core em um intervalo regular que você especifica com o parâmetro `delay` de configuração.
Padrão: `realTime`  
`delay`  
(Opcional) O intervalo em segundos no qual esse componente sincroniza as sombras com o AWS IoT Core quando você especifica a estratégia de sincronização `periodic`.  
Esse parâmetro será obrigatório se você especificar a estratégia de sincronização `periodic`.

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>(Opcional) As configurações de sincronização que determinam como as sombras são sincronizadas com a Nuvem AWS.   
É necessário criar uma atualização de configuração com essa propriedade para sincronizar as sombras com a Nuvem AWS.
Esse objeto contém as informações abaixo.    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
(Opcional) A sombra do dispositivo principal para sincronização. Esse objeto contém as informações a seguir.    
`classic`  
(Opcional) Por padrão, o Gerenciador de sombras sincroniza o estado local da sombra clássica do seu dispositivo núcleo com a Nuvem AWS. Se você não deseja sincronizar a sombra clássica do dispositivo, defina essa propriedade como `false`.  
Padrão: `true`  
`namedShadows`  
(Opcional) A lista de sombras nomeadas do dispositivo principal para sincronização. É necessário especificar os nomes exatos das sombras.  
O AWS IoT Greengrass serviço usa a sombra `AWSManagedGreengrassV2Deployment` nomeada para gerenciar implantações direcionadas a dispositivos principais individuais. Essa sombra nomeada é reservada para uso pelo AWS IoT Greengrass serviço. Não a atualize nem exclua.  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
(Opcional) As sombras adicionais do dispositivo para sincronização. O uso desse parâmetro de configuração facilita a especificação de documentos de sombra. Recomendamos o uso deste parâmetro, em vez do objeto `shadowDocuments`.  
Se você especificar um objeto `shadowDocumentsMap`, não deverá especificar o `shadowDocuments`.
Cada objeto contém as seguintes informações:    
*`thingName`*  
A configuração de sombra *thingName* para esta configuração de sombra.    
`classic`  
(Opcional) Se você não deseja sincronizar a sombra clássica do dispositivo `thingName`, defina essa propriedade como `false`.  
`namedShadows`  
A lista de sombras nomeadas que você deseja sincronizar. É necessário especificar os nomes exatos das sombras.  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
(Opcional) A lista de sombras adicionais do dispositivo para sincronização. Em vez disso, recomendamos o uso do parâmetro `shadowDocumentsMap`.  
Se você especificar um objeto `shadowDocuments`, não deverá especificar o `shadowDocumentsMap`.
Cada objeto na lista contém as informações abaixo.     
`thingName`  
O nome do item do dispositivo com o qual sincronizar as sombras.   
`classic`  
(Opcional) Se você não deseja sincronizar a sombra clássica do dispositivo `thingName`, defina essa propriedade como `false`.  
Padrão: `true`  
`namedShadows`  
(Opcional) A lista de sombras nomeadas do dispositivo que você deseja sincronizar. É necessário especificar os nomes exatos das sombras.

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
(Opcional) As configurações que determinam os limites de taxa para solicitações de serviço de sombra.  
Esse objeto contém as informações abaixo.    
`maxOutboundSyncUpdatesPerSecond`  
(Opcional) O número máximo de solicitações de sincronização por segundo que o dispositivo transmite.   
Padrão: 100 solicitações por segundo  
`maxTotalLocalRequestsRate`  
(Opcional) O número máximo de solicitações do IPC locais por segundo enviadas ao dispositivo principal.   
Padrão: 200 solicitações por segundo  
`maxLocalRequestsPerSecondPerThing`  
(Opcional) O número máximo de solicitações do IPC locais por segundo enviadas para cada item conectado do IoT.   
Padrão: 20 requests/second para cada coisa
Esses parâmetros de limite de taxa definem o número máximo de solicitações por segundo para o serviço de sombra local. O número máximo de solicitações por segundo para o serviço AWS IoT Device Shadow depende do seu Região da AWS. Para obter mais informações, consulte os limites da [API de serviços do AWS IoT Device Shadow](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) em *Referência geral da Amazon Web Services*.

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
(Opcional) O tamanho máximo permitido de cada documento de estado em JSON para sombras locais.   
Se você aumentar esse valor, deverá também aumentar o limite de recursos para o documento de estado em JSON para as sombras na nuvem. Para obter mais informações, consulte os limites da [API de serviços do AWS IoT Device Shadow](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) em *Referência geral da Amazon Web Services*.  
Padrão: 8192 bytes  
Máximo: 30720 bytes

**Example Exemplo: atualização da mesclagem de configuração**  
Veja a seguir exemplo de atualização da mesclagem de configuração com todos os parâmetros de configuração disponíveis para o componente Gerenciador de sombras.  

```
{
   "strategy":{
      "type":"periodic",
      "delay":300
   },
   "synchronize":{
      "shadowDocumentsMap":{
         "MyDevice1":{
            "classic":false,
            "namedShadows":[
               "MyShadowA",
               "MyShadowB"
            ]
         },
         "MyDevice2":{
            "classic":true,
            "namedShadows":[]
         }
      },
      "direction":"betweenDeviceAndCloud"
   },
   "rateLimits":{
      "maxOutboundSyncUpdatesPerSecond":100,
      "maxTotalLocalRequestsRate":200,
      "maxLocalRequestsPerSecondPerThing":20
   },
   "shadowDocumentSizeLimitBytes":8192
}
```

------
#### [ 2.0.x ]

`synchronize`  <a name="shadow-manager-component-configuration-synchronize"></a>
<a name="shadow-manager-component-configuration-strategy-description"></a>(Opcional) As configurações de sincronização que determinam como as sombras são sincronizadas com a Nuvem AWS.   
É necessário criar uma atualização de configuração com essa propriedade para sincronizar as sombras com a Nuvem AWS.
Esse objeto contém as informações abaixo.    
`coreThing`  <a name="shadow-manager-component-configuration-synchronize-core-thing"></a>
(Opcional) A sombra do dispositivo principal para sincronização. Esse objeto contém as informações a seguir.    
`classic`  
(Opcional) Por padrão, o Gerenciador de sombras sincroniza o estado local da sombra clássica do seu dispositivo núcleo com a Nuvem AWS. Se você não deseja sincronizar a sombra clássica do dispositivo, defina essa propriedade como `false`.  
Padrão: `true`  
`namedShadows`  
(Opcional) A lista de sombras nomeadas do dispositivo principal para sincronização. É necessário especificar os nomes exatos das sombras.  
O AWS IoT Greengrass serviço usa a sombra `AWSManagedGreengrassV2Deployment` nomeada para gerenciar implantações direcionadas a dispositivos principais individuais. Essa sombra nomeada é reservada para uso pelo AWS IoT Greengrass serviço. Não a atualize nem exclua.  
`shadowDocumentsMap`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents-map"></a>
(Opcional) As sombras adicionais do dispositivo para sincronização. O uso desse parâmetro de configuração facilita a especificação de documentos de sombra. Recomendamos o uso deste parâmetro, em vez do objeto `shadowDocuments`.  
Se você especificar um objeto `shadowDocumentsMap`, não deverá especificar o `shadowDocuments`.
Cada objeto contém as seguintes informações:    
*`thingName`*  
A configuração de sombra *thingName* para esta configuração de sombra.    
`classic`  
(Opcional) Se você não deseja sincronizar a sombra clássica do dispositivo `thingName`, defina essa propriedade como `false`.  
`namedShadows`  
A lista de sombras nomeadas que você deseja sincronizar. É necessário especificar os nomes exatos das sombras.  
`shadowDocuments`  <a name="shadow-manager-component-configuration-synchronize-shadow-documents"></a>
(Opcional) A lista de sombras adicionais do dispositivo para sincronização. Em vez disso, recomendamos o uso do parâmetro `shadowDocumentsMap`.  
Se você especificar um objeto `shadowDocuments`, não deverá especificar o `shadowDocumentsMap`.
Cada objeto na lista contém as informações abaixo.     
`thingName`  
O nome do item do dispositivo com o qual sincronizar as sombras.   
`classic`  
(Opcional) Se você não deseja sincronizar a sombra clássica do dispositivo `thingName`, defina essa propriedade como `false`.  
Padrão: `true`  
`namedShadows`  
(Opcional) A lista de sombras nomeadas do dispositivo que você deseja sincronizar. É necessário especificar os nomes exatos das sombras.

`rateLimits`  <a name="shadow-manager-component-configuration-rate-limits"></a>
(Opcional) As configurações que determinam os limites de taxa para solicitações de serviço de sombra.  
Esse objeto contém as informações abaixo.    
`maxOutboundSyncUpdatesPerSecond`  
(Opcional) O número máximo de solicitações de sincronização por segundo que o dispositivo transmite.   
Padrão: 100 solicitações por segundo  
`maxTotalLocalRequestsRate`  
(Opcional) O número máximo de solicitações do IPC locais por segundo enviadas ao dispositivo principal.   
Padrão: 200 solicitações por segundo  
`maxLocalRequestsPerSecondPerThing`  
(Opcional) O número máximo de solicitações do IPC locais por segundo enviadas para cada item conectado do IoT.   
Padrão: 20 requests/second para cada coisa
Esses parâmetros de limite de taxa definem o número máximo de solicitações por segundo para o serviço de sombra local. O número máximo de solicitações por segundo para o serviço AWS IoT Device Shadow depende do seu Região da AWS. Para obter mais informações, consulte os limites da [API de serviços do AWS IoT Device Shadow](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) em *Referência geral da Amazon Web Services*.

`shadowDocumentSizeLimitBytes`  <a name="shadow-manager-component-configuration-shadow-document-size-limit-bytes"></a>
(Opcional) O tamanho máximo permitido de cada documento de estado em JSON para sombras locais.   
Se você aumentar esse valor, deverá também aumentar o limite de recursos para o documento de estado em JSON para as sombras na nuvem. Para obter mais informações, consulte os limites da [API de serviços do AWS IoT Device Shadow](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#device-shadow-limits) em *Referência geral da Amazon Web Services*.  
Padrão: 8192 bytes  
Máximo: 30720 bytes

**Example Exemplo: atualização da mesclagem de configuração**  
Veja a seguir exemplo de atualização da mesclagem de configuração com todos os parâmetros de configuração disponíveis para o componente Gerenciador de sombras.  

```
{
  "synchronize": {
    "coreThing": {
      "classic": true,
      "namedShadows": [
        "MyCoreShadowA",
        "MyCoreShadowB"
      ]
    },
    "shadowDocuments": [
      {
        "thingName": "MyDevice1",
        "classic": false,
        "namedShadows": [
          "MyShadowA",
          "MyShadowB"
        ]
      },
      {
        "thingName": "MyDevice2",
        "classic": true,
        "namedShadows": []
      }
    ]
  },
  "rateLimits": {       
    "maxOutboundSyncUpdatesPerSecond": 100,
    "maxTotalLocalRequestsRate": 200,
    "maxLocalRequestsPerSecondPerThing": 20
  },
  "shadowDocumentSizeLimitBytes": 8192
}
```

------

## Arquivo de log local
<a name="shadow-manager-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="shadow-manager-component-changelog"></a>

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


|  Versão  |  Alterações  | 
| --- | --- | 
|  2.3.13  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.12  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.11  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.3.10  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  2.3.9  | Versão atualizada para o núcleo do Greengrass 2.13.0. | 
|  2.3.8  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.7  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.6  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.5  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.3.4  |  <a name="changelog-shadow-manager-2.3.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.3.3  | Versão atualizada para o núcleo do Greengrass 2.11.0. | 
|  2.3.2  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.1  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.3.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.2.4  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html) | 
|  2.2.3  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.2.2  | Versão atualizada para o núcleo do Greengrass 2.8.0. | 
|  2.2.1  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.2.0  |  <a name="changelog-shadow-manager-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.0.6  |  Essa versão contém correções de bugs e melhorias.  | 
|  2.0.5  |  Versão atualizada para o núcleo do Greengrass 2.5.0.  | 
|  2.0.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.0.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/shadow-manager-component.html)  | 
|  2.0.1  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.0  |  Versão inicial.  | 

# Amazon SNS
<a name="sns-component"></a>

O componente do Amazon SNS (`aws.greengrass.SNS`) publica as mensagens em um tópico do Amazon Simple Notification Service (Amazon SNS). Você pode usar esse componente para enviar eventos dos dispositivos principais do Greengrass para servidores Web, endereços de e-mail e outros assinantes de mensagens. Para obter mais informações, consulte [O que é o Amazon SNS?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) no *Guia do desenvolvedor do Amazon Simple Notification Service*.

Para publicar em um tópico do Amazon SNS com esse componente, publique uma mensagem no tópico de assinatura desse componente. Por padrão, esse componente assina o tópico [local de publicação/assinatura](ipc-publish-subscribe.md) `sns/message`. Você pode especificar outros tópicos, incluindo tópicos do AWS IoT Core MQTT, ao implantar esse componente.

Em seu componente personalizado, você pode implementar a lógica de filtragem ou de formatação para processar mensagens de outras fontes antes de publicá-las nesse componente. Esse procedimento permite que você centralize a lógica de processamento de mensagens em um único componente.

**nota**  
Esse componente fornece funcionalidade semelhante ao conector Amazon SNS na AWS IoT Greengrass V1. Para obter mais informações, consulte [Conector do Amazon SNS](https://docs.aws.amazon.com/greengrass/latest/developerguide/sns-connector.html) no *Guia do desenvolvedor do AWS IoT Greengrass V1*.

**Topics**
+ [Versões](#sns-component-versions)
+ [Tipo](#sns-component-type)
+ [Sistema operacional](#sns-component-os-support)
+ [Requisitos](#sns-component-requirements)
+ [Dependências](#sns-component-dependencies)
+ [Configuração](#sns-component-configuration)
+ [Dados de entrada](#sns-component-input-data)
+ [Dados de saída](#sns-component-output-data)
+ [Arquivo de log local](#sns-component-log-file)
+ [Licenças](#sns-component-licenses)
+ [Changelog](#sns-component-changelog)

## Versões
<a name="sns-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x
+ 2.0.x

## Tipo
<a name="sns-component-type"></a>

<a name="public-component-type-lambda"></a>Esse <a name="public-component-type-lambda-phrase"></a>é um componente do Lambda (`aws.greengrass.lambda`).. O [Greengrass nucleus](greengrass-nucleus-component.md) executa a função do Lambda desse componente usando o [componente inicializador do Lambda](lambda-launcher-component.md).

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="sns-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Requisitos
<a name="sns-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ <a name="core-device-lambda-function-requirements"></a>O dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você deseja que o dispositivo principal execute funções do Lambda em contêiner, o dispositivo deve atender aos requisitos para isso. Para obter mais informações, consulte [Requisitos da função do Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ <a name="public-component-python3-requirement"></a>[Python](https://www.python.org/) versão 3.7 instalado no dispositivo de núcleo e adicionado à variável de ambiente PATH.
+ Um tópico do Amazon SNS. Para obter mais informações, consulte [Criação de um tópico do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) no *Guia do desenvolvedor do Amazon Simple Notification Service*.
+ A [função do dispositivo do Greengrass](device-service-role.md) deve permitir a ação `sns:Publish`, conforme mostrado no exemplo de política do IAM abaixo.

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "sns:Publish"
        ],
        "Effect": "Allow",
        "Resource": [
          "arn:aws:sns:us-east-1:123456789012:topic-name"
        ]
      }
    ]
  }
  ```

------

  Você pode substituir o tópico padrão dinamicamente na carga útil da mensagem de entrada nesse componente. Se a aplicação usa esse recurso, a política do IAM deve incluir todos os tópicos de destino como recursos. Você pode conceder acesso granular ou condicional aos recursos (por exemplo, usando um esquema de nomeação `*` curinga).
+ <a name="connector-component-legacy-subscription-router-dependency"></a>Para receber os dados de saída desse componente, você deve mesclar a seguinte atualização de configuração no [componente legado de roteador de assinatura](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) ao implantar esse componente. Essa configuração especifica o tópico em que esse componente publica as respostas.

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-sns": {
        "id": "aws-greengrass-sns",
        "source": "component:aws.greengrass.SNS",
        "subject": "sns/message/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-sns": {
        "id": "aws-greengrass-sns",
        "source": "arn:aws:lambda:region:aws:function:aws-greengrass-sns:version",
        "subject": "sns/message/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + *region*Substitua pelo Região da AWS que você usa.
  + *version*Substitua pela versão da função Lambda que esse componente executa. Para encontrar a versão da função do Lambda, é necessário visualizar a fórmula da versão desse componente que deseja implantar. Abra a página de detalhes do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass) e procure o par de chave/valor da **função do Lambda**. Esse par de chave/valor contém o nome e a versão da função do Lambda.

**Importante**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
É necessário atualizar a versão da função do Lambda no roteador de assinatura legado sempre que implantar esse componente. Isso garante que você use a versão correta da função do Lambda em relação à do componente que é implantado.

------

  <a name="connector-component-create-deployments"></a>Para obter mais informações, consulte [Criar implantações](create-deployments.md).
+ O componente Amazon SNS pode ser executado em uma VPC. Para implantá-lo em uma VPC, o procedimento a seguir é necessário.
  + O componente Amazon SNS deve ter conectividade com a `sns.region.amazonaws.com` que tem o endpoint da VPC de `com.amazonaws.us-east-1.sns`.

### Endpoints e portas
<a name="sns-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `sns.region.amazonaws.com`  | 443 | Sim |  Publique mensagens no Amazon SNS.  | 

## Dependências
<a name="sns-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#sns-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.16.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.15.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.14.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.8 - 2.1.0 ]

A tabela a seguir lista as dependências das versões 2.0.8 e 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.7 ]

A tabela a seguir lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.6 ]

A tabela a seguir lista as dependências da versão 2.0.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.5 ]

A tabela a seguir lista as dependências da versão 2.0.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.4 ]

A tabela a seguir lista as dependências da versão 2.0.4 deste componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | ^2.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | ^2.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | ^2.0.0  | Rígido | 

------
#### [ 2.0.3 ]

A tabela a seguir lista as dependências para a versão 2.0.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.3 <2.1.0  | Rígido | 
| [Inicializador do Lambda](lambda-launcher-component.md) | >=1.0.0  | Rígido | 
| [Lambda runtimes](lambda-runtimes-component.md) | >=1.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) | >=1.0.0  | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="sns-component-configuration"></a>

Esse componente fornece os parâmetros de configuração a seguir, que podem ser personalizados quando você o implanta.

**nota**  <a name="connector-component-lambda-parameters"></a>
A configuração padrão desse componente inclui parâmetros de função do Lambda. Recomendamos que você edite somente os parâmetros a seguir para configurar esse componente em seus dispositivos.

`lambdaParams`  
Um objeto que contém os parâmetros para a função do Lambda desse componente. Esse objeto contém as informações a seguir:    
`EnvironmentVariables`  
Um objeto que contém os parâmetros da função do Lambda. Esse objeto contém as informações a seguir:    
`DEFAULT_SNS_ARN`  
O ARN do tópico padrão do Amazon SNS em que esse componente publica mensagens. Você pode substituir o tópico de destino pela propriedade `sns_topic_arn` na carga útil da mensagem de entrada.

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(Opcional) O modo de conteinerização do componente. Escolha uma das seguintes opções:  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer`; o componente não é executado em um ambiente de runtime isolado.
+ `GreengrassContainer`— O componente é executado em um ambiente de execução isolado dentro do AWS IoT Greengrass contêiner.
Padrão: `GreengrassContainer`

`containerParams`  
<a name="connector-component-container-params-description"></a>(Opcional) Um objeto que contém os parâmetros de contêiner para esse componente. O componente usará esses parâmetros se você especificar `GreengrassContainer` para `containerMode`.  
Esse objeto contém as informações a seguir:    
`memorySize`  
<a name="connector-component-container-params-memory-size-description"></a>(Opcional) A quantidade de memória (em quilobytes) que será alocada para o componente.  
O padrão é de 512 MB (525.312 KB).

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Opcional) Um objeto que contém os tópicos que o componente assina para receber mensagens. Você pode especificar cada tópico e se o componente se inscreve nos tópicos do MQTT AWS IoT Core ou nos tópicos locais publish/subscribe .  
Esse objeto contém as informações a seguir:    
`0`: este é um índice de matriz como uma string.  
Um objeto que contém as seguintes informações:    
`type`  
(Opcional) O tipo de publish/subscribe mensagem que esse componente usa para assinar mensagens. Escolha uma das seguintes opções:  
+ `PUB_SUB` – Assine mensagens locais de publicar/assinar. Se escolher essa opção, o tópico não poderá conter curingas MQTT. Para obter mais informações sobre como enviar mensagens do componente personalizado quando você especifica essa opção, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md).
+ `IOT_CORE`— Assine as mensagens do AWS IoT Core MQTT. Se você escolher essa opção, o tópico poderá conter curingas do MQTT. Para obter mais informações sobre como enviar mensagens de componentes personalizados quando você especifica essa opção, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md).
Padrão: `PUB_SUB`  
`topic`  
(Opcional) O tópico que o componente assina para receber mensagens. Se você especificar `IotCore` para `type`, poderá usar curingas MQTT (`+` e `#`) neste tópico.

**Example Exemplo: atualização da mesclagem de configuração (modo de contêiner)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_SNS_ARN": "arn:aws:sns:us-west-2:123456789012:mytopic"
    }
  },
  "containerMode": "GreengrassContainer"
}
```

**Example Exemplo: atualização da mesclagem de configuração (sem modo de contêiner)**  

```
{
  "lambdaExecutionParameters": {
    "EnvironmentVariables": {
      "DEFAULT_SNS_ARN": "arn:aws:sns:us-west-2:123456789012:mytopic"
    }
  },
  "containerMode": "NoContainer"
}
```

## Dados de entrada
<a name="sns-component-input-data"></a>

Esse componente aceita mensagens no tópico a seguir e as publica no tópico do Amazon SNS de destino exatamente como estão. <a name="connector-component-local-publish"></a>Por padrão, esse componente assina publish/subscribe mensagens locais. Para obter mais informações sobre como publicar mensagens nesse componente a partir de seus componentes personalizados, consulte [Publicar/assinar mensagens locais](ipc-publish-subscribe.md). 

**Tópico padrão (publicação/assinatura local):** `sns/message`

<a name="connector-component-input-properties"></a>A mensagem aceita as propriedades a seguir. As mensagens de entrada devem estar no formato JSON.

`request`  
As informações sobre a mensagem que será enviada ao tópico do Amazon SNS.  
Tipo: `object` que contém as seguintes informações:    
`message`  
O conteúdo da mensagem como uma string.  
Para enviar um objeto JSON, serialize-o como uma string e especifique `json` para a propriedade `message_structure`.  
Tipo: `string`  
`subject`  
(Opcional) O assunto da mensagem.  
Tipo: `string`  
O assunto pode ser um texto ASCII com até 100 caracteres. Ele deve começar com uma letra, um número ou um sinal de pontuação. Ele não deve incluir quebras de linha ou caracteres de controle.  
`sns_topic_arn`  
(Opcional) O ARN do tópico do Amazon SNS em que esse componente publica a mensagem. Especifique essa propriedade para substituir o tópico padrão do Amazon SNS.  
Tipo: `string`  
`message_structure`  
(Opcional) A estrutura da mensagem. Especifique `json` para enviar uma mensagem JSON que você serializa como uma string na propriedade `content`.  
Tipo: `string`  
Valores válidos: `json`

`id`  <a name="connector-component-input-property-id"></a>
Um ID arbitrário para a solicitação. Use essa propriedade para mapear uma solicitação de entrada para uma resposta de saída. Quando você especifica essa propriedade, o componente define a propriedade `id` no objeto de resposta com esse valor.  
Tipo: `string`

**nota**  
O tamanho da mensagem pode ser de no máximo 256 KB.

**Example Exemplo de entrada: mensagem de string**  

```
{
  "request": {
    "subject": "Message subject",
    "message": "Message data",
    "sns_topic_arn": "arn:aws:sns:region:account-id:topic2-name"
  },
  "id": "request123"
}
```

**Example Exemplo de entrada: mensagem JSON**  

```
{
  "request": {
    "subject": "Message subject",
    "message": "{ \"default\": \"Message data\" }",
    "message_structure": "json"
  },
  "id": "request123"
}
```

## Dados de saída
<a name="sns-component-output-data"></a>

 <a name="connector-component-output-data"></a>Por padrão, esse componente publica respostas como dados de saída no tópico do MQTT a seguir. Você deve especificar esse tópico como `subject` na configuração do [componente legado de roteador de assinatura](legacy-subscription-router-component.md). Para obter mais informações sobre como assinar mensagens nesse tópico em seus componentes personalizados, consulte [Publique/assine mensagens MQTT AWS IoT Core](ipc-iot-core-mqtt.md). 

**Tópico padrão (AWS IoT Core MQTT):** `sns/message/status`

**Example Exemplo de resultado: sucesso**  

```
{
  "response": {
    "sns_message_id": "f80a81bc-f44c-56f2-a0f0-d5af6a727c8a",
    "status": "success"
  },
  "id": "request123"
}
```

**Example Exemplo de resultado: falha**  

```
{
  "response" : {
    "error": "InvalidInputException",
    "error_message": "SNS Topic Arn is invalid",
    "status": "fail"
  },
  "id": "request123"
}
```

## Arquivo de log local
<a name="sns-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

```
/greengrass/v2/logs/aws.greengrass.SNS.log
```

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. `/greengrass/v2`Substitua pelo caminho para a pasta AWS IoT Greengrass raiz.

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.SNS.log
  ```

## Licenças
<a name="sns-component-licenses"></a>

Esse componente 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

<a name="component-core-software-license"></a>Esse componente foi lançado nos termos do [Contrato de licença de software de núcleo do Greengrass](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Changelog
<a name="sns-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.10  | Versão atualizada para o Greengrass nucleus versão 2.15.0. | 
|  2.1.9  | Versão atualizada para o Greengrass nucleus versão 2.14.0. | 
|  2.1.8  | Versão atualizada para o núcleo do Greengrass 2.13.0. | 
|  2.1.7  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.6  | Versão atualizada para o núcleo do Greengrass 2.11.0. | 
|  2.1.5  | Versão atualizada para o núcleo do Greengrass 2.10.0. | 
|  2.1.4  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  2.1.3  | Versão atualizada para o núcleo do Greengrass 2.8.0. | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.1  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/sns-component.html)  | 
|  2.0.8  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.0.7  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.0.6  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.0.5  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  2.0.4  |  Versão atualizada para o Greengrass nucleus versão 2.1.0.  | 
|  2.0.3  |  Versão inicial.  | 

# Gerenciador de fluxos
<a name="stream-manager-component"></a>

O componente stream manager (`aws.greengrass.StreamManager`) permite que você processe fluxos de dados a serem transferidos para os dispositivos Nuvem AWS principais do Greengrass.

Para obter mais informações sobre como configurar e usar o Gerenciador de fluxos em componentes personalizados, consulte [Gerenciar fluxos de dados no nos dispositivos principais do Greengrass](manage-data-streams.md).

**Topics**
+ [Versões](#stream-manager-component-versions)
+ [Tipo](#stream-manager-component-type)
+ [Sistema operacional](#stream-manager-component-os-support)
+ [Requisitos](#stream-manager-component-requirements)
+ [Dependências](#stream-manager-component-dependencies)
+ [Configuração](#stream-manager-component-configuration)
+ [Arquivo de log local](#stream-manager-component-log-file)
+ [Changelog](#stream-manager-component-changelog)

## Versões
<a name="stream-manager-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.2.x
+ 2.1.x
+ 2.0.x

**nota**  <a name="stream-manager-upgrade-note"></a>
Se você usa o Gerenciador de fluxos para exportar dados para a nuvem, não pode atualizar a versão 2.0.7 desse componente para uma versão entre 2.0.8 e 2.0.11. Se você está implantando o Gerenciador de fluxos pela primeira vez, é altamente recomendável implantar a versão mais recente desse componente.

## Tipo
<a name="stream-manager-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="stream-manager-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="stream-manager-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ A [função de troca de tokens](device-service-role.md) deve permitir o acesso aos Nuvem AWS destinos que você usa com o gerenciador de stream. Para obter mais informações, consulte:<a name="export-destinations-links"></a>
  + [AWS IoT Analytics canais](stream-export-configurations.md#export-to-iot-analytics)
  + [Amazon Kinesis Data Streams](stream-export-configurations.md#export-to-kinesis)
  + [AWS IoT SiteWise propriedades do ativo](stream-export-configurations.md#export-to-iot-sitewise)
  + [Objetos do Amazon S3](stream-export-configurations.md#export-to-s3)
+ O componente Gerenciador de fluxos é compatível para execução em uma VPC. Para implantá-lo em uma VPC, o procedimento a seguir é necessário.
  + O componente do gerenciador de fluxo deve ter conectividade com o AWS serviço no qual você publica dados.
    + Amazon S3: `com.amazonaws.region.s3`
    + Amazon Kinesis Data Streams: `com.amazonaws.region.kinesis-streams`
    + AWS IoT SiteWise: `com.amazonaws.region.iotsitewise.data`
  + Se você publica dados no Amazon S3 na região `us-east-1`, por padrão, esse componente tenta usar o endpoint global do S3. No entanto, esse endpoint não está disponível por meio do endpoint de interface da VPC do Amazon S3. Para obter mais informações, consulte [Restrições e limitações do AWS PrivateLink Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#privatelink-limitations). Para resolver isso, você pode escolher entre as opções a seguir.
    + Configure o componente Gerenciador de fluxos para usar o endpoint regional do S3 na região `us-east-1` definindo `-Daws.s3UseUsEast1RegionalEndpoint=regional` em `JVM_ARGS`.
    + Crie um endpoint da VPC do gateway do Amazon S3 em vez de um endpoint da VPC de interface do Amazon S3. Os endpoints do gateway do S3 oferecem suporte para acesso ao endpoint global do S3. Para obter mais informações, consulte [Criar um endpoint do gateway](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3).

### Endpoints e portas
<a name="stream-manager-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `iotanalytics.region.amazonaws.com`  | 443 | Não |  Obrigatório se você publicar dados em AWS IoT Analytics.  | 
|  `kinesis.region.amazonaws.com`  | 443 | Não |  Obrigatório se você publica dados no Firehose.  | 
|  `data.iotsitewise.region.amazonaws.com`  | 443 | Não |  Obrigatório se você publicar dados em AWS IoT SiteWise.  | 
|  `*.s3.amazonaws.com`  | 443 | Não |  Obrigatório se você publica dados em buckets do S3. É possível substituir `*` pelo nome de cada bucket em que você publica dados.  | 

## Dependências
<a name="stream-manager-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#stream-manager-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.3 – 2.2.1 ]

A tabela a seguir lista as dependências das versões 2.1.3 a 2.2.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <3.0.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.1.11 – 2.1.12 ]

A tabela a seguir lista as dependências das versões 2.1.11 a 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.13.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.1.9 – 2.1.10 ]

A tabela a seguir lista as dependências das versões 2.1.9 a 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.12.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.1.5 – 2.1.8 ]

A tabela a seguir lista as dependências das versões 2.1.5 a 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.11.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.1.2 – 2.1.4 ]

A tabela a seguir lista as dependências das versões 2.1.2 a 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.10.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.9.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.8.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.0.15 ]

A tabela a seguir lista as dependências da versão 2.0.15 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.7.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.0.13 and 2.0.14 ]

A tabela a seguir lista as dependências das versões 2.0.13 e 2.0.14 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.6.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.0.11 and 2.0.12 ]

A tabela a seguir lista as dependências das versões 2.0.11 e 2.0.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.0.10 ]

A tabela a seguir lista as dependências da versão 2.0.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.0.9 ]

A tabela a seguir lista as dependências da versão 2.0.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.0.8 ]

A tabela a seguir lista as dependências da versão 2.0.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------
#### [ 2.0.7 ]

A tabela a seguir lista as dependências da versão 2.0.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | Flexível | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=0.0.0  | Rígido | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="stream-manager-component-configuration"></a>

Esse componente fornece os parâmetros de configuração a seguir, que podem ser personalizados quando você o implanta.

`STREAM_MANAGER_STORE_ROOT_DIR`  
(Opcional) O caminho absoluto do diretório local usado para armazenar fluxos. Esse valor deve começar com uma barra (por exemplo, `/data`).  
<a name="stream-manager-store-root-dir-parameter-folder-requirements"></a>É necessário especificar uma pasta existente, e o [usuário do sistema que executa o componente do gerenciador de fluxos](configure-greengrass-core-v2.md#configure-component-user) deve ter permissões para ler e gravar nessa pasta. Por exemplo, você pode executar os comandos a seguir para criar e configurar uma pasta, `/var/greengrass/streams`, que você especifica como a pasta raiz do gerenciador de fluxos. Esses comandos permitem que o usuário padrão do sistema, `ggc_user`, leia e grave nessa pasta.  

```
sudo mkdir /var/greengrass/streams
sudo chown ggc_user /var/greengrass/streams
sudo chmod 700 /var/greengrass/streams
```
Padrão: `/greengrass/v2/work/aws.greengrass.StreamManager`

`STREAM_MANAGER_SERVER_PORT`  
(Opcional) O número da porta local usado para comunicação com o Gerenciador de fluxos.  
É possível especificar `0` para usar uma porta disponível aleatória.  
Padrão: `8088`

`STREAM_MANAGER_AUTHENTICATE_CLIENT`  
(Opcional) É possível tornar obrigatória a autenticação dos clientes para que eles possam interagir com o Gerenciador de fluxos. O Stream Manager SDK controla a interação entre os clientes e o Gerenciador de fluxos. Esse parâmetro determina quais clientes podem chamar o Stream Manager SDK para trabalhar com fluxos. Para obter mais informações, consulte [Autenticação do cliente do Gerenciador de fluxos](manage-data-streams.md#stream-manager-security-client-authentication).  
Se você especificar `true`, o Stream Manager SDK permitirá somente componentes do Greengrass como clientes.  
Se você especificar `false`, o Stream Manager SDK permitirá que todos os processos no dispositivo principal sejam clientes.  
Padrão: `true`

`STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH`  
(Opcional) A média de largura de banda máxima (em quilobits por segundo) que o Gerenciador de fluxos pode usar para exportar dados.  
Padrão: sem limite

`STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE`  
(Opcional) O número máximo de tópicos ativos que o Gerenciador de fluxos pode usar para exportar dados.  
O tamanho ideal depende do hardware, do volume do fluxo e do número planejado de fluxos de exportação. Se a velocidade de exportação for lenta, será possível ajustar essa configuração para encontrar o tamanho ideal para seu hardware e caso de negócios. A CPU e a memória do hardware do dispositivo de núcleo são fatores limitantes. Para iniciar, você pode tentar definir esse valor igual ao número de núcleos do processador no dispositivo.  
Tenha cuidado para não definir um tamanho superior ao que o seu hardware pode suportar. Cada fluxo consome recursos de hardware, portanto tente limitar o número de fluxos de exportação em dispositivos restritos.  
Padrão: 5 tópicos

`STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES`  
(Opcional) O tamanho mínimo (em bytes) de uma parte de um upload de várias partes para o Amazon S3. O gerenciador de fluxo usa essa configuração e o tamanho do arquivo de entrada para determinar como agrupar dados em lote em uma solicitação PUT de várias partes.  
O Gerenciador de fluxos usa a propriedade `sizeThresholdForMultipartUploadBytes` de fluxos para determinar se deve exportar para o Amazon S3 como um upload de uma ou de várias partes. Os componentes do AWS IoT Greengrass podem definir esse limite quando criam um fluxo que exporta para o Amazon S3.
Padrão: `5242880` (5 MB) Esse também é o valor mínimo.

`LOG_LEVEL`  
(Opcional) O nível de registro em log do componente. Escolha entre os seguintes níveis de log, listados aqui em ordem de nível:  
+ `TRACE`
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
Padrão: `INFO`

`JVM_ARGS`  
(Opcional) Argumentos personalizados da Java Virtual Machine que serão passados para o Gerenciador de fluxos na inicialização. Separe vários argumentos com espaços.  
Só use esse parâmetro quando precisar substituir as configurações padrão usadas pela JVM. Por exemplo, talvez seja necessário aumentar o tamanho do heap padrão caso você planeje exportar um grande número de fluxos.

`startupTimeoutSeconds`  
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para `ERRORED` se ele exceder esse tempo limite.  
Padrão: `120`

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica o uso de uma porta não padrão.  

```
{
  "STREAM_MANAGER_SERVER_PORT": "18088"
}
```

## Arquivo de log local
<a name="stream-manager-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.StreamManager.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.StreamManager.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.StreamManager.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.StreamManager.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="stream-manager-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.2.1  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.2.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.1.13  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.1.12  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.1.11  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.10  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.9  | Versão atualizada para o núcleo do Greengrass 2.11.0. | 
|  2.1.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.7  |  <a name="changelog-stream-manager-2.1.7"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.6  |  <a name="changelog-stream-manager-2.1.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.5  | Versão atualizada para o núcleo do Greengrass 2.10.0. | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.1  | Versão atualizada para o núcleo do Greengrass 2.8.0. | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.0.15  |  Versão atualizada para o núcleo do Greengrass 2.6.0.  | 
|  2.0.14  |  Essa versão contém correções de bugs e melhorias.  | 
|  2.0.13  |  Versão atualizada para o núcleo do Greengrass 2.5.0.  | 
| 2.0.12 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.0.11  |  Versão atualizada para o núcleo do Greengrass 2.4.0.  | 
|  2.0.10  |  Versão atualizada para o núcleo do Greengrass 2.3.0.  | 
|  2.0.9  |  Versão atualizada para o núcleo do Greengrass 2.2.0.  | 
|  2.0.8  |  Versão atualizada para o núcleo do Greengrass 2.1.0.  | 
|  2.0.7  |  Versão inicial.  | 

# Encaminhador de logs do sistema
<a name="system-log-forwarder-component"></a>

O encaminhador de registros do sistema (`aws.greengrass.SystemLogForwarder`) carrega os registros ativos do sistema diretamente para a Amazon CloudWatch usando a API CloudWatch HTTPS.

**Importante**  
Esse componente encaminhará somente os logs do systemd-journald gerados durante o runtime. Para obter mais informações sobre logs do systemd-journald, consulte [systemd-journald](https://www.freedesktop.org/software/systemd/man/latest/systemd-journald.service.html) e [journalctl](https://www.freedesktop.org/software/systemd/man/latest/journalctl.html#).

**nota**  
Esse componente requer permissões específicas para criar e gerenciar grupos e fluxos de CloudWatch registros.

**Topics**
+ [Versões](#system-log-forwarder-component-versions)
+ [Tipo](#system-log-forwarder-component-type)
+ [Sistema operacional](#system-log-forwarder-component-os-support)
+ [Requisitos](#system-log-forwarder-component-requirements)
+ [Endpoints e portas](#system-log-forwarder-component-endpoints)
+ [Dependências](#system-log-forwarder-component-dependencies)
+ [Configuração](#system-log-forwarder-component-configuration)
+ [Changelog](#system-log-forwarder-component-changelog)

## Versões
<a name="system-log-forwarder-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x
+ 2.0.x

## Tipo
<a name="system-log-forwarder-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="system-log-forwarder-component-os-support"></a>

Esse componente deve ser instalado em sistemas Linux baseados em systemd.

## Requisitos
<a name="system-log-forwarder-component-requirements"></a>

Esse componente tem os seguintes requisitos:

O componente requer acesso para criar grupos de log e stream CloudWatch , bem como permissão para realizar a chamada PutLogEvents HTTP. É necessário, no mínimo, adicionar as permissões de política a seguir ao alias de perfil do seu dispositivo do Greengrass:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
      "Effect": "Allow",
      "Action": ["logs:CreateLogGroup"],
      "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:greengrass/systemLogs:*"
    },
    {
      "Effect": "Allow",
      "Action": ["logs:CreateLogStream", "logs:PutLogEvents"],
      "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:greengrass/systemLogs:log-stream:${credentials-iot:ThingName}"
    }
  ]
}
```

------

**nota**  
Para obter mais informações, consulte a página do encaminhador de logs do sistema no [Github](https://github.com/aws-greengrass/aws-greengrass-system-log-forwarder).

## Endpoints e portas
<a name="system-log-forwarder-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `logs.region.amazonaws.com`  | 443 | Não |  Obrigatório se você gravar registros em CloudWatch Logs.  | 

## Dependências
<a name="system-log-forwarder-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#system-log-forwarder-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.x ]

A tabela a seguir lista as dependências da versão 2.1.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Token Exchange Service](token-exchange-service-component.md) | >=2.0.0 | Rígido | 
| [Greengrass nucleus lite](greengrass-nucleus-lite-component.md) | >=2.3.0 | Flexível | 

------
#### [ 2.0.x ]

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Token Exchange Service](token-exchange-service-component.md) | >=2.0.0 | Rígido | 

------

## Configuração
<a name="system-log-forwarder-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

------
#### [ 2.0.x-2.1.x ]

`maxUploadIntervalSec`  
O período máximo em que o encaminhador de logs do sistema tentará transferir os logs. Como o encaminhador de logs transferirá os registros quando a memória estiver cheia, ele ainda poderá ser carregado com mais frequência do que a cadência máxima configurada.

`maxRetriesCount`  
Número de vezes que o encaminhador de logs do sistema tentará repetir um erro de HTTP transitório.

`bufferCapacity`  
O tamanho do buffer em anel para armazenamento de logs na memória.

`logGroup`  
O caminho de registro em CloudWatch.

`logStream`  
O CloudWatch LogStream.

`filters`  
Um mapa das configurações de filtro do dispositivo principal.    
`services`  
Uma lista de filtros de nomes de serviços que o encaminhador de logs do sistema usará para determinar quais logs serão transferidos. Um log só será transferido se o serviço do qual ele se originou corresponder a pelo menos um dos filtros dessa lista. Os filtros nessa lista podem ser uma string à qual o nome do serviço deve corresponder totalmente ou uma string terminada com \$1, o que significa que o prefixo deve corresponder.  
Padrão: `[ggl.*]`  
Um log só será transferido se o serviço do qual ele se originou corresponder a pelo menos um dos filtros dessa lista.
O uso do valor \$1 incluirá todos os serviços disponíveis.

**Example Exemplo de configuração:**  
O exemplo abaixo filtrará os logs por todos os serviços incluídos no Greengrass nucleus lite.  

```
{
    "maxUploadIntervalSec": 300,
    "maxRetriesCount": 3,
    "bufferCapacity": 1048576,
    "logGroup": "greengrass/systemLogs",
    "logStream": "deviceName",
    "filters": {
        "services": ["ggl.*"]
    }
}
```

------

## Changelog
<a name="system-log-forwarder-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/system-log-forwarder-component.html)  | 
|  2.0.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/system-log-forwarder-component.html)  | 
|  2.0.0  |  Versão inicial.  | 

# Systems Manager Agent
<a name="systems-manager-agent-component"></a>

O componente AWS Systems Manager Agent (`aws.greengrass.SystemsManagerAgent`) instala o Systems Manager Agent, para que você possa gerenciar dispositivos principais com o Systems Manager. O Systems Manager é um AWS serviço que você pode usar para visualizar e controlar sua infraestrutura AWS, incluindo EC2 instâncias da Amazon, servidores locais e máquinas virtuais (VMs) e dispositivos periféricos. O Systems Manager permite visualizar dados operacionais, automatizar tarefas operacionais e manter a segurança e a conformidade. Para obter mais informações, consulte [O que é AWS Systems Manager?](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) e [Sobre o Systems Manager Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/prereqs-ssm-agent.html) no *Guia AWS Systems Manager do Usuário*.

<a name="about-systems-manager-capabilities"></a>As ferramentas e os recursos do Systems Manager são chamados de *recursos*. Os dispositivos principais do Greengrass oferecem suporte a todos os recursos do Systems Manager. Para obter mais informações sobre esses recursos e como usar o Systems Manager para gerenciar dispositivos principais, consulte [Recursos do Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/features.html) no *Guia do usuário do AWS Systems Manager *.

**Topics**
+ [Versões](#systems-manager-agent-component-versions)
+ [Tipo](#systems-manager-agent-component-type)
+ [Sistema operacional](#systems-manager-agent-component-os-support)
+ [Requisitos](#systems-manager-agent-component-requirements)
+ [Dependências](#systems-manager-agent-component-dependencies)
+ [Configuração](#systems-manager-agent-component-configuration)
+ [Arquivo de log local](#systems-manager-agent-component-log-file)
+ [Consulte também](#systems-manager-agent-component-see-also)
+ [Changelog](#systems-manager-agent-component-changelog)

## Versões
<a name="systems-manager-agent-component-versions"></a>

Esse componente tem as seguintes versões:
+ 1.3.x
+ 1.2.x
+ 1.1.x
+ 1.0.x

## Tipo
<a name="systems-manager-agent-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="systems-manager-agent-component-os-support"></a>

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

## Requisitos
<a name="systems-manager-agent-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ Um dispositivo principal do Greengrass executado em uma plataforma Linux de 64 bits: Armv8 () AArch64 ou x86\$164.
+ Você deve ter uma função de serviço AWS Identity and Access Management (IAM) que o Systems Manager possa assumir. Essa função deve incluir a política SSMManaged InstanceCore gerenciada pela [Amazon](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore) ou uma política personalizada que defina permissões equivalentes. Para obter mais informações, consulte [Criar um perfil de serviço do IAM para dispositivos de borda](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-edge-devices.html#systems-manager-setting-up-edge-devices-service-role) no *Guia do usuário do AWS Systems Manager *.

  Ao implantar esse componente, você deve especificar o nome desse perfil no parâmetro de configuração `SSMRegistrationRole`.
+ O [perfil do dispositivo do Greengrass](device-service-role.md) deve permitir as ações `ssm:AddTagsToResource` e `ssm:RegisterManagedInstance`. O perfil do dispositivo também deve permitir a ação `iam:PassRole` do perfil de serviço do IAM que atende ao requisito anterior. No exemplo a seguir, a política do IAM concede estas permissões.

  ```
  {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "iam:PassRole"
        ],
        "Effect": "Allow",
        "Resource": [
          "arn:aws:iam::account-id:role/SSMServiceRole"
        ]
      },
      {
        "Action": [
          "ssm:AddTagsToResource",
          "ssm:RegisterManagedInstance"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

### Endpoints e portas
<a name="systems-manager-agent-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `ec2messages.region.amazonaws.com`  | 443 | Sim |  Comunicar-se com o serviço Systems Manager na Nuvem AWS.  | 
|  `ssm.region.amazonaws.com`  | 443 | Sim |  Registrar o dispositivo principal como um nó gerenciado do Systems Manager.  | 
|  `ssmmessages.region.amazonaws.com`  | 443 | Sim |  Comunicar-se com o Session Manager, um recurso do Systems Manager, na Nuvem AWS.  | 

Para obter mais informações, consulte [Referência: ec2messages, ssmmessages e outras chamadas de API](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-messageAPIs.html) no *Guia do usuário do AWS Systems Manager *.

## Dependências
<a name="systems-manager-agent-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#systems-manager-agent-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

A tabela a seguir lista as dependências das versões 1.0.0 a 1.3.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Token Exchange Service](token-exchange-service-component.md) |  >=2.0.0 <3.0.0 | Rígido | 

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="systems-manager-agent-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`SSMRegistrationRole`  
A função de serviço do IAM que o Systems Manager pode assumir e que inclui a política SSMManaged InstanceCore gerenciada da [Amazon](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore) ou uma política personalizada que define permissões equivalentes. Para obter mais informações, consulte [Criar um perfil de serviço do IAM para dispositivos de borda](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-edge-devices-service-role.html) no *Guia do usuário do AWS Systems Manager *.

`SSMOverrideExistingRegistration`  
(Opcional) Se o dispositivo principal já executa o Systems Manager Agent registrado com uma ativação híbrida, você pode substituir o registro existente do Systems Manager Agent do dispositivo. Defina essa opção como `true` para registrar o dispositivo principal como um nó gerenciado usando o Systems Manager Agent fornecido por esse componente.  
Essa opção se aplica somente aos dispositivos registrados com uma ativação híbrida. Se o dispositivo principal for executado em uma EC2 instância da Amazon com o Systems Manager Agent instalado e uma função de perfil de instância configurada, o ID do nó gerenciado existente da EC2 instância da Amazon começará com`i-`. Quando você instala o componente Systems Manager Agent, o agente registra um novo nó gerenciado com um ID que começa com `mi-` em vez de `i-`. Depois disso, você pode usar o nó gerenciado com o ID que começa com `mi-` para gerenciar o dispositivo principal com o Systems Manager.
Padrão: `false`

`SSMResourceTags`  
(Opcional) As tags que serão adicionadas ao nó gerenciado do Systems Manager que esse componente cria para o dispositivo principal. Você pode usar essas tags para gerenciar grupos de dispositivos principais com o Systems Manager. Por exemplo, você pode executar um comando em todos os dispositivos que tenham uma tag que você especifica.  
Especifique uma lista em que cada tag seja um objeto com `Key` e `Value`. Por exemplo, o valor `SSMResourceTags` a seguir instrui esse componente a definir a tag **Owner** como **richard-roe** no nó gerenciado do dispositivo principal.  

```
[
  {
    "Key": "Owner",
    "Value": "richard-roe"
  }
]
```
O componente vai ignorar essas tags se o nó gerenciado já existir e se `SSMOverrideExistingRegistration` for `false`.

**Example Exemplo: atualização da mesclagem de configuração**  
O exemplo de configuração a seguir especifica o uso de um perfil de serviço chamado `SSMServiceRole` para permitir que o dispositivo principal se registre e comunique com o Systems Manager.  

```
{
  "SSMRegistrationRole": "SSMServiceRole",
  "SSMOverrideExistingRegistration": false,
  "SSMResourceTags": [
    {
      "Key": "Owner",
      "Value": "richard-roe"
    },
    {
      "Key": "Team",
      "Value": "solar"
    }
  ]
}
```

## Arquivo de log local
<a name="systems-manager-agent-component-log-file"></a>

O software Systems Manager Agent grava os logs em uma pasta fora da pasta raiz do Greengrass. Para obter mais informações, consulte [Como visualizar os logs do Systems Manager Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-agent-logs.html) no *Guia do usuário do AWS Systems Manager *.

O componente Systems Manager Agent usa scripts de shell para instalar, iniciar e interromper o Systems Manager Agent. Você encontra a saída desses scripts no arquivo de log a seguir.

```
/greengrass/v2/logs/aws.greengrass.SystemsManagerAgent.log
```

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. `/greengrass/v2`Substitua pelo caminho para a pasta AWS IoT Greengrass raiz.

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.SystemsManagerAgent.log
  ```

## Consulte também
<a name="systems-manager-agent-component-see-also"></a>
+ [Gerencie os principais dispositivos do Greengrass com AWS Systems Manager](manage-with-systems-manager.md)
+ [O que é o AWS Systems Manager?](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) no *AWS Systems Manager Guia do usuário*
+ [Sobre o Systems Manager Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/prereqs-ssm-agent.html) no *Guia do usuário do AWS Systems Manager *

## Changelog
<a name="systems-manager-agent-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.3.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/systems-manager-agent-component.html)  | 
|  1.2.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/systems-manager-agent-component.html)  | 
|  1.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/systems-manager-agent-component.html)  | 
|  1.1.0  |  Esta versão contém correções de bugs e melhorias.  | 
|  1.0.0  |  Versão inicial.  | 

# Serviço de troca de token
<a name="token-exchange-service-component"></a>

O componente do serviço de troca de tokens (`aws.greengrass.TokenExchangeService`) fornece AWS credenciais que você pode usar para interagir com AWS serviços em seus componentes personalizados.

O serviço de troca de tokens é executado como um servidor local. Esse servidor local se conecta ao provedor de AWS IoT credenciais usando o alias de AWS IoT função que você configura no componente núcleo principal do [Greengrass](greengrass-nucleus-component.md). O componente fornece duas variáveis de ambiente. `AWS_CONTAINER_CREDENTIALS_FULL_URI` e `AWS_CONTAINER_AUTHORIZATION_TOKEN`. O `AWS_CONTAINER_CREDENTIALS_FULL_URI` define o URI para esse servidor local. Quando um componente cria um cliente AWS SDK, o cliente reconhece essa variável de ambiente do URI e usa o token no `AWS_CONTAINER_AUTHORIZATION_TOKEN` para se conectar ao serviço de troca de tokens e recuperar AWS as credenciais. Isso permite que os dispositivos principais do Greengrass chamem as operações de serviço da AWS . Para obter mais informações sobre como usar esse componente, consulte [Interaja com AWS os serviços](interact-with-aws-services.md).

**Importante**  <a name="token-exchange-service-aws-sdk-requirement"></a>
Support para adquirir AWS credenciais dessa forma foi adicionado ao AWS SDKs em 13 de julho de 2016. Seu componente deve usar uma versão do AWS SDK criada nessa data ou após essa data. Para obter mais informações, consulte Como [usar um AWS SDK compatível](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-roles-minimum-sdk) no *Amazon Elastic Container Service Developer Guide*.

**nota**  
Os componentes que usam a cadeia de credenciais AWS padrão podem descobrir e usar outras fontes de credenciais, se existirem. No Amazon Amazon Elastic Container Service (Amazon ECS), as credenciais de contêiner terão `AWS_CONTAINER_CREDENTIALS_FULL_URI` precedência, o que significa que `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` as credenciais do serviço de troca de tokens podem não funcionar no Amazon Elastic Container Service (Amazon ECS). Para saber mais, consulte provedores de [credenciais padronizados](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) 

**Topics**
+ [Versões](#token-exchange-service-component-versions)
+ [Tipo](#token-exchange-service-component-type)
+ [Sistema operacional](#token-exchange-service-component-os-support)
+ [Dependências](#token-exchange-service-component-dependencies)
+ [Configuração](#token-exchange-service-component-configuration)
+ [Arquivo de log local](#token-exchange-service-component-log-file)
+ [Changelog](#token-exchange-service-component-changelog)

## Versões
<a name="token-exchange-service-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.0.x

## Tipo
<a name="token-exchange-service-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="token-exchange-service-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Dependências
<a name="token-exchange-service-component-dependencies"></a>

Esse componente não tem nenhuma dependência.

## Configuração
<a name="token-exchange-service-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`port`  
A porta a ser usada para conexões de serviço de troca de tokens. O serviço de troca de tokens será reiniciado após as alterações na configuração da porta.

`credentialRetryInSec`  
Especifica intervalos de repetição em segundos quando o Token Exchange Service encontra erros de solicitação de credencial.    
`clientError`  
O intervalo de repetição em segundos para erros do cliente (códigos de status HTTP 4xx).  
Padrão: `120`  
Valores válidos: `10` a `42900`  
`serverError`  
O intervalo de repetição em segundos para erros do servidor (códigos de status HTTP 5xx).  
Padrão: `60`  
Valores válidos: `10` a `42900`  
`unknownError`  
O intervalo de repetição em segundos para erros desconhecidos (erros de conexão e códigos de status HTTP fora dos intervalos 4xx e 5xx).  
Padrão: `300`  
Valores válidos: `10` a `42900`

**Example Exemplo: atualização da mesclagem de configuração**  

```
{
   "port": 2020,
   "credentialRetryInSec": {
    "clientError": 30,
    "serverError": 45,
    "unknownError": 60
   }
}
```

## Arquivo de log local
<a name="token-exchange-service-component-log-file"></a>

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="token-exchange-service-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.0.3  |  Versão inicial.  | 

# Coletor IoT SiteWise OPC UA
<a name="iotsitewise-opcua-collector-component"></a>

O componente coletor IoT SiteWise OPC UA (`aws.iot.SiteWiseEdgeCollectorOpcua`) permite que os AWS IoT SiteWise gateways coletem dados de servidores OPC UA locais.

Com esse componente, os AWS IoT SiteWise gateways podem se conectar a vários servidores OPC UA. Para obter mais informações sobre AWS IoT SiteWise gateways, consulte [Usando AWS IoT SiteWise na borda](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateways-ggv2.html) no *Guia do AWS IoT SiteWise usuário*.

**Topics**
+ [Versões](#iotsitewise-opcua-collector-component-versions)
+ [Tipo](#iotsitewise-opcua-collector-component-type)
+ [Sistema operacional](#iotsitewise-opcua-collector-component-os-support)
+ [Requisitos](#iotsitewise-opcua-collector-component-requirements)
+ [Dependências](#iotsitewise-opcua-collector-component-dependencies)
+ [Configuração](#iotsitewise-opcua-collector-component-configuration)
+ [Dados de entrada](#iotsitewise-opcua-collector-component-input-data)
+ [Dados de saída](#iotsitewise-opcua-collector-component-output-data)
+ [Arquivo de log local](#iotsitewise-opcua-collector-component-log-file)
+ [Licenças](#iotsitewise-opcua-collector-component-licenses)
+ [Changelog](#iotsitewise-opcua-collector-component-changelog)
+ [Consulte também](#iotsitewise-opcua-collector-component-see-also)

## Versões
<a name="iotsitewise-opcua-collector-component-versions"></a>

Esse componente tem as seguintes versões:
+ 3.1.x
+ 3.0.x
+ 2.6.x
+ 2.5.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="iotsitewise-opcua-collector-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="iotsitewise-opcua-collector-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="iotsitewise-opcua-collector-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ O dispositivo principal do Greengrass deve ser executado em uma das seguintes plataformas:
  + so: Ubuntu 20.04 ou posterior

    arquitetura: x86\$164 (AMD64) ou ARMv8 (Aarch64)
  + so: Red Hat Enterprise Linux (RHEL) 8

    arquitetura: x86\$164 (AMD64) ou ARMv8 (Aarch64)
  + so: Amazon Linux 2

    arquitetura: x86\$164 (AMD64) ou ARMv8 (Aarch64)
  + so: Debian 11

    arquitetura: x86\$164 (AMD64) ou ARMv8 (Aarch64)
  + so: Windows Server 2019 ou posterior

    arquitetura: x86\$164 () AMD64
+ O dispositivo principal do Greengrass deve permitir conectividade de rede de saída com servidores de OPC UA.

## Dependências
<a name="iotsitewise-opcua-collector-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#iotsitewise-opcua-collector-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

A tabela a seguir lista as dependências para todas as versões desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.3.0 <3.0.0 | Rígido | 
| [Gerenciador de fluxos](stream-manager-component.md) | >2.0.10<3.0.0 | Rígido | 
| [Gerenciador de segredos](secret-manager-component.md) | >=2.0.8 <3.0.0 | Rígido | 

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="iotsitewise-opcua-collector-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

Você pode usar o AWS IoT SiteWise console ou a API para configurar o componente coletor IOT SiteWise OPC UA. Para obter mais informações, consulte [Etapa 4: adicionar fontes de dados - opcional](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-gateway-ggv2.html#add-data-sources-console) no *Guia do usuário do AWS IoT SiteWise *.

## Dados de entrada
<a name="iotsitewise-opcua-collector-component-input-data"></a>

Esse componente só aceita dados nos seguintes formatos, todos os outros serão ignorados e descartados. A tabela abaixo mapeia os tipos de dados OPC UA para seus SiteWise equivalentes.


|  **SiteWise tipo de dados**  |  **Tipo de dados OPC UA**  |  **Descrição**  | 
| --- | --- | --- | 
|  `STRING`  |  `String` `Guid` `XmlElement`  |  Uma string com comprimento máximo de 1.024 bytes.  | 
|  `INTEGER`  |  `SByte` `Byte` `Int16` `UInt16` `Int32` `UInt32`\$1 `Int64`\$1  |  Um inteiro assinado de 32 bits com um intervalo de `-2,147,483,648 to 2,147,483,647`.  | 
|  `DOUBLE`  |  `UInt32`\$1 `Int64`\$1 `Float` `Double`  |  Um número de ponto flutuante com um intervalo de `–10^100 to 10^100` e precisão dupla `IEEE 754`.  | 
|  `BOOLEAN`  |  `Boolean`  |  `true` ou `false`.  | 

\$1 Para tipos de dados OPC UA `UInt32` e`Int64`, seu tipo de SiteWise dados será `INTEGER` se SiteWise for capaz de representar seu valor, caso contrário, será`DOUBLE`.

## Dados de saída
<a name="iotsitewise-opcua-collector-component-output-data"></a>



Esse componente grava `BatchPutAssetPropertyValue` mensagens no gerenciador de AWS IoT Greengrass streams. Para obter mais informações, consulte [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html) na *Referência de APIs do AWS IoT SiteWise *.

## Arquivo de log local
<a name="iotsitewise-opcua-collector-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.iot.SiteWiseEdgeCollectorOpcua.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeCollectorOpcua.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.SiteWiseEdgeCollectorOpcua.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeCollectorOpcua.log -Tail 10 -Wait
  ```

------

## Licenças
<a name="iotsitewise-opcua-collector-component-licenses"></a>

<a name="component-core-software-license"></a>Esse componente é liberado de acordo com o [Contrato de licença de software Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Changelog
<a name="iotsitewise-opcua-collector-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
| 3.1.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 3.0.3 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 3.0.2 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 3.0.1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 3.0.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 2.6.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 2.5.1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
| 2.5.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.4.2  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) | 
|  2.4.1  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) | 
|  2.4.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.3.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-opcua-collector-component.html)  | 
|  2.0.3  |  Correções de bugs e melhorias.  | 
|  2.0.2  |  Correções de erros e melhorias na sincronização de prioridade de ativos com o edge.  | 
|  2.0.1  |  Versão inicial.  | 

## Consulte também
<a name="iotsitewise-opcua-collector-component-see-also"></a>
+ [O que é AWS IoT SiteWise?](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html) no *Guia do AWS IoT SiteWise usuário*.

# Simulador de fonte de SiteWise dados IoT OPC UA
<a name="iotsitewise-opcua-data-source-simulator-component"></a>

O componente do simulador de fonte de dados IoT SiteWise OPC UA (`aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator`) inicia um servidor OPC UA local que gera dados de amostra. Use esse servidor OPC UA para simular uma fonte de dados lida pelo componente [coletor IOT SiteWise OPC UA](iotsitewise-opcua-collector-component.md) em um gateway. AWS IoT SiteWise Em seguida, você pode explorar os AWS IoT SiteWise recursos usando esses dados de amostra. Para obter mais informações sobre AWS IoT SiteWise gateways, consulte [Usando AWS IoT SiteWise na borda](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateways-ggv2.html) no *Guia do AWS IoT SiteWise usuário*.

**Topics**
+ [Versões](#iotsitewise-opcua-data-source-simulator-component-versions)
+ [Tipo](#iotsitewise-opcua-data-source-simulator-component-type)
+ [Sistema operacional](#iotsitewise-opcua-data-source-simulator-component-os-support)
+ [Requisitos](#iotsitewise-opcua-data-source-simulator-component-requirements)
+ [Dependências](#iotsitewise-opcua-data-source-simulator-component-dependencies)
+ [Configuração](#iotsitewise-opcua-data-source-simulator-component-configuration)
+ [Arquivo de log local](#iotsitewise-opcua-data-source-simulator-component-log-file)
+ [Changelog](#iotsitewise-opcua-data-source-simulator-component-changelog)
+ [Consulte também](#iotsitewise-opcua-data-source-simulator-component-see-also)

## Versões
<a name="iotsitewise-opcua-data-source-simulator-component-versions"></a>

Esse componente tem as seguintes versões:
+ 1.0.x

## Tipo
<a name="iotsitewise-opcua-data-source-simulator-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="iotsitewise-opcua-data-source-simulator-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="iotsitewise-opcua-data-source-simulator-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ O dispositivo principal do Greengrass deve ser capaz de usar a porta 4840 no host local. O servidor de OPC UA local desse componente é executado nessa porta.

## Dependências
<a name="iotsitewise-opcua-data-source-simulator-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#iotsitewise-opcua-data-source-simulator-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

A tabela a seguir lista as dependências para todas as versões desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.3.0 <3.0.0 | Rígido | 

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="iotsitewise-opcua-data-source-simulator-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

## Arquivo de log local
<a name="iotsitewise-opcua-data-source-simulator-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeOpcuaDataSourceSimulator.log -Tail 10 -Wait
  ```

------

## Changelog
<a name="iotsitewise-opcua-data-source-simulator-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.0.0  |  Versão inicial. Acrescenta suporte para Windows Server 2016 ou superior.  | 

## Consulte também
<a name="iotsitewise-opcua-data-source-simulator-component-see-also"></a>
+ [O que é AWS IoT SiteWise?](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html) no *Guia do AWS IoT SiteWise usuário*.

# Editora de IoT SiteWise
<a name="iotsitewise-publisher-component"></a>

O componente SiteWise editor de IoT (`aws.iot.SiteWiseEdgePublisher`) permite que os AWS IoT SiteWise gateways exportem dados da borda para o. Nuvem AWS

Para obter mais informações sobre AWS IoT SiteWise gateways, consulte [Usando AWS IoT SiteWise na borda](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateways-ggv2.html) no *Guia do AWS IoT SiteWise usuário*.

**Topics**
+ [Versões](#iotsitewise-publisher-component-versions)
+ [Tipo](#iotsitewise-publisher-component-type)
+ [Sistema operacional](#iotsitewise-publisher-component-os-support)
+ [Requisitos](#iotsitewise-publisher-component-requirements)
+ [Dependências](#iotsitewise-publisher-component-dependencies)
+ [Configuração](#iotsitewise-publisher-component-configuration)
+ [Dados de entrada](#iotsitewise-publisher-component-input-data)
+ [Arquivo de log local](#iotsitewise-publisher-component-log-file)
+ [Depuração e solução de problemas](#iotsitewise-publisher-component-debug)
+ [Licenças](#iotsitewise-publisher-component-licenses)
+ [Changelog](#iotsitewise-publisher-component-changelog)
+ [Consulte também](#iotsitewise-publisher-component-see-also)

## Versões
<a name="iotsitewise-publisher-component-versions"></a>

Esse componente tem as seguintes versões:
+ 4.1.x
+ 4.0.x
+ 3.2.x
+ 3.1.x
+ 3.0.x
+ 2.4.x
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="iotsitewise-publisher-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="iotsitewise-publisher-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="iotsitewise-publisher-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ O dispositivo principal do Greengrass deve ser executado em uma das seguintes plataformas:
  + so: Ubuntu 18.04 ou posterior

    arquitetura: x86\$164 (AMD64) ou ARMv8 (Aarch64)
  + so: Red Hat Enterprise Linux (RHEL) 8

    arquitetura: x86\$164 (AMD64) ou ARMv8 (Aarch64)
  + so: Amazon Linux 2

    arquitetura: x86\$164 (AMD64) ou ARMv8 (Aarch64)
  + so: Debian 11

    arquitetura: x86\$164 (AMD64) ou ARMv8 (Aarch64)
  + so: Windows Server 2019 ou posterior

    arquitetura: x86\$164 () AMD64
+ O dispositivo principal do Greengrass deve se conectar à Internet.
+ O dispositivo principal do Greengrass deve estar autorizado a realizar a ação`iotsitewise:BatchPutAssetPropertyValue`. Para obter mais informações, consulte [Autorizar dispositivos principais a interagir com os AWS serviços](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html).  
**Example política de permissões**  

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "iotsitewise:BatchPutAssetPropertyValue",
              "Resource": "*"
          }
      ]
  }
  ```

------

### Endpoints e portas
<a name="iotsitewise-publisher-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `data.iotsitewise.region.amazonaws.com`  | 443 | Sim |  Publique dados em AWS IoT SiteWise.  | 

## Dependências
<a name="iotsitewise-publisher-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#iotsitewise-publisher-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

A tabela a seguir lista as dependências das versões 2.0.x a 2.2.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.3.0<3.0.0 | Rígido | 
| [Gerenciador de fluxos](stream-manager-component.md) | >=2.0.10<3.0.0 | Rígido | 

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="iotsitewise-publisher-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

Você pode usar o AWS IoT SiteWise console ou a API para configurar o componente SiteWise Editor de IoT. Para obter mais informações, consulte [Etapa 3: Configurar o editor - opcional](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-gateway-ggv2.html#configure-publisher) no *Guia AWS IoT SiteWise do usuário*.

## Dados de entrada
<a name="iotsitewise-publisher-component-input-data"></a>



Esse componente lê `PutAssetPropertyValueEntry` mensagens do gerenciador de AWS IoT Greengrass fluxo. Para obter mais informações, consulte [PutAssetPropertyValueEntry](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_PutAssetPropertyValueEntry.html) na *Referência de APIs do AWS IoT SiteWise *.

## Arquivo de log local
<a name="iotsitewise-publisher-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.iot.SiteWiseEdgePublisher.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.iot.SiteWiseEdgePublisher.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.SiteWiseEdgePublisher.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.iot.SiteWiseEdgePublisher.log -Tail 10 -Wait
  ```

------

## Depuração e solução de problemas
<a name="iotsitewise-publisher-component-debug"></a>

Esse componente inclui um novo log de eventos para ajudar os clientes a identificar e corrigir problemas. O arquivo de log é separado do arquivo de log local e é encontrado no local a seguir. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

```
/greengrass/v2/work/aws.iot.SiteWiseEdgePublisher/logs/IotSiteWisePublisherEvents.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\work\aws.iot.SiteWiseEdgePublisher\logs\IotSiteWisePublisherEvents.log
```

------

Esse log inclui informações detalhadas e instruções para solução de problemas. As informações da solução de problemas são fornecidas com o diagnóstico, com uma descrição de como solucionar o problema e, às vezes, com links para mais informações. Entre as informações de diagnóstico estão as seguintes:
+ Nível de gravidade
+ Timestamp
+ Informações específicas do evento adicionais

**Example Log de exemplo**  

```
accountBeingThrottled:
  Summary: Data upload speed slowed due to quota limits
  Level: WARN
  Timestamp: '2023-06-09T21:30:24.654Z'
  Description: The IoT SiteWise Publisher is limited to the "Rate of data points ingested"
    quota for a customers account. See the associated documentation and associated
    metric for the number of requests that were limited for more information. Note
    that this may be temporary and not require any change, although if the issue continues
    you may need to request an increase for the mentioned quota.
  FurtherInformation:
  - https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html
  - https://docs.aws.amazon.com/iot-sitewise/latest/userguide/troubleshooting-gateway.html#gateway-issue-data-streams
  AssociatedMetrics:
  - Name: TotalErrorCount
    Description: The total number of errors of this type that occurred.
    Value: 327724.0
  AssociatedData:
  - Name: AggregatePropertyAliases
    Description: The aggregated property aliases of the throttled data.
    FileLocation: /greengrass/v2/work/aws.iot.SiteWiseEdgePublisher/./logs/data/AggregatePropertyAliases_1686346224654.log
```

## Licenças
<a name="iotsitewise-publisher-component-licenses"></a>

<a name="component-core-software-license"></a>Esse componente é liberado de acordo com o [Contrato de licença de software Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Changelog
<a name="iotsitewise-publisher-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
| 4.1.4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
| 4.1.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
| 4.1.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
| 4.1.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
| 4.1.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  4.0.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  4.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  4.0.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  4.0.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.4  |   A versão 3.1.4 foi descontinuada em 20 de fevereiro de 2025. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.1  |   A versão 3.1.1 foi descontinuada em 12 de março de 2024. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  3.0.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.4.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.4.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.3.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.2.1  |   Esta versão não oferece suporte à configuração de proxy HTTP. A versão 2.2.2 e superior reintroduz o suporte a esse recurso.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.2.0  |   Esta versão não oferece suporte à configuração de proxy HTTP. A versão 2.2.2 e superior reintroduz o suporte a esse recurso.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.1.3  |   Essa versão não está mais disponível, exceto nas regiões Leste dos EUA (Ohio), Canadá (Central) AWS GovCloud e (Leste dos EUA). Essa versão do componente requer a versão 11 ou superior do Java para ser executada. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.1.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.1.1  |  Correções de bugs e melhorias.  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-publisher-component.html)  | 
|  2.0.2  |  Correções de bugs e melhorias.  | 
|  2.0.1  |  Versão inicial.  | 

## Consulte também
<a name="iotsitewise-publisher-component-see-also"></a>
+ [O que AWS IoT SiteWiseé](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html) no *Guia do AWS IoT SiteWise usuário*.

# Processador de IoT SiteWise
<a name="iotsitewise-processor-component"></a>

O componente do SiteWise processador de IoT (`aws.iot.SiteWiseEdgeProcessor`) permite que fluxos AWS IoT SiteWise clássicos e gateways V2 processem dados na borda.

Com esse componente, os AWS IoT SiteWise gateways podem usar modelos e ativos de ativos para processar dados em dispositivos de gateway. Para obter mais informações sobre AWS IoT SiteWise gateways, consulte [Usando AWS IoT SiteWise na borda](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateways-ggv2.html) no *Guia do AWS IoT SiteWise usuário*.

**nota**  
O recurso de pacote de processamento de dados (DPP) não está mais disponível para novos clientes desde 7 de novembro de 2025. Se quiser usar o DPP, será necessário se inscrever antes dessa data. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Alteração na disponibilidade do pacote de processamento de dados](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/iotsitewise-dpp-availability-change.html) no *Guia do usuário do AWS IoT SiteWise *.

**Topics**
+ [Versões](#iotsitewise-processor-component-versions)
+ [Tipo](#iotsitewise-processor-component-type)
+ [Sistema operacional](#iotsitewise-processor-component-os-support)
+ [Requisitos](#iotsitewise-processor-component-requirements)
+ [Dependências](#iotsitewise-processor-component-dependencies)
+ [Configuração](#iotsitewise-processor-component-configuration)
+ [Arquivo de log local](#iotsitewise-processor-component-log-file)
+ [Licenças](#iotsitewise-processor-component-licenses)
+ [Changelog](#iotsitewise-processor-component-changelog)
+ [Consulte também](#iotsitewise-processor-component-see-also)

## Versões
<a name="iotsitewise-processor-component-versions"></a>

Esse componente tem as seguintes versões:
+ 3.5.x
+ 3.4.x
+ 3.3.x
+ 3.2.x
+ 3.1.x
+ 3.0.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipo
<a name="iotsitewise-processor-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="iotsitewise-processor-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="iotsitewise-processor-component-requirements"></a>

Esse componente tem os seguintes requisitos:
+ O dispositivo principal do Greengrass deve ser executado em uma das seguintes plataformas:
  + so: Ubuntu 20.04 ou posterior

    arquitetura: x86\$164 () AMD64
  + so: Red Hat Enterprise Linux (RHEL) 8

    arquitetura: x86\$164 () AMD64
  + so: Amazon Linux 2

    arquitetura: x86\$164 () AMD64
  + so: Windows Server 2019 ou posterior

    arquitetura: x86\$164 () AMD64
  + so: Debian 11 (Bullseye) ou posterior

    arquitetura: x86\$164 () AMD64
+ O dispositivo principal do Greengrass deve permitir tráfego de entrada na porta 443.
+ O dispositivo principal do Greengrass deve permitir tráfego de saída na porta 443 e 8883.
+ As seguintes portas são reservadas para uso por AWS IoT SiteWise: 80, 443, 3001, 4569, 4572, 8000, 8081, 8082, 8084, 8085, 8086, 8445, 9000, 9500, 11080 e 50010. Usar uma porta reservada para tráfego pode resultar no encerramento de uma conexão.
**nota**  
A porta 8087 é necessária somente para a versão 2.0.15 e posterior desse componente.
+ A [função de dispositivo do Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html) deve ter permissões que permitam que você use AWS IoT SiteWise gateways em seus dispositivos. AWS IoT Greengrass V2 Para obter mais informações, consulte [Requisitos](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-gateway-ggv2.html#gateway-requirements) no *Guia do usuário do AWS IoT SiteWise *.

### Endpoints e portas
<a name="iotsitewise-processor-component-endpoints"></a>

Esse componente precisa ser capaz de realizar solicitações de saída para os endpoints e portas a seguir, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).


| Endpoint | Porta | Obrigatório | Description | 
| --- | --- | --- | --- | 
|  `model.iotsitewise.region.amazonaws.com`  | 443 | Sim |  Obtenha informações sobre seus AWS IoT SiteWise ativos e modelos de ativos.  | 
|  `edge.iotsitewise.region.amazonaws.com`  | 443 | Sim |  Obtenha informações sobre a configuração do AWS IoT SiteWise gateway do dispositivo principal.  | 
|  `ecr.region.amazonaws.com`  | 443 | Sim |  Baixe imagens do AWS IoT SiteWise Edge Gateway Docker do Amazon Elastic Container Registry.  | 
|  `iot.region.amazonaws.com`  | 443 | Sim |  Obtenha endpoints de dispositivos para sua Conta da AWS.  | 
|  `sts.region.amazonaws.com`  | 443 | Sim |  Obtenha o ID do seu Conta da AWS.  | 
|  `monitor.iotsitewise.region.amazonaws.com`  | 443 | Não |  Obrigatório se você acessar AWS IoT SiteWise Monitor portais no dispositivo principal.  | 

## Dependências
<a name="iotsitewise-processor-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#iotsitewise-processor-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

A tabela a seguir lista as dependências das versões 2.0.x a 2.1.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Token Exchange Service](token-exchange-service-component.md) | >=2.0.3 <3.0.0 | Rígido | 
| [Gerenciador de fluxos](stream-manager-component.md) | >=2.0.10 <3.0.0 | Rígido | 
| [CLI do Greengrass CLI](greengrass-cli-component.md) | >=2.3.0 <3.0.0 | Rígido | 

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="iotsitewise-processor-component-configuration"></a>

Esse componente não tem nenhum parâmetro de configuração.

## Arquivo de log local
<a name="iotsitewise-processor-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.iot.SiteWiseEdgeProcessor.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeProcessor.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.iot.SiteWiseEdgeProcessor.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.iot.SiteWiseEdgeProcessor.log -Tail 10 -Wait
  ```

------

## Licenças
<a name="iotsitewise-processor-component-licenses"></a>

Esse componente inclui o seguinte licenciamento/software de terceiros:

### Licenças de terceiros
<a name="w2ab1c24b8d120c25b5b1b1"></a>
+ Apache-2.0
+ mit
+ Cláusula BSD-2
+ Cláusula BSD-3
+ CDDL-1.0
+ CDDL-1.1
+ DISCO
+ zlib
+ GPL-3.0 com exceção do GCC
+ Domínio público
+ Python-2.0
+ Unicode-DFS-2015
+ Cláusula BSD-1
+ OpenSSL
+ EPL-1.0
+ EPL-2.0
+ GPL-2.0- with-classpath-exception
+ MPL-2.0
+ CC0-1.0
+ JSON

<a name="component-core-software-license"></a>Esse componente é liberado de acordo com o [Contrato de licença de software Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Changelog
<a name="iotsitewise-processor-component-changelog"></a>

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
| 3.5.1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 3.4.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 3.3.1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 3.3.0 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html) | 
|  3.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  3.0.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.2.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.37 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.35 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.34 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.32 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.31 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.29 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.28 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.24 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
| 2.1.23 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.1.21  |   A atualização do 2.0.x para 2.1.x resultará na perda de dados locais.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.16  |  Esta versão contém correções de bugs e melhorias.  | 
|  2.0.15  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.14  |  Essa versão contém correções de bugs e melhorias.  | 
|  2.0.13  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.9  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/iotsitewise-processor-component.html)  | 
|  2.0.2  |  Versão inicial.  | 

## Consulte também
<a name="iotsitewise-processor-component-see-also"></a>
+ [O que é AWS IoT SiteWise?](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html) no *Guia do AWS IoT SiteWise usuário*.