Creación de un trabajo a partir de plantillas administradas por AWS mediante la AWS CLI
Utilice la AWS CLI para obtener información sobre las plantillas administradas por AWS y crear un trabajo con ellas. A continuación, puede guardar el trabajo como una plantilla y crear su propia plantilla personalizada.
Enumeración de plantillas administradas
El comando list-managed-job-templates de la AWS CLI muestra todas las plantillas de trabajo de la Cuenta de AWS.
aws iot list-managed-job-templates
De forma predeterminada, al ejecutar este comando, se muestran todas las plantillas administradas por AWS disponibles y sus detalles.
{ "managedJobTemplates": [ { "templateArn": "arn:aws:iot:region::jobtemplate/AWS-Reboot:1.0", "templateName": "AWS-Reboot", "description": "A managed job template for rebooting the device.", "environments": [ "LINUX" ], "templateVersion": "1.0" }, { "templateArn": "arn:aws:iot:region::jobtemplate/AWS-Remove-Application:1.0", "templateName": "AWS-Remove-Application", "description": "A managed job template for uninstalling one or more applications.", "environments": [ "LINUX" ], "templateVersion": "1.0" }, { "templateArn": "arn:aws:iot:region::jobtemplate/AWS-Stop-Application:1.0", "templateName": "AWS-Stop-Application", "description": "A managed job template for stopping one or more system services.", "environments": [ "LINUX" ], "templateVersion": "1.0" }, ... { "templateArn": "arn:aws:iot:us-east-1::jobtemplate/AWS-Restart-Application:1.0", "templateName": "AWS-Restart-Application", "description": "A managed job template for restarting one or more system services.", "environments": [ "LINUX" ], "templateVersion": "1.0" } ] }
Para obtener más información, consulte ListManagedJobTemplates.
Obtención de detalles sobre una plantilla administrada
El comando describe-managed-job-template de la AWS CLI obtiene detalles sobre una plantilla de trabajo especificada. Especifique el nombre de la plantilla de trabajo y, opcionalmente, su versión. Si no se especifica la versión de la plantilla, se devuelve la versión predeterminada predefinida. A continuación se muestra un ejemplo de ejecución del comando para obtener los detalles de la plantilla AWS-Download-File.
aws iot describe-managed-job-template \ --template-nameAWS-Download-File
El comando muestra los detalles de la plantilla y el ARN, su documento de trabajo y el parámetro documentParameters, que es una lista de pares clave-valor de los parámetros de entrada de la plantilla. Para obtener información sobre las diferentes plantillas y parámetros de entrada, consulte Acciones remotas y documentos de trabajo de plantillas administradas.
nota
El objeto documentParameters devuelto al usar esta API solo debe utilizarse al crear trabajos a partir de plantillas administradas por AWS. El objeto no debe usarse para plantillas de trabajo personalizadas. Para ver un ejemplo que muestra cómo utilizar este parámetro, consulte Creación de un trabajo mediante plantillas administradas.
{ "templateName": "AWS-Download-File", "templateArn": "arn:aws:iot:::jobtemplate/region", "description": "A managed job template for downloading a file.", "templateVersion": "1.0", "environments": [ "LINUX" ], "documentParameters": [ { "key": "downloadUrl", "description": "URL of file to download.", "regex": "(.*?)", "example": "http://www.example.com/index.html", "optional": false }, { "key": "filePath", "description": "Path on the device where downloaded file is written.", "regex": "(.*?)", "example": "/path/to/file", "optional": false }, { "key": "runAsUser", "description": "Execute handler as another user. If not specified, then handler is executed as the same user as device client.", "regex": "(.){0,256}", "example": "user1", "optional": true }, { "key": "pathToHandler", "description": "Path to handler on the device. If not specified, then device client will use the current working directory.", "regex": "(.){0,4096}", "example": "/path/to/handler/script", "optional": true } ], "document": "{\"version\":\"1.0\",\"steps\":[{\"action\":{\"name\":\"Download-File\",\"type\":\"runHandler\",\"input\":{\"handler\":\"download-file.sh\",\"args\":[\"${aws:iot:parameter:downloadUrl}\",\"${aws:iot:parameter:filePath}\"],\"path\":\"${aws:iot:parameter:pathToHandler}\"},\"runAsUser\":\"${aws:iot:parameter:runAsUser}\"}}]}" }AWS-Download-File:1.0
Para obtener más información, consulte DescribeManagedJobTemplate.
Creación de un trabajo mediante plantillas administradas
El comando create-job de la AWS CLI se puede utilizar para crear un trabajo a partir de una plantilla de trabajo. Se dirige a un dispositivo llamado thingOne y especifica el nombre de recurso de Amazon (ARN) de la plantilla administrada que se va a utilizar como base para el trabajo. Puede anular las configuraciones avanzadas, como las configuraciones del tiempo de espera y de cancelación, omitiendo los parámetros correspondientes del comando create-job.
En el ejemplo se muestra cómo crear un trabajo que utiliza la plantilla AWS-Download-File. También muestra cómo especificar los parámetros de entrada de la plantilla mediante el parámetro document-parameters.
nota
Utilice el objeto document-parameters únicamente con plantillas administradas por AWS. Este objeto no debe usarse con plantillas de trabajo personalizadas.
aws iot create-job \ --targets arn:aws:iot:region:account-id:thing/thingOne\ --job-id "new-managed-template-job" \ --job-template-arn arn:aws:iot:region::jobtemplate/AWS-Download-File:1.0\ --document-parameters downloadUrl=https://example.com/index.html,filePath=path/to/file
donde:
-
regiones la Región de AWS. -
account-ides el número único de la Cuenta de AWS. -
es el nombre del objeto de IoT al que se dirige el trabajo.thingOne -
AWS-Download-File:1.0es el nombre de la plantilla administrada. https://es la URL de la que descargar el archivo.example.com/index.htmlhttps://es la ruta en el dispositivo para almacenar el archivo descargado.pathto/file/index
Ejecute el siguiente comando para crear un trabajo para la plantilla, .AWS-Download-File
{ "jobArn": "arn:aws:iot:region:account-id:job/new-managed-template-job", "jobId": "new-managed-template-job", "description": "A managed job template for downloading a file." }
Creación de una plantilla de trabajo personalizada a partir de plantillas administradas
-
Cree un trabajo mediante una plantilla administrada tal y como se describe en la sección anterior.
-
Cree una plantilla de trabajo personalizada mediante el ARN del trabajo que ha creado. Para obtener más información, consulte Creación de una plantilla de trabajo a partir de un trabajo existente.