Implantar componentes AWS IoT Greengrass em dispositivos - AWS IoT Greengrass

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

Implantar componentes AWS IoT Greengrass em dispositivos

Você pode usar o AWS IoT Greengrass para implantar componentes em dispositivos ou grupos de dispositivos. Você usa implantações para definir os componentes e as configurações que são enviados aos dispositivos. O AWS IoT Greengrass é implantado em destinos, coisas ou grupos de coisas do AWS IoT que representam os dispositivos principais do Greengrass. O AWS IoT Greengrass usa trabalhos do AWS IoT Core para implantar em seus dispositivos principais. Você pode configurar como o trabalho é implementado em seus dispositivos.

Implantações de dispositivos do Core

Cada dispositivo principal executa os componentes das implantações desse dispositivo. Uma nova implantação no mesmo destino substitui a implantação anterior no destino. Ao criar uma implantação, você define os componentes e as configurações a serem aplicados ao software existente do dispositivo principal.

Ao revisar uma implantação para um destino, você substitui os componentes da revisão anterior pelos componentes da nova revisão. Por exemplo, você implanta os Gerenciador de segredos componentes Gerenciador de logs e no grupo de coisasTestGroup. Em seguida, você cria outra implantação para TestGroup que especifique somente o componente do gerenciador secreto. Como resultado, os dispositivos principais desse grupo não executam mais o gerenciador de logs.

Resolução de dependências de plataformas

Quando um dispositivo principal recebe uma implantação, ele verifica se os componentes são compatíveis com o dispositivo principal. Por exemplo, se você Firehose implantar o em um destino do Windows, a implantação falhará.

Resolução de dependências de componentes

O dispositivo principal também verifica se as dependências de cada componente são compatíveis com as restrições de versão para implantações de outros componentes nesse grupo de itens. Quando as restrições de versão de um componente se sobrepõem, o Greengrass usa a versão mais alta aplicável do componente. Por exemplo:

  • Você implanta o componente A emTestGroup. O componente A depende das com.example.PythonRuntime versões 3.5 a 3.10 do componente.

  • Em seguida, você implanta o componente B emTestGroup. O componente B depende das com.example.PythonRuntime versões 3.7 a 3.8 do componente.

Como resultado, os dispositivos principais TestGroup determinam que podem implantar a versão 3.8 do com.example.PythonRuntime componente porque essa versão é a versão mais alta aplicável em que as restrições de versão se sobrepõem.

Dependências de componentes, por exemplo, componentes.

Em seguida, você implanta o componente C emTestGroup. O componente C depende das com.example.PythonRuntime versões 2.6 a 2.7 do componente. Essa implantação falha porque não há nenhuma versão do componente que atenda às restrições 2.6 - 2.7 e 3.7 - 3.8.

Dependências de componentes que resultam em uma falha na implantação.

Removendo um dispositivo de um grupo de coisas

Quando você remove um dispositivo principal de um grupo de coisas, o comportamento de implantação do componente depende da versão do núcleo do Greengrass que o dispositivo principal executa.

2.5.1 and later

Quando você remove um dispositivo principal de um grupo de coisas, o comportamento depende se a AWS IoT política concede a greengrass:ListThingGroupsForCoreDevice permissão. Para obter mais informações sobre essa permissão e AWS IoT políticas para dispositivos principais, consulteAutorização e autenticação do dispositivo para o AWS IoT Greengrass.

  • Se a AWS IoT política conceder essa permissão

    Quando você remove um dispositivo principal de um grupo de coisas, AWS IoT Greengrass remove os componentes do grupo de coisas na próxima vez que uma implantação for feita no dispositivo. Se um componente no dispositivo for incluído na próxima implantação, esse componente não será removido do dispositivo.

  • Se a AWS IoT política não conceder essa permissão

    Quando você remove um dispositivo principal de um grupo de coisas, AWS IoT Greengrass não exclui os componentes desse grupo de coisas do dispositivo.

    Para remover um componente de um dispositivo, use o comando deployment create da CLI do Greengrass. Especifique o componente a ser removido com o --remove argumento e especifique o grupo de coisas com o --groupId argumento.

2.5.0

Quando você remove um dispositivo principal de um grupo de coisas, AWS IoT Greengrass remove os componentes do grupo de coisas na próxima vez que uma implantação for feita no dispositivo. Se um componente no dispositivo for incluído na próxima implantação, esse componente não será removido do dispositivo.

Esse comportamento exige que a AWS IoT política do dispositivo principal conceda a greengrass:ListThingGroupsForCoreDevice permissão. Se um dispositivo principal não tiver essa permissão, o dispositivo principal não aplicará implantações. Para ter mais informações, consulte Autorização e autenticação do dispositivo para o AWS IoT Greengrass.

2.0.x - 2.4.x

Quando você remove um dispositivo principal de um grupo de coisas, AWS IoT Greengrass não exclui os componentes desse grupo de coisas do dispositivo.

Para remover um componente de um dispositivo, use o comando deployment create da CLI do Greengrass. Especifique o componente a ser removido com o --remove argumento e especifique o grupo de coisas com o --groupId argumento.

Implantações

