Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Sviluppa plugin di provisioning personalizzati
Per sviluppare un plug-in di provisioning personalizzato, create una classe Java che implementa l'interfaccia. com.aws.greengrass.provisioning.DeviceIdentityInterface Puoi includere il file JAR Greengrass nucleus nel tuo progetto per accedere a questa interfaccia e alle sue classi. Questa interfaccia definisce un metodo che immette una configurazione di plugin e genera una configurazione di provisioning. La configurazione di provisioning definisce le configurazioni per il sistema e il componente Greengrass nucleus. Il programma di installazione del software AWS IoT Greengrass Core utilizza questa configurazione di provisioning per configurare il AWS IoT Greengrass software Core su un dispositivo.
Dopo aver sviluppato un plug-in di provisioning personalizzato, crealo come file JAR da fornire al programma di installazione del software AWS IoT Greengrass Core per eseguire il plug-in durante l'installazione. Il programma di installazione esegue il plug-in di provisioning personalizzato nella stessa JVM utilizzata dal programma di installazione, in modo da poter creare un JAR che contenga solo il codice del plug-in.
Nota
Il plug-in AWS IoT Fleet Provisioning implementa l'utilizzo del fleet provisioning durante l'DeviceIdentityInterfaceinstallazione. Il plug-in fleet provisioning è open source, quindi puoi esplorarne il codice sorgente per vedere un esempio di come utilizzare l'interfaccia del plug-in di provisioning. Per ulteriori informazioni, consulta il plug-in AWS IoT
Fleet Provisioning
Requisiti
Per sviluppare un plug-in di provisioning personalizzato, è necessario creare una classe Java che soddisfi i seguenti requisiti:
-
Utilizza il
com.aws.greengrasspacchetto o un pacchetto all'interno delcom.aws.greengrasspacchetto. -
Ha un costruttore senza argomenti.
-
Implementa l'interfaccia.
DeviceIdentityInterfacePer ulteriori informazioni, consulta Implementa l'interfaccia DeviceIdentityInterface .
Implementa l'interfaccia DeviceIdentityInterface
Per utilizzare l'com.aws.greengrass.provisioning.DeviceIdentityInterfaceinterfaccia del tuo plugin personalizzato, aggiungi il nucleo Greengrass come dipendenza al tuo progetto.
Per utilizzarlo DeviceIdentityInterface in un progetto di plug-in di provisioning personalizzato
-
Puoi aggiungere il file JAR Greengrass nucleus come libreria o aggiungere il nucleo Greengrass come dipendenza Maven. Esegui una di queste operazioni:
-
Per aggiungere il file JAR Greengrass nucleus come libreria, scaricate il software AWS IoT Greengrass Core, che contiene il file JAR Greengrass nucleus. È possibile scaricare la versione più recente del software AWS IoT Greengrass Core dal seguente percorso:
-
https://d2s8p88vqu9w66.cloudfront. net/releases/greengrass
-nucleus-latest.zip
È possibile trovare il file JAR Greengrass nucleus (
Greengrass.jar) nellalibcartella del file ZIP. Aggiungi questo file JAR al tuo progetto. -
-
Per utilizzare il nucleo Greengrass in un progetto Maven, aggiungi una dipendenza dall'artefatto del gruppo.
nucleuscom.aws.greengrassÈ inoltre necessario aggiungere ilgreengrass-commonrepository, poiché il nucleo Greengrass non è disponibile nel Maven Central Repository.<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>
-
L'interfaccia DeviceIdentityInterface
L'com.aws.greengrass.provisioning.DeviceIdentityInterfaceinterfaccia ha la seguente 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 {}
Ogni valore di configurazione nella SystemConfiguration e NucleusConfiguration è necessario per installare il software Core, ma è possibile restituirlo. AWS IoT Greengrass null Se il plug-in di provisioning personalizzato restituisce null un valore di configurazione, è necessario fornire tale valore nella configurazione del sistema o del nucleo quando si crea il config.yaml file da fornire al programma di installazione del software AWS IoT Greengrass Core. Se il plug-in di provisioning personalizzato restituisce un valore diverso da nullo per un'opzione anch'essa definita inconfig.yaml, il programma di installazione sostituisce il valore in config.yaml con il valore restituito dal plug-in.