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à.
File di configurazione CLI del Greengrass Development Kit
L'interfaccia a riga di comando del AWS IoT Greengrass Development Kit (GDK CLI) legge da un file di configurazione gdk-config.json
denominato per creare e pubblicare componenti. Questo file di configurazione deve essere presente nella radice del repository dei componenti. Puoi usare il comando init della CLI GDK per inizializzare i repository dei componenti con questo file di configurazione.
Formato del file di configurazione GDK CLI
Quando definisci un file di configurazione GDK CLI per un componente, specifichi le seguenti informazioni in formato JSON.
gdk_version
-
La versione minima della CLI GDK compatibile con questo componente. Questo valore deve essere una delle versioni della CLI di GDK delle release.
component
-
La configurazione per questo componente.
componentName
-
author
-
L'autore o l'editore del componente.
version
-
La versione del componente. Specifica una delle seguenti proprietà:
-
NEXT_PATCH
— Quando scegliete questa opzione, la CLI di GDK imposta la versione quando pubblicate il componente. La CLI GDK interroga AWS IoT Greengrass il servizio per identificare l'ultima versione pubblicata del componente. Quindi, imposta la versione alla versione della patch successiva a quella versione. Se non hai mai pubblicato il componente prima, la CLI di GDK utilizza la versione.1.0.0
Se scegli questa opzione, non puoi utilizzare la CLI di Greengrass per distribuire e testare localmente il componente sul tuo computer di sviluppo locale che esegue il software Core. AWS IoT Greengrass Per abilitare le distribuzioni locali, devi invece specificare una versione semantica.
-
Una versione semantica, ad esempio.
1.0.0
Le versioni semantiche utilizzano un major. minore. sistema di numerazione delle patch. Per ulteriori informazioni, consulta la specifica della versione semantica. Se sviluppate componenti su un dispositivo Greengrass core su cui desiderate distribuire e testare il componente, scegliete questa opzione. È necessario creare il componente con una versione specifica per creare distribuzioni locali con la Greengrass CLI.
-
build
-
La configurazione da utilizzare per creare il codice sorgente di questo componente in artefatti. Questo oggetto contiene le seguenti informazioni:
-
build_system
-
Il sistema di compilazione da utilizzare. Seleziona una delle opzioni seguenti:
-
zip
— Impacchetta la cartella del componente in un file ZIP da definire come unico elemento del componente. Scegliete questa opzione per i seguenti tipi di componenti:-
Componenti che utilizzano linguaggi di programmazione interpretati, come Python o. JavaScript
-
Componenti che impacchettano file diversi dal codice, come modelli di apprendimento automatico o altre risorse.
La CLI GDK comprime la cartella del componente in un file zip con lo stesso nome della cartella del componente. Ad esempio, se il nome della cartella del componente è
HelloWorld
, la CLI GDK crea un file zip denominato.HelloWorld.zip
Nota
Se si utilizza la versione 1.0.0 della CLI di GDK su un dispositivo Windows, i nomi delle cartelle dei componenti e dei file zip devono contenere solo lettere minuscole.
Quando la CLI di GDK comprime la cartella del componente in un file zip, salta i seguenti file:
-
Il file
gdk-config.json
-
Il file della ricetta (o)
recipe.json
recipe.yaml
-
Crea cartelle, come
greengrass-build
-
-
maven
— Esegue ilmvn clean package
comando per creare il codice sorgente del componente in artefatti. Scegli questa opzione per i componenti che utilizzano Maven, come i componenti Java. Sui dispositivi Windows, questa funzionalità è disponibile per GDK CLI v1.1.0 e versioni successive.
-
gradle
— Esegue ilgradle build
comando per creare il codice sorgente del componente in artefatti. Scegliete questa opzione per i componenti che utilizzano Gradle.Questa funzionalità è disponibile per GDK CLI v1.1.0 e versioni successive. Il sistema di
gradle
build supporta Kotlin DSL come file di build. Questa funzionalità è disponibile per GDK CLI v1.2.0 e versioni successive. -
gradlew
— Esegue ilgradlew
comando per creare il codice sorgente del componente in artefatti. Scegliete questa opzione per i componenti che utilizzano il GradleWrapper. Questa funzionalità è disponibile per GDK CLI v1.2.0 e versioni successive.
-
custom
— Esegue un comando personalizzato per creare il codice sorgente del componente in una ricetta e in artefatti. Specificate il comando personalizzato nelcustom_build_command
parametro.
-
custom_build_command
-
(Facoltativo) Il comando custom build da eseguire per un sistema di build personalizzato. È necessario specificare questo parametro se si specifica
custom
perbuild_system
.Importante
Questo comando deve creare una ricetta e degli artefatti nelle seguenti cartelle all'interno della cartella del componente. La CLI GDK crea queste cartelle per te quando esegui il comando component build.
-
Cartella delle ricette:
greengrass-build/recipes
-
Cartella Artifacts:
greengrass-build/artifacts/
componentName
/componentVersion
Sostituisci
componentName
con il nome del componente e sostituiscicomponentVersion con la versione
del componente o.NEXT_PATCH
È possibile specificare una singola stringa o un elenco di stringhe, in cui ogni stringa è una parola del comando. Ad esempio, per eseguire un comando di compilazione personalizzato per un componente C++, puoi specificare
cmake --build build --config Release
o.["cmake", "--build", "build", "--config", "Release"]
Per visualizzare un esempio di sistema di compilazione personalizzato, vedi aws.greengrass.labs.LocalWebServer community componenton GitHub
. -
options
-
(Facoltativo) Opzioni di configurazione aggiuntive utilizzate durante il processo di creazione del componente.
Questa funzionalità è disponibile per GDK CLI v1.2.0 e versioni successive.
excludes
-
Un elenco di pattern a glob che definiscono quali file escludere dalla directory dei componenti durante la creazione del file zip. Valido solo quando
build_system
èzip
.Nota
Nelle versioni 1.4.0 e precedenti della CLI di GDK, qualsiasi file che corrisponde a una voce nell'elenco delle esclusioni viene escluso da tutte le sottodirectory del componente. Per ottenere lo stesso comportamento nelle versioni 1.5.0 e successive della CLI di GDK,
**/
anteponi le voci esistenti nell'elenco delle esclusioni. Ad esempio,*.txt
escluderà i file di testo solo dalla directory;**/*.txt
escluderà i file di testo da tutte le directory e sottodirectory.Nelle versioni 1.5.0 e successive della CLI di GDK, potresti visualizzare un avviso durante la compilazione del componente
excludes
quando è definito nel file di configurazione GDK. Per disabilitare questo avviso, imposta la variabile di ambiente su.GDK_EXCLUDES_WARN_IGNORE
true
La CLI GDK esclude sempre i seguenti file dal file zip:
-
Il file
gdk-config.json
-
Il file della ricetta (o)
recipe.json
recipe.yaml
-
Crea cartelle, come
greengrass-build
I seguenti file sono esclusi per impostazione predefinita. Tuttavia, puoi controllare quali di questi file sono esclusi con l'
excludes
opzione.-
Qualsiasi cartella che inizia con il prefisso «test» ()
test*
-
Tutti i file nascosti
-
La cartella
node_modules
Se specificate l'
excludes
opzione, la CLI di GDK esclude solo i file impostati con l'opzione.excludes
Se non specificate l'excludes
opzione, la CLI di GDK esclude i file e le cartelle predefiniti precedentemente indicati. -
zip_name
-
Il nome del file zip da usare quando si crea un elemento zip durante il processo di compilazione. Valido solo quando è.
build_system
zip
Sebuild_system
è vuoto, il nome del componente viene utilizzato per il nome del file zip.
-
publish
-
La configurazione da utilizzare per pubblicare questo componente nel AWS IoT Greengrass servizio.
Se utilizzi GDK CLI v1.1.0 o versione successiva, puoi specificare
--bucket
l'argomento per specificare il bucket S3 in cui la CLI di GDK carica gli artefatti del componente.Se non specifichi questo argomento, la CLI di GDK viene caricata nel bucket S3 il cui nome
Account AWS La CLI GDK crea il bucket se non esiste.
è,bucket
-region
-accountId
dove
buckete region sono i valori specificati e
AccountID è il tuo IDgdk-config.json
.Questo oggetto contiene le seguenti informazioni:
bucket
-
Il nome del bucket S3 da usare per ospitare gli artefatti dei componenti.
region
-
Il Regione AWS punto in cui la CLI di GDK pubblica questo componente.
Questa proprietà è facoltativa se si utilizza GDK CLI v1.3.0 o versione successiva.
options
-
(Facoltativo) Opzioni di configurazione aggiuntive utilizzate durante la creazione della versione del componente.
Questa funzionalità è disponibile per GDK CLI v1.2.0 e versioni successive.
file_upload_args
-
Una struttura JSON contenente argomenti inviati ad Amazon S3 durante il caricamento di file in un bucket, come metadati e meccanismi di crittografia. Per un elenco degli argomenti consentiti, consulta la
S3Transfer
classe nella documentazione di Boto3. .
test-e2e
-
(Facoltativo) La configurazione da utilizzare durante il end-to-end test del componente. Questa funzionalità è disponibile per GDK CLI v1.3.0 e versioni successive.
build
-
build_system
— Il sistema di compilazione da utilizzare. L'opzione predefinita èmaven
. Seleziona una delle opzioni seguenti: gtf_version
-
(Facoltativo) La versione del Greengrass Testing Framework (GTF) da usare come dipendenza del modulo di end-to-end test quando inizializzi il progetto GDK con GTF. Questo valore deve essere una delle versioni GTF delle release.
L'impostazione predefinita è GTF versione 1.1.0. gtf_options
-
(Facoltativo) Opzioni di configurazione aggiuntive utilizzate durante il end-to-end test del componente.
L'elenco seguente include le opzioni che è possibile utilizzare con la versione 1.1.0 di GTF.
-
additional-plugins
— (Opzionale) Plugin aggiuntivi per Cucumber -
aws-region
— Si rivolge a endpoint regionali specifici per i servizi. AWS L'impostazione predefinita è ciò che rileva l'AWSSDK. -
credentials-path
— Percorso opzionale AWS delle credenziali del profilo. L'impostazione predefinita sono le credenziali rilevate nell'ambiente host. -
credentials-path-rotation
— Durata di rotazione opzionale per le credenziali. AWS Il valore predefinito è 15 minuti o.PT15M
-
csr-path
— Il percorso della CSR con cui verrà generato il certificato del dispositivo. -
device-mode
— Il dispositivo bersaglio sottoposto a test. L'impostazione predefinita è il dispositivo locale. -
env-stage
— Si rivolge all'ambiente di implementazione di Greengrass. L'impostazione predefinita è la produzione. -
existing-device-cert-arn
— L'arn di un certificato esistente che desideri utilizzare come certificato del dispositivo per Greengrass. -
feature-path
— File o directory contenente file di funzionalità aggiuntivi. L'impostazione predefinita è che non vengono utilizzati file di feature aggiuntivi. -
gg-cli-version
— Sostituisce la versione della CLI di Greengrass. Il valore predefinito è il valore trovato in.ggc.version
-
gg-component-bucket
— Il nome di un bucket Amazon S3 esistente che contiene componenti Greengrass. -
gg-component-overrides
— Un elenco di componenti sostituiti da Greengrass. -
gg-persist
— Un elenco di elementi di test che devono persistere dopo l'esecuzione di un test. Il comportamento predefinito consiste nel non rendere persistente nulla. I valori accettati sono:aws.resources
installed.software
, egenerated.files
. -
gg-runtime
— Un elenco di valori per influenzare il modo in cui il test interagisce con le risorse di test. Questi valori sostituiscono il parametro.gg.persist
Se l'impostazione predefinita è vuota, presuppone che tutte le risorse di test siano gestite per test case, incluso il runtime Greengrass installato. I valori accettati sono:aws.resources
, einstalled.software
.generated.files
-
ggc-archive
— Il percorso verso il componente Greengrass nucleus archiviato. -
ggc-install-root
— Directory per installare il componente Greengrass nucleus. I valori predefiniti sono test.temp.path e test run. -
ggc-log-level
— Imposta il livello di registro del nucleo di Greengrass per l'esecuzione del test. L'impostazione predefinita è «INFO». -
ggc-tes-rolename
— Il ruolo IAM che AWS IoT Greengrass Core assumerà per accedere ai AWS servizi. Se non esiste un ruolo con un nome specifico, ne verrà creato uno e una politica di accesso predefinita. -
ggc-trusted-plugins
— L'elenco separato da virgole dei percorsi (sull'host) dei plugin affidabili che devono essere aggiunti a Greengrass. Per fornire il percorso sul DUT stesso, inserisci il prefisso 'dut: ' -
ggc-user-name
— Il valore PosixUser user:group per il nucleo Greengrass. Il valore predefinito è il nome utente corrente a cui è stato effettuato l'accesso. -
ggc-version
— Sostituisce la versione del componente Greengrass nucleus in esecuzione. Il valore predefinito è il valore trovato in ggc.archive. -
log-level
— Livello di registro dell'esecuzione del test. Il valore predefinito è «INFO». -
parallel-config
— Set di indice di batch e numero di batch come stringa JSON. Il valore predefinito dell'indice batch è 0 e il numero di batch è 1. -
proxy-url
— Configura tutti i test per indirizzare il traffico attraverso questo URL. -
tags
— Esegui solo tag di funzionalità. Può essere intersecato con '&' -
test-id-prefix
— Un prefisso comune applicato a tutte le risorse specifiche del test, inclusi i nomi e i tag AWS delle risorse. L'impostazione predefinita è il prefisso «gg». -
test-log-path
— Directory che conterrà i risultati dell'intera esecuzione del test. Il valore predefinito è «testResults». -
test-results-json
— Contrassegno per determinare se viene generato un report Cucumber JSON risultante scritto su disco. Il valore predefinito è true. -
test-results-log
— Contrassegno per determinare se l'output della console viene generato scritto su disco. Il valore predefinito è false (falso). -
test-results-xml
— Contrassegno per determinare se un report XML JUnit risultante viene generato e scritto su disco. Il valore predefinito è true. -
test-temp-path
— Directory per generare artefatti di test locali. Il valore predefinito è una directory temporanea casuale con il prefisso gg-testing. -
timeout-multiplier
— Moltiplicatore fornito a tutti i timeout dei test. Il valore predefinito è 1.0.
-
Esempi di file di configurazione CLI GDK
Puoi fare riferimento ai seguenti esempi di file di configurazione della CLI GDK per aiutarti a configurare gli ambienti dei componenti Greengrass.
Ciao mondo (Python)
Il seguente file di configurazione GDK CLI supporta un componente Hello World che esegue uno script Python. Questo file di configurazione utilizza il sistema di zip
compilazione per impacchettare lo script Python del componente in un file ZIP che la CLI di GDK carica come artefatto.
{ "component": { "com.example.PythonHelloWorld": { "author": "Amazon", "version": "NEXT_PATCH", "build": { "build_system" : "zip", "options": { "excludes": [".*"] } }, "publish": { "bucket": "greengrass-component-artifacts", "region": "us-west-2", "options": { "file_upload_args": { "Metadata": { "
some-key
": "some-value
" } } } } }, "test-e2e":{ "build":{ "build_system": "maven" }, "gtf_version": "1.1.0", "gtf_options": { "tags": "Sample" } }, "gdk_version": "1.6.1" } }
Hello World (Java)
Il seguente file di configurazione GDK CLI supporta un componente Hello World che esegue un'applicazione Java. Questo file di configurazione utilizza il sistema di maven
compilazione per impacchettare il codice sorgente Java del componente in un file JAR che la CLI GDK carica come artefatto.
{ "component": { "com.example.JavaHelloWorld": { "author": "Amazon", "version": "NEXT_PATCH", "build": { "build_system" : "maven" }, "publish": { "bucket": "greengrass-component-artifacts", "region": "us-west-2", "options": { "file_upload_args": { "Metadata": { "
some-key
": "some-value
" } } } } }, "test-e2e":{ "build":{ "build_system": "maven" }, "gtf_version": "1.1.0", "gtf_options": { "tags": "Sample" } }, "gdk_version": "1.6.1" } }
Componenti della community
Diversi componenti della community nel Greengrass Software Catalog utilizzano la CLI GDK. Puoi esplorare i file di configurazione della CLI di GDK nei repository di questi componenti.
Per visualizzare i file di configurazione della CLI GDK dei componenti della community
-
Esegui il comando seguente per elencare i componenti della community che utilizzano la CLI GDK.
gdk component list --repository
La risposta elenca il nome del GitHub repository per ogni componente della comunità che utilizza la CLI GDK. Ogni repository esiste nell'organizzazione.
awslabs
[2022-02-22 17:27:31] INFO - Listing all the available component repositories from Greengrass Software Catalog. [2022-02-22 17:27:31] INFO - Found '6' component repositories to display. 1. aws-greengrass-labs-database-influxdb 2. aws-greengrass-labs-telemetry-influxdbpublisher 3. aws-greengrass-labs-dashboard-grafana 4. aws-greengrass-labs-dashboard-influxdb-grafana 5. aws-greengrass-labs-local-web-server 6. aws-greengrass-labs-lookoutvision-gstreamer
-
Apri l' GitHub archivio di un componente della community al seguente URL. Sostituiscilo
community-component-name
con il nome di un componente della community del passaggio precedente.https://github.com/awslabs/
community-component-name