As implantações são contínuas. Quando você cria uma implantação, AWS IoT Greengrass implementa a implantação nos dispositivos de destino que estão on-line. Se um dispositivo de destino não estiver on-line, ele receberá a implantação na próxima vez em que se conectarAWS IoT Greengrass. Quando você adiciona um dispositivo principal a um grupo de itens de destino, AWS IoT Greengrass envia ao dispositivo a implantação mais recente desse grupo de itens.

Antes de um dispositivo principal implantar um componente, por padrão, ele notifica cada componente no dispositivo. Os componentes do Greengrass podem responder à notificação para adiar a implantação. Talvez você queira adiar a implantação se o dispositivo tiver um nível de bateria baixo ou estiver executando um processo que não pode ser interrompido. Para ter mais informações, consulte Tutorial: Desenvolver um componente do Greengrass que adia as atualizações de componentes. Ao criar uma implantação, você pode configurá-la para ser implantada sem notificar os componentes.

Cada item ou grupo de itens de destino pode ter uma implantação por vez. Isso significa que quando você cria uma implantação para um destino, AWS IoT Greengrass não implanta mais a revisão anterior da implantação desse alvo.

Opções de implantação

As implantações oferecem várias opções que permitem controlar quais dispositivos recebem uma atualização e como a atualização é implantada. Ao criar uma implantação, é possível configurar as seguintes opções:

  • Componentes do AWS IoT Greengrass

    Defina os componentes a serem instalados e executados nos dispositivos de destino. AWS IoT Greengrassos componentes são módulos de software implantados e executados nos dispositivos do Greengrass Core. Os dispositivos recebem componentes somente se o componente suportar a plataforma do dispositivo. Isso permite que você implante em grupos de dispositivos, mesmo que os dispositivos de destino sejam executados em várias plataformas. Se um componente não for compatível com a plataforma do dispositivo, o componente não será implantado no dispositivo.

    Você pode implantar componentes AWS personalizados e componentes fornecidos em seus dispositivos. Quando você implanta um componente, AWS IoT Greengrass identifica todas as dependências do componente e as implanta também. Para ter mais informações, consulte Desenvolva AWS IoT Greengrass componentes e AWS-componentes fornecidos.

    Você define a versão e a atualização de configuração a serem implantadas em cada componente. A atualização de configuração especifica como modificar a configuração existente do componente no dispositivo principal ou a configuração padrão do componente se o componente não existir no dispositivo principal. Você pode especificar quais valores de configuração serão redefinidos para os valores padrão e os novos valores de configuração a serem mesclados no dispositivo principal. Quando um dispositivo principal recebe implantações para destinos diferentes e cada implantação especifica versões de componentes compatíveis, o dispositivo principal aplica as atualizações de configuração em ordem com base no log de data e hora de quando você cria a implantação. Para ter mais informações, consulte Atualizar configurações do componente.

    Importante

    Quando você implanta um componente, o AWS IoT Greengrass instala as versões compatíveis mais recentes de todas as dependências desse componente. Por esse motivo, novas versões de patch dos componentes públicos fornecidos pela AWS poderão ser implantadas automaticamente nos dispositivos principais se você adicionar novos dispositivos a um grupo de itens ou atualizar a implantação direcionada a esses dispositivos. Algumas atualizações automáticas, como a atualização do núcleo, podem fazer com que seus dispositivos sejam reiniciados inesperadamente.

    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. Para mais informações sobre o comportamento de atualização do software AWS IoT Greengrass Core, consulte Atualizar o software de núcleo do AWS IoT Greengrass (OTA).

  • Políticas de implantação

    Defina o momento em que é seguro implantar uma configuração e o que deve ser feito caso a implantação apresente falhas. Você pode especificar se deve ou não esperar que os componentes relatem que podem ser atualizados. Você também pode especificar se deseja ou não reverter os dispositivos para a configuração anterior se eles aplicarem uma implantação que falhe.

  • Parar a configuração

    Defina o momento e a maneira em que uma interrupção da implantação ocorrerá. A implantação é interrompida e falha se os critérios definidos por você forem atendidos. Por exemplo, você pode configurar uma implantação para ser interrompida se uma porcentagem de dispositivos não conseguir aplicá-la após um número mínimo de dispositivos recebê-la.

  • Configuração de distribuição

    Defina a taxa na qual uma implantação é implantada nos dispositivos de destino. Você pode configurar um aumento exponencial da taxa com limites mínimos e máximos de taxa.

  • Configuração de tempo limite

    Defina o tempo máximo que cada dispositivo tem para aplicar uma implantação. Se um dispositivo exceder a duração especificada, o dispositivo não conseguirá aplicar a implantação.

Importante

Componentes personalizados podem definir artefatos em buckets do S3. Quando o software AWS IoT Greengrass principal implanta um componente, ele baixa os artefatos do componente do. Nuvem AWS As funções principais do dispositivo não permitem acesso aos buckets do S3 por padrão. Para implantar componentes personalizados que definem artefatos em um bucket do S3, a função principal do dispositivo deve conceder permissões para baixar artefatos desse bucket. Para ter mais informações, consulte Permitir acesso aos buckets do S3 para artefatos de componentes.