SWFEjemplos de Amazon que utilizan AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

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.

SWFEjemplos de Amazon que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes AWS Command Line Interface mediante AmazonSWF.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar count-closed-workflow-executions.

AWS CLI

Recuento de ejecuciones de flujos de trabajo cerrados

Se puede utilizar swf count-closed-workflow-executions para recuperar el número de ejecuciones de flujos de trabajo cerrados de un dominio determinado. Puede especificar filtros para contar clases específicas de ejecuciones.

Los --start-time-filter argumentos --domain y uno --close-time-filter o dos son obligatorios. Todos los demás argumentos son opcionales.

aws swf count-closed-workflow-executions \ --domain DataFrobtzz \ --close-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"

Salida:

{ "count": 2, "truncated": false }

Si «truncado» estrue, «recuento» representa el número máximo que puede devolver Amazon. SWF Los demás resultados se truncan.

Para reducir el número de resultados devueltos, puede:

modificar los --start-time-filter valores --close-time-filter o para reducir el intervalo de tiempo en el que se busca. Cada uno de ellos se excluye mutuamente: solo puede especificar uno de ellos en una solicitud. Utilice los --type-filter argumentos --close-status-filter--execution-filter, --tag-filter o para filtrar aún más los resultados. Sin embargo, estos argumentos también se excluyen mutuamente.

Consulte también CountClosedWorkflowExecutionsen la APIreferencia de Amazon Simple Workflow Service

En el siguiente ejemplo de código se muestra cómo usar count-open-workflow-executions.

AWS CLI

Recuento de ejecuciones de flujos de trabajo abiertos

Se puede utilizar swf count-open-workflow-executions para recuperar el número de ejecuciones de flujos de trabajo abiertos de un dominio determinado. Puede especificar filtros para contar clases específicas de ejecuciones.

Los --start-time-filter argumentos --domain y son obligatorios. Todos los demás argumentos son opcionales.

aws swf count-open-workflow-executions \ --domain DataFrobtzz \ --start-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"

Salida:

{ "count": 4, "truncated": false }

Si «truncado» estrue, «recuento» representa el número máximo que puede devolver Amazon. SWF Los demás resultados se truncan.

Para reducir el número de resultados devueltos, puede:

modifique los --start-time-filter valores para reducir el intervalo de tiempo en el que se busca. Utilice los --close-status-filter --type-filter argumentos --tag-filter o para --execution-filter filtrar aún más los resultados. Cada uno de ellos se excluye mutuamente: solo puede especificar uno de ellos en una solicitud.

Para obtener más información, consulte CountOpenWorkflowExecutions la APIreferencia de Amazon Simple Workflow Service

En el siguiente ejemplo de código se muestra cómo usar deprecate-domain.

AWS CLI

Cómo dejar en desuso un dominio

Para dar de baja un dominio (aunque todavía podrá verlo, no podrá crear nuevas ejecuciones de flujo de trabajo ni tipos de registro en él), use swf deprecate-domain. Solo tiene un parámetro necesario, --name, que toma el nombre del dominio que se va a descartar.

aws swf deprecate-domain \ --name MyNeatNewDomain ""

Al igual que ocurre con register-domain, no se devuelve ningún resultado. Sin embargo, si list-domains solía ver los dominios registrados, verá que el dominio ha quedado obsoleto y ya no aparece en los datos devueltos.

aws swf list-domains \ --registration-status REGISTERED { "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }

Si lo usas --registration-status DEPRECATED conlist-domains, verás tu dominio obsoleto.

aws swf list-domains \ --registration-status DEPRECATED { "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }

Puedes seguir utilizándolo describe-domain para obtener información sobre un dominio obsoleto.

aws swf describe-domain \ --name MyNeatNewDomain { "domainInfo": { "status": "DEPRECATED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" } }

Consulte también DeprecateDomainen la APIreferencia de Amazon Simple Workflow Service

  • Para API obtener más información, consulte DeprecateDomainla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-domain.

AWS CLI

Obtener información sobre un dominio

Para obtener información detallada sobre un dominio en particular, utilice el swf describe-domain comando. Hay un parámetro necesario: --name, que lleva el nombre del dominio sobre el que desee información.

aws swf describe-domain \ --name DataFrobotz { "domainInfo": { "status": "REGISTERED", "name": "DataFrobotz" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "1" } }

También se puede utilizar describe-domain para obtener información sobre los dominios obsoletos.

aws swf describe-domain \ --name MyNeatNewDomain { "domainInfo": { "status": "DEPRECATED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" } }

Consulte también DescribeDomainen la APIreferencia de Amazon Simple Workflow Service

  • Para API obtener más información, consulte DescribeDomainla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-activity-types.

AWS CLI

Listado de tipos de actividades

Para obtener una lista de los tipos de actividad de un dominio, utiliceswf list-activity-types. Los --registration-status argumentos --domain y son obligatorios.

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED

Salida:

{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.451, "activityType": { "version": "1", "name": "confirm-user-email" }, "description": "subscribe confirm-user-email activity" }, { "status": "REGISTERED", "creationDate": 1371454150.709, "activityType": { "version": "1", "name": "confirm-user-phone" }, "description": "subscribe confirm-user-phone activity" }, { "status": "REGISTERED", "creationDate": 1371454149.871, "activityType": { "version": "1", "name": "get-subscription-info" }, "description": "subscribe get-subscription-info activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" }, { "status": "REGISTERED", "creationDate": 1371454150.085, "activityType": { "version": "1", "name": "subscribe-user-sns" }, "description": "subscribe subscribe-user-sns activity" } ] }

Puede usar el --name argumento para seleccionar solo los tipos de actividad con un nombre determinado:

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --name "send-subscription-success"

Salida:

{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }

Para recuperar los resultados en las páginas, puede establecer el --maximum-page-size argumento. Si se devuelven más resultados de los que caben en una página de resultados, se devolverá un nextPageToken «» en el conjunto de resultados:

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --maximum-page-size 2

Salida:

{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA1Gp1BelJq+PmHvAnDxJYbup8+0R4LVtbXLDl7QNY7C3OpHo9Sz06D/GuFz1OyC73umBQ1tOPJ/gC/aYpzDMqUIWIA1T9W0s2DryyZX4OC/6Lhk9/o5kdsuWMSBkHhgaZjgwp3WJINIFJFdaSMxY2vYAX7AtRtpcqJuBDDRE9RaRqDGYqIYUMltarkiqpSY1ZVveBasBvlvyUb/WGAaqehiDz7/JzLT/wWNNUMOd+Nhe", "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.451, "activityType": { "version": "1", "name": "confirm-user-email" }, "description": "subscribe confirm-user-email activity" }, { "status": "REGISTERED", "creationDate": 1371454150.709, "activityType": { "version": "1", "name": "confirm-user-phone" }, "description": "subscribe confirm-user-phone activity" } ] }

Puede pasar el nextPageToken valor a la siguiente llamada del --next-page-token argumento y recuperar la siguiente página de resultados: list-activity-types

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --maximum-page-size 2 \ --next-page-token "AAAAKgAAAAEAAAAAAAAAA1Gp1BelJq+PmHvAnDxJYbup8+0R4LVtbXLDl7QNY7C3OpHo9Sz06D/GuFz1OyC73umBQ1tOPJ/gC/aYpzDMqUIWIA1T9W0s2DryyZX4OC/6Lhk9/o5kdsuWMSBkHhgaZjgwp3WJINIFJFdaSMxY2vYAX7AtRtpcqJuBDDRE9RaRqDGYqIYUMltarkiqpSY1ZVveBasBvlvyUb/WGAaqehiDz7/JzLT/wWNNUMOd+Nhe"

Salida:

{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAAw+7LZ4GRZPzTqBHsp2wBxWB8m1sgLCclgCuq3J+h/m3+vOfFqtkcjLwV5cc4OjNAzTCuq/XcylPumGwkjbajtqpZpbqOcVNfjFxGoi0LB2Olbvv0krbUISBvlpFPmSWpDSZJsxg5UxCcweteSlFn1PNSZ/MoinBZo8OTkjMuzcsTuKOzH9wCaR8ITcALJ3SaqHU3pyIRS5hPmFA3OLIc8zaAepjlaujo6hntNSCruB4" "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.871, "activityType": { "version": "1", "name": "get-subscription-info" }, "description": "subscribe get-subscription-info activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }

Si aún quedan más resultados por devolver, se devolverá nextPageToken «» con los resultados. Si no hay más páginas de resultados que devolver, "nextPageToken" no aparecerá en el conjunto de resultados.

Puede utilizar el --reverse-order argumento para invertir el orden de los resultados devueltos. Esto también afecta a los resultados paginados.

aws swf list-activity-types \ --domain DataFrobtzz \ --registration-status REGISTERED \ --maximum-page-size 2 \ --reverse-order

Salida:

{ "nextPageToken": "AAAAKgAAAAEAAAAAAAAAAwXcpu5ePSyQkrC+8WMbmSrenuZC2ZkIXQYBPB/b9xIOVkj+bMEFhGj0KmmJ4rF7iddhjf7UMYCsfGkEn7mk+yMCgVc1JxDWmB0EH46bhcmcLmYNQihMDmUWocpr7To6/R7CLu0St1gkFayxOidJXErQW0zdNfQaIWAnF/cwioBbXlkz1fQzmDeU3M5oYGMPQIrUqkPq7pMEW0q0lK5eDN97NzFYdZZ/rlcLDWPZhUjY", "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454150.085, "activityType": { "version": "1", "name": "subscribe-user-sns" }, "description": "subscribe subscribe-user-sns activity" }, { "status": "REGISTERED", "creationDate": 1371454150.909, "activityType": { "version": "1", "name": "send-subscription-success" }, "description": "subscribe send-subscription-success activity" } ] }

Consulte también ListActivityTypesen la APIreferencia de Amazon Simple Workflow Service

  • Para API obtener más información, consulte ListActivityTypesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-domains.

AWS CLI

Ejemplo 1: Para enumerar sus dominios registrados

El siguiente ejemplo de list-domains comando muestra los REGISTERED SWF dominios que ha registrado para su cuenta.

aws swf list-domains \ --registration-status REGISTERED

Salida:

{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }

Para obtener más información, consulte ListDomainsla APIreferencia de Amazon Simple Workflow Service

Ejemplo 2: Para enumerar sus dominios obsoletos

El siguiente ejemplo de list-domains comando muestra los DEPRECATED SWF dominios que ha registrado para su cuenta. Los dominios obsoletos son dominios que no pueden registrar nuevos flujos de trabajo o actividades, pero que sí pueden consultarse.

aws swf list-domains \ --registration-status DEPRECATED

Salida:

{ "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }

Para obtener más información, consulte ListDomainsla APIreferencia de Amazon Simple Workflow Service

Ejemplo 3: Para enumerar la primera página de dominios registrados

El siguiente ejemplo de list-domains comando muestra los REGISTERED SWF dominios de la primera página que ha registrado para su cuenta mediante la --maximum-page-size opción.

aws swf list-domains \ --registration-status REGISTERED \ --maximum-page-size 1

Salida:

{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" } ], "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ==" }

Para obtener más información, consulte ListDomainsla APIreferencia de Amazon Simple Workflow Service

Ejemplo 4: Para enumerar la página única especificada de dominios registrados

El siguiente ejemplo de list-domains comando muestra los REGISTERED SWF dominios de la primera página que ha registrado para su cuenta mediante la --maximum-page-size opción.

Cuando vuelvas a realizar la llamada, esta vez introduciendo el valor de nextPageToken en el --next-page-token argumento, obtendrás otra página de resultados.

aws swf list-domains \ --registration-status REGISTERED \ --maximum-page-size 1 \ --next-page-token "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ=="

Salida:

{ "domainInfos": [ { "status": "REGISTERED", "name": "erontest" } ] }

Cuando no haya más páginas de resultados que recuperar, nextPageToken no aparecerá en los resultados.

Para obtener más información, consulte ListDomainsla APIreferencia de Amazon Simple Workflow Service

  • Para API obtener más información, consulte ListDomainsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-workflow-types.

AWS CLI

Listado de tipos de flujo de trabajo

Para obtener una lista de los tipos de flujo de trabajo de un dominio, utiliceswf list-workflow-types. Los --registration-status argumentos --domain y son obligatorios. He aquí un ejemplo sencillo.

aws swf list-workflow-types \ --domain DataFrobtzz \ --registration-status REGISTERED

Salida:

{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.598, "description": "DataFrobtzz subscribe workflow", "workflowType": { "version": "v3", "name": "subscribe" } } ] }

Del mismo list-activity-types modo, puedes usar el --name argumento para seleccionar solo los tipos de flujo de trabajo con un nombre concreto y usar el --maximum-page-size argumento en coordinación con --next-page-token los resultados de la página. Para invertir el orden en el que se devuelven los resultados, utilice--reverse-order.

Consulte también ListWorkflowTypesen la APIreferencia de Amazon Simple Workflow Service

  • Para API obtener más información, consulte ListWorkflowTypesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar register-domain.

AWS CLI

Registrar un dominio

Puede utilizar el AWS CLI para registrar nuevos dominios. Utilice el comando swf register-domain. Hay dos parámetros obligatorios: el que toma el nombre de dominio y --workflow-execution-retention-period-in-days el que utiliza un número entero para especificar el número de días que se deben conservar los datos de ejecución del flujo de trabajo en este dominio, hasta un período máximo de 90 días (para obtener más información, consulte SWF FAQ < https://aws.amazon.com/swf/ faqs/ #retain_limit >). --name Los datos de ejecución del flujo de trabajo no se conservarán una vez transcurrido el número de días especificado.

aws swf register-domain \ --name MyNeatNewDomain \ --workflow-execution-retention-period-in-days 0 ""

Al registrar un dominio, no se devuelve nada (""), pero puede utilizar swf list-domains o swf describe-domain para ver el nuevo dominio.

aws swf list-domains \ --registration-status REGISTERED { "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "MyNeatNewDomain" }, { "status": "REGISTERED", "name": "erontest" } ] }

Uso de swf describe-domain:

aws swf describe-domain --name MyNeatNewDomain { "domainInfo": { "status": "REGISTERED", "name": "MyNeatNewDomain" }, "configuration": { "workflowExecutionRetentionPeriodInDays": "0" } }

Consulte también RegisterDomainen la APIreferencia de Amazon Simple Workflow Service

  • Para API obtener más información, consulte RegisterDomainla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar register-workflow-type.

AWS CLI

Registro de un tipo de flujo de trabajo

Para registrar un tipo de flujo de trabajo con el AWS CLI, utilice el swf register-workflow-type comando.

aws swf register-workflow-type \ --domain DataFrobtzz \ --name "MySimpleWorkflow" \ --workflow-version "v1"

Si se ejecuta correctamente, el comando no produce ningún resultado.

En caso de error (por ejemplo, si intenta registrar el mismo tipo de flujo de trabajo dos veces o especifica un dominio que no existe), recibirá una respuesta. JSON

{ "message": "WorkflowType=[name=MySimpleWorkflow, version=v1]", "__type": "com.amazonaws.swf.base.model#TypeAlreadyExistsFault" }

Las letras--domain, --name y --workflow-version son obligatorias. También puede establecer la descripción del flujo de trabajo, los tiempos de espera y la política del flujo de trabajo secundario.

Para obtener más información, consulte RegisterWorkflowTypela APIreferencia de Amazon Simple Workflow Service

  • Para API obtener más información, consulte RegisterWorkflowTypela Referencia de AWS CLI comandos.