Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Desarrollo de complementos de aprovisionamiento personalizados
Para desarrollar un complemento de aprovisionamiento personalizado, cree una clase Java que implemente la interfaz com.aws.greengrass.provisioning.DeviceIdentityInterface
. Puede incluir el archivo JAR del núcleo de Greengrass en su proyecto para acceder a esta interfaz y a sus clases. Esta interfaz define un método que introduce una configuración de complemento y genera una configuración de aprovisionamiento. La configuración de aprovisionamiento define las configuraciones para el sistema y el componente núcleo de Greengrass. El instalador del software AWS IoT Greengrass principal utiliza esta configuración de aprovisionamiento para configurar el software AWS IoT Greengrass principal en un dispositivo.
Después de desarrollar un complemento de aprovisionamiento personalizado, créelo como un archivo JAR que puede proporcionar al instalador del software AWS IoT Greengrass principal para que ejecute el complemento durante la instalación. El instalador ejecuta el complemento de aprovisionamiento personalizado en la misma JVM que utiliza el instalador, por lo que puede crear un JAR que contenga únicamente el código del complemento.
nota
El complemento de aprovisionamiento de flota de AWS IoT implementa DeviceIdentityInterface
para utilizar el aprovisionamiento de flota durante la instalación. El complemento de aprovisionamiento de flota es de código abierto, por lo que puede explorar su código de origen para ver un ejemplo de cómo utilizar la interfaz del complemento de aprovisionamiento. Para obtener más información, consulte el complemento de aprovisionamiento de AWS IoT
flotas
Requisitos
Para desarrollar un complemento de aprovisionamiento personalizado, debe crear una clase Java que cumpla con los siguientes requisitos:
-
Usa el paquete
com.aws.greengrass
o un paquete dentro del paquetecom.aws.greengrass
. -
Tiene un constructor sin argumentos.
-
Implementa la interfaz
DeviceIdentityInterface
. Para obtener más información, consulte Implemente la interfaz DeviceIdentityInterface .
Implemente la interfaz DeviceIdentityInterface
Para utilizar la interfaz com.aws.greengrass.provisioning.DeviceIdentityInterface
en su complemento personalizado, agregue el núcleo de Greengrass como una dependencia a su proyecto.
Para utilizarla DeviceIdentityInterface en un proyecto de complemento de aprovisionamiento personalizado
-
Puede agregar el archivo JAR del núcleo de Greengrass como biblioteca o agregar el núcleo de Greengrass como una dependencia de Maven. Realice una de las siguientes acciones:
-
Para añadir el archivo JAR del núcleo de Greengrass como biblioteca, descargue el software AWS IoT Greengrass Core, que contiene el JAR del núcleo de Greengrass. Puede descargar la última versión del software AWS IoT Greengrass Core desde la siguiente ubicación:
-
https://d2s8p88vqu9w66.cloudfront. net/releases/greengrass
-nucleus-latest.zip
Puede encontrar el archivo JAR del núcleo de Greengrass (
Greengrass.jar
) en la carpetalib
del archivo ZIP. Agregue este archivo JAR a su proyecto. -
-
Para utilizar el núcleo de Greengrass en un proyecto de Maven, agregue una dependencia al artefacto
nucleus
del grupocom.aws.greengrass
. También debe agregar el repositoriogreengrass-common
, ya que el núcleo de Greengrass no está disponible en el repositorio central de Maven.<project
...
>...
<repositories> <repository> <id>greengrass-common</id> <name>greengrass common</name> <url>https://d2jrmugq4soldf.cloudfront.net/snapshots</url> </repository> </repositories>...
<dependencies> <dependency> <groupId>com.aws.greengrass</groupId> <artifactId>nucleus</artifactId> <version>2.5.0-SNAPSHOT</version> <scope>provided</scope> </dependency> </dependencies> </project>
-
La DeviceIdentityInterface interfaz
La interfaz com.aws.greengrass.provisioning.DeviceIdentityInterface
tiene la siguiente forma.
nota
public interface com.aws.greengrass.provisioning.DeviceIdentityInterface { ProvisionConfiguration updateIdentityConfiguration(ProvisionContext context) throws RetryableProvisioningException, InterruptedException; // Return the name of the plugin. String name(); } com.aws.greengrass.provisioning.ProvisionConfiguration { SystemConfiguration systemConfiguration; NucleusConfiguration nucleusConfiguration } com.aws.greengrass.provisioning.ProvisionConfiguration.SystemConfiguration { String certificateFilePath; String privateKeyPath; String rootCAPath; String thingName; } com.aws.greengrass.provisioning.ProvisionConfiguration.NucleusConfiguration { String awsRegion; String iotCredentialsEndpoint; String iotDataEndpoint; String iotRoleAlias; } com.aws.greengrass.provisioning.ProvisioningContext { Map<String, Object> parameterMap; String provisioningPolicy; // The policy is always "PROVISION_IF_NOT_PROVISIONED". } com.aws.greengrass.provisioning.exceptions.RetryableProvisioningException {}
Todos los valores de configuración de SystemConfiguration
y NucleusConfiguration
son necesarios para instalar el software Core, pero puede devolverlos AWS IoT Greengrass . null
Si su complemento de aprovisionamiento personalizado devuelve null
algún valor de configuración, debe proporcionar ese valor en la configuración del sistema o del núcleo al crear el config.yaml
archivo que se va a proporcionar al instalador del software AWS IoT Greengrass Core. Si su complemento de aprovisionamiento personalizado devuelve un valor no nulo para una opción que también ha definido en config.yaml
, el instalador sustituirá el valor en config.yaml
por el valor devuelto por el complemento.