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.
Publique componentes para desplegarlos en sus dispositivos principales
Después de crear o completar una versión de un componente, puede publicarla en el AWS IoT Greengrass servicio. Luego, puede implementarlo en los dispositivos principales de Greengrass.
Si utiliza la CLI del kit de desarrollo de Greengrass (CLI de GDK) para desarrollar y crear un componente, puede utilizar la CLI de GDK para publicar el componente en. Nube de AWS De lo contrario, utilice los comandos de shell integrados y los AWS CLI para publicar el componente.
También se puede utilizar AWS CloudFormation para crear componentes y otros AWS recursos a partir de plantillas. Para obtener más información, consulte ¿Qué es AWS CloudFormation? y AWS::GreengrassV2::ComponentVersionen la Guía AWS CloudFormation del usuario.
Publicar un componente (GDK CLI)
Siga las instrucciones de esta sección para publicar un componente mediante la CLI de GDK. La CLI de GDK carga los artefactos de construcción en un bucket de S3, actualiza los URI de los artefactos de la receta y crea el componente a partir de la receta. Debe especificar el bucket y la región de S3 que se van a utilizar en el archivo de configuración de la CLI de GDK.
Si utiliza la versión 1.1.0 de la CLI de GDK o una versión posterior, puede especificar el --bucket
argumento para especificar el depósito de S3 en el que la CLI de GDK carga los artefactos del componente. Si no especificas este argumento, la CLI de GDK se carga en el bucket de S3 cuyo nombre es
, donde bucket
-region
-accountId
bucket
y region
son los valores que especificas y AccountID
es tu ID. gdk-config.json
Cuenta de AWS La CLI de GDK crea el bucket si no existe.
importante
De forma predeterminada, las funciones principales de los dispositivos no permiten el acceso a los depósitos de S3. Si es la primera vez que utiliza este depósito de S3, debe añadir permisos al rol para que los dispositivos principales puedan recuperar los artefactos de los componentes de este depósito de S3. Para obtener más información, consulte Permita el acceso a los depósitos de S3 para los artefactos de los componentes.
Para publicar un componente de Greengrass (GDK CLI)
-
Abra la carpeta del componente en una línea de comandos o en una terminal.
-
Si aún no lo ha hecho, cree el componente Greengrass. El comando de construcción del componente produce una receta y artefactos en la
greengrass-build
carpeta de la carpeta del componente. Ejecute el siguiente comando de la .gdk component build
-
Publique el componente en Nube de AWS. El comando component publish carga los artefactos del componente en Amazon S3 y actualiza la receta del componente con el URI de cada artefacto. A continuación, crea el componente en el AWS IoT Greengrass servicio.
nota
AWS IoT Greengrass calcula el resumen de cada artefacto al crear el componente. Esto significa que no puede modificar los archivos de artefactos de su bucket de S3 después de crear un componente. Si lo hace, las implementaciones que incluyan este componente fallarán porque el resumen del archivo no coincide. Si modifica un archivo de artefactos, debe crear una nueva versión del componente.
Si especifica
NEXT_PATCH
la versión del componente en el archivo de configuración de la CLI de GDK, la CLI de GDK utilizará la siguiente versión del parche que aún no exista en el AWS IoT Greengrass servicio.Ejecute el siguiente comando de la .
gdk component publish
El resultado indica la versión del componente que creó la CLI de GDK.
Después de publicar el componente, puede implementarlo en los dispositivos principales. Para obtener más información, consulte Implemente AWS IoT Greengrass componentes en los dispositivos.
Publicar un componente (comandos de shell)
Utilice el siguiente procedimiento para publicar un componente mediante los comandos de shell y el AWS Command Line Interface (AWS CLI). Al publicar un componente, haga lo siguiente:
-
Publique los artefactos de los componentes en un bucket de S3.
-
Añada el URI de Amazon S3 de cada artefacto a la receta del componente.
-
Cree una versión del componente AWS IoT Greengrass a partir de la receta del componente.
nota
Cada versión de componente que cargue debe ser única. Asegúrese de cargar la versión del componente correcta, ya que no podrá editarla después de cargarla.
Puede seguir estos pasos para publicar un componente desde su ordenador de desarrollo o su dispositivo principal de Greengrass.
Para publicar un componente (comandos de shell)
-
Si el componente usa una versión que existe en el AWS IoT Greengrass servicio, debe cambiarla. Abra la receta en un editor de texto, incremente la versión y guarde el archivo. Elija una nueva versión que refleje los cambios que ha realizado en el componente.
nota
AWS IoT Greengrass utiliza versiones semánticas para los componentes. Las versiones semánticas siguen un sistema de números de principal.secundario.parche. Por ejemplo, la versión
1.0.0
representa la primera versión principal de un componente. Para obtener más información, consulte la especificación de la versión semántica. -
Si el componente tiene artefactos, haga lo siguiente:
-
Publique los artefactos del componente en un depósito de S3 de su Cuenta de AWS.
sugerencia
Le recomendamos que incluya el nombre y la versión del componente en la ruta al artefacto del bucket de S3. Este esquema de nomenclatura puede ayudarte a conservar los artefactos que utilizan las versiones anteriores del componente, de forma que puedas seguir admitiendo las versiones anteriores del componente.
Ejecute el siguiente comando para publicar un archivo de artefactos en un bucket de S3.
Sustituya DOC-EXAMPLE-BUCKET por el nombre del depósito y sustituya artifacts/com.example. HelloWorld/1.0.0/artifact.py
por la ruta al archivo del artefacto.aws s3 cp
artifacts/com.example.HelloWorld/1.0.0/artifact.py
s3://DOC-EXAMPLE-BUCKET/artifacts/com.example.HelloWorld/1.0.0/artifact.py
importante
De forma predeterminada, las funciones principales de los dispositivos no permiten el acceso a los depósitos de S3. Si es la primera vez que utiliza este depósito de S3, debe añadir permisos al rol para que los dispositivos principales puedan recuperar los artefactos de los componentes de este depósito de S3. Para obtener más información, consulte Permita el acceso a los depósitos de S3 para los artefactos de los componentes.
-
Agrega una lista
Artifacts
con el nombre de la receta del componente si no está presente. LaArtifacts
lista aparece en cada manifiesto, donde se definen los requisitos del componente en cada plataforma compatible (o los requisitos predeterminados del componente para todas las plataformas). -
Añada cada artefacto a la lista de artefactos o actualice el URI de los artefactos existentes. El URI de Amazon S3 está compuesto por el nombre del bucket y la ruta al objeto artefacto del bucket. Los URI de Amazon S3 de sus artefactos deberían tener un aspecto similar al del siguiente ejemplo.
s3://DOC-EXAMPLE-BUCKET/artifacts/com.example.HelloWorld/1.0.0/artifact.py
Tras completar estos pasos, la receta debería tener una
Artifacts
lista similar a la siguiente.Para obtener más información acerca de las recetas, consulte AWS IoT Greengrass referencia de recetas de componentes.
-
-
Utilice la AWS IoT Greengrass consola para crear un componente a partir del archivo de recetas.
Ejecute el siguiente comando para crear el componente a partir de un archivo de recetas. Este comando crea el componente y lo publica como un AWS IoT Greengrass componente privado en su Cuenta de AWS. Sustituya
path/to/recipeFile por la ruta del archivo
de recetas.aws greengrassv2 create-component-version --inline-recipe fileb://
path/to/recipeFile
Copie la
arn
información de la respuesta para comprobar el estado del componente en el siguiente paso.nota
AWS IoT Greengrass calcula el resumen de cada artefacto al crear el componente. Esto significa que no puede modificar los archivos de artefactos de su bucket de S3 después de crear un componente. Si lo hace, las implementaciones que incluyan este componente fallarán porque el resumen del archivo no coincide. Si modifica un archivo de artefactos, debe crear una nueva versión del componente.
-
Cada componente del AWS IoT Greengrass servicio tiene un estado. Ejecute el siguiente comando para confirmar el estado de la versión del componente que publique en este procedimiento. Sustituya
com.example. HelloWorld
y1.0.0
con la versión del componente que se va a consultar. Sustituya elarn
por el ARN del paso anterior.aws greengrassv2 describe-component --arn "arn:aws:greengrass:
region
:account-id
:components:com.example.HelloWorld
:versions:1.0.0
"La operación devuelve una respuesta que contiene los metadatos del componente. Los metadatos contienen un
status
objeto que contiene el estado del componente y cualquier error, si corresponde.Cuando el estado del componente es
DEPLOYABLE
, puede implementarlo en los dispositivos. Para obtener más información, consulte Implemente AWS IoT Greengrass componentes en los dispositivos.