Gerenciador de fluxos
O componente Gerenciador de fluxos (aws.greengrass.StreamManager
) permite que você processe os fluxos de dados que serão transferidos dos dispositivos principais do Greengrass para a Nuvem AWS.
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.
Tópicos
Versões
Esse componente tem as seguintes versões:
-
2.1.x
-
2.0.x
nota
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
Esse é um componente genérico (aws.greengrass.generic
). O núcleo do Greengrass executa os scripts do ciclo de vida do componente.
Para ter mais informações, consulte Tipos de componentes.
Sistema operacional
É possível instalar esse componente em dispositivos principais que têm os seguintes sistemas operacionais:
Linux
Windows
Requisitos
Esse componente tem os seguintes requisitos:
-
O perfil de troca de tokens deve permitir acesso aos destinos da Nuvem AWS que você usa com o Gerenciador de fluxos. Para obter mais informações, consulte:
-
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 Gerenciador de fluxos deve ter conectividade com o serviço da AWS em que você publica os 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 para Amazon S3. 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
emJVM_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.
-
-
Endpoints e portas
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 ter mais informações, consulte Permitir o tráfego de dispositivos por meio de um proxy ou firewall.
Endpoint | Port (Porta) | Obrigatório | Descrição |
---|---|---|---|
|
443 | Não |
Obrigatório se você publica dados no AWS IoT Analytics. |
|
443 | Não |
Obrigatório se você publica dados no Firehose. |
|
443 | Não |
Obrigatório se você publica dados no AWS IoT SiteWise. |
|
443 | Não |
Obrigatório se você publica dados em buckets do S3. Você pode substituir |
Dependências
Quando você implanta um componente, o AWS IoT Greengrass também implanta versões compatíveis das dependências dele. 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 desse componente e das restrições de versão semântica que definem as versões do componente para cada dependência. Também é possível visualizar as dependências de cada versão do componente no console do AWS IoT Greengrass
Para obter mais informações sobre dependências de componente, consulte a referência de fórmulas de componente.
Configuração
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
).Você deve especificar uma pasta existente, e o usuário do sistema que executa o componente Gerenciador de fluxos 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:
/work/aws.greengrass.StreamManager/greengrass/v2
STREAM_MANAGER_SERVER_PORT
-
(Opcional) O número da porta local usado para comunicação com o Gerenciador de fluxos.
Você pode especificar
0
para usar uma porta disponível aleatória.Padrão:
8088
STREAM_MANAGER_AUTHENTICATE_CLIENT
-
(Opcional) Você pode 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.
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, você poderá 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.
nota
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.
exemplo 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
Esse componente usa o arquivo de log abaixo.
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
ou/greengrass/v2
C:\greengrass\v2
pelo caminho para a pasta raiz do AWS IoT Greengrass.
Changelog
A tabela a seguir descreve as alterações em cada versão do componente.
Version (Versão) |
Alterações |
---|---|
2.1.13 |
|
2.1.12 |
|
2.1.11 |
Versão atualizada para o núcleo do Greengrass 2.12.0. |
2.1.10 |
|
2.1.9 |
Versão atualizada para o núcleo do Greengrass 2.11.0. |
2.1.8 |
|
2.1.7 |
|
2.1.6 |
|
2.1.5 |
Versão atualizada para o núcleo do Greengrass 2.10.0. |
2.1.4 |
|
2.1.3 |
|
2.1.2 |
|
2.1.1 |
Versão atualizada para o núcleo do Greengrass 2.8.0. |
2.1.0 |
|
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 |
|
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. |