Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK
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.
Ejemplos de Amazon SWF con AWS CLI
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes AWS Command Line Interface mediante Amazon SWF.
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 distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar count-closed-workflow-executions.
- AWS CLI
-
Recuento de ejecuciones de flujo de trabajo cerradas
Puede utilizar
swf count-closed-workflow-executionspara recuperar el número de ejecuciones de flujo de trabajo cerradas de un dominio determinado. Puede especificar filtros para contar clases de ejecuciones específicas.Los argumentos
--domainy--close-time-filtero--start-time-filterson obligatorios. Todos los demás argumentos son opcionales.aws swf count-closed-workflow-executions \ --domainDataFrobtzz\ --close-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"Salida:
{ "count": 2, "truncated": false }Si el valor de truncated es
true, count 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 valores
--close-time-filtero--start-time-filterpara reducir el intervalo de tiempo en el que se busca. Cada valor se excluye mutuamente: puede especificar solo uno en una solicitud. Utilice los argumentos--close-status-filter,--execution-filter,--tag-filtero--type-filterpara filtrar aún más los resultados. Sin embargo, estos argumentos también se excluyen mutuamente.Consulte también CountClosedWorkflowExecutionsen la referencia de la API de Amazon Simple Workflow Service
-
Para obtener más información sobre la API, consulte CountClosedWorkflowExecutions
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar count-open-workflow-executions.
- AWS CLI
-
Recuento de ejecuciones de flujo de trabajo pendientes
Puede utilizar
swf count-open-workflow-executionspara recuperar el número de ejecuciones de flujo de trabajo pendientes de un dominio determinado. Puede especificar filtros para contar clases de ejecuciones específicas.Solo se necesitan los argumentos
--domainy--start-time-filter. Todos los demás argumentos son opcionales.aws swf count-open-workflow-executions \ --domainDataFrobtzz\ --start-time-filter "{ \"latestDate\" : 1377129600, \"oldestDate\" : 1370044800 }"Salida:
{ "count": 4, "truncated": false }Si el valor de truncated es
true, count 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 valores
--start-time-filterpara reducir el intervalo de tiempo en el que se busca. Utilice los argumentos--close-status-filter,--execution-filter,--tag-filtero--type-filterpara filtrar aún más los resultados. Cada uno se excluye mutuamente: puede especificar solo uno en una solicitud.Para obtener más información, consulte la referencia CountOpenWorkflowExecutions de la API de Amazon Simple Workflow Service
-
Para obtener más información sobre la API, consulte CountOpenWorkflowExecutions
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar deprecate-domain.
- AWS CLI
-
Para dar de baja 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 \ --nameMyNeatNewDomain""Al igual que ocurre con
register-domain, no se devuelve ningún resultado. Si usalist-domainspara ver los dominios registrados, sin embargo, verá que el dominio se ha retirado y ya no aparece entre los datos devueltos.aws swf list-domains \ --registration-statusREGISTERED{"domainInfos":[{"status": "REGISTERED", "name":"DataFrobotz"},{"status": "REGISTERED", "name":"erontest"}]}Si usa
--registration-status DEPRECATEDconlist-domains, verá el dominio obsoleto.aws swf list-domains \ --registration-statusDEPRECATED{"domainInfos":[{"status": "DEPRECATED", "name":"MyNeatNewDomain"}]}También puede usar
describe-domainpara obtener información sobre un dominio obsoleto.aws swf describe-domain \ --nameMyNeatNewDomain{"domainInfo":{"status": "DEPRECATED", "name":"MyNeatNewDomain"},"configuration":{"workflowExecutionRetentionPeriodInDays":"0"}}Consulte también DeprecateDomainen la referencia de la API de Amazon Simple Workflow Service
-
Para obtener más información sobre la API, consulte DeprecateDomain
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-domain.
- AWS CLI
-
Para obtener información sobre un dominio
Para obtener información detallada acerca de un dominio en particular, use el comando
swf describe-domain. Hay un parámetro necesario:--name, que lleva el nombre del dominio sobre el que desee información.aws swf describe-domain \ --nameDataFrobotz{"domainInfo":{"status": "REGISTERED", "name":"DataFrobotz"},"configuration":{"workflowExecutionRetentionPeriodInDays":"1"}}También puede usar
describe-domainpara obtener información sobre los dominios obsoletos.aws swf describe-domain \ --nameMyNeatNewDomain{"domainInfo":{"status": "DEPRECATED", "name":"MyNeatNewDomain"},"configuration":{"workflowExecutionRetentionPeriodInDays":"0"}}Consulte también DescribeDomainen la referencia de la API de Amazon Simple Workflow Service
-
Para obtener más información sobre la API, consulte DescribeDomain
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-activity-types.
- AWS CLI
-
Lista de tipos de actividad
Para obtener una lista de los tipos de actividad de un dominio, utilice
swf list-activity-types. Solo se necesitan los argumentos--domainy--registration-status.aws swf list-activity-types \ --domainDataFrobtzz\ --registration-statusREGISTEREDSalida:
{ "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 argumento
--namepara seleccionar solo los tipos de actividad que tengan un nombre determinado:aws swf list-activity-types \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --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 argumento
--maximum-page-size. 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 \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --maximum-page-size2Salida:
{ "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-tokenargumento y recuperar la siguiente página de resultados:list-activity-typesaws swf list-activity-types \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --maximum-page-size2\ --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 argumento
--reverse-orderpara revertir el orden de los resultados devueltos. Esto también afecta a los resultados paginados.aws swf list-activity-types \ --domainDataFrobtzz\ --registration-statusREGISTERED\ --maximum-page-size2\ --reverse-orderSalida:
{ "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 referencia de la API de Amazon Simple Workflow Service
-
Para obtener más información sobre la API, consulte ListActivityTypes
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-domains.
- AWS CLI
-
Ejemplo 1: enumeración de los dominios registrados
El siguiente comando
list-domainsenumera los dominios de SWFREGISTEREDque ha registrado en su cuenta.aws swf list-domains \ --registration-statusREGISTEREDSalida:
{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" }, { "status": "REGISTERED", "name": "erontest" } ] }Para obtener más información, consulte la referencia ListDomainsde la API de Amazon Simple Workflow Service
Ejemplo 2: enumeración de los dominios obsoletos
El siguiente comando
list-domainsenumera los dominios de SWFDEPRECATEDque ha registrado en su cuenta. Los dominios obsoletos son dominios que no pueden registrar nuevos flujos de trabajo ni actividades, pero que pueden consultarse.aws swf list-domains \ --registration-statusDEPRECATEDSalida:
{ "domainInfos": [ { "status": "DEPRECATED", "name": "MyNeatNewDomain" } ] }Para obtener más información, consulte la referencia ListDomainsde la API de Amazon Simple Workflow Service
Ejemplo 3: enumeración de la primera página de dominios registrados
El siguiente comando
list-domainsenumera los dominios de SWFREGISTEREDde la primera página que ha registrado en su cuenta con la opción--maximum-page-size.aws swf list-domains \ --registration-statusREGISTERED\ --maximum-page-size1Salida:
{ "domainInfos": [ { "status": "REGISTERED", "name": "DataFrobotz" } ], "nextPageToken": "AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ==" }Para obtener más información, consulte la referencia ListDomainsde la API de Amazon Simple Workflow Service
Ejemplo 4: enumeración de la única página de dominios registrados especificada
El siguiente comando
list-domainsenumera los dominios de SWFREGISTEREDde la primera página que ha registrado en su cuenta con la opción--maximum-page-size.Cuando realice la llamada de nuevo, indicando en esta ocasión el valor de
nextPageTokenen el argumento--next-page-token, obtendrá otra página de resultados.aws swf list-domains \ --registration-statusREGISTERED\ --maximum-page-size1\ --next-page-token"AAAAKgAAAAEAAAAAAAAAA2QJKNtidVgd49TTeNwYcpD+QKT2ynuEbibcQWe2QKrslMGe63gpS0MgZGpcpoKttL4OCXRFn98Xif557it+wSZUsvUDtImjDLvguyuyyFdIZtvIxIKEOPm3k2r4OjAGaFsGOuVbrKljvla7wdU7FYH3OlkNCP8b7PBj9SBkUyGoiAghET74P93AuVIIkdKGtQ=="Salida:
{ "domainInfos": [ { "status": "REGISTERED", "name": "erontest" } ] }Cuando no haya más páginas de resultados que recuperar,
nextPageTokenno aparecerá en los resultados.Para obtener más información, consulte la referencia ListDomainsde la API de Amazon Simple Workflow Service
-
Para obtener más información sobre la API, consulte ListDomains
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-workflow-types.
- AWS CLI
-
Para enumerar tipos de flujo de trabajo
Para obtener una lista de los tipos de flujo de trabajo de un dominio, utilice
swf list-workflow-types. Solo se necesitan los argumentos--domainy--registration-status. A continuación, se muestra un ejemplo sencillo.aws swf list-workflow-types \ --domainDataFrobtzz\ --registration-statusREGISTEREDSalida:
{ "typeInfos": [ { "status": "REGISTERED", "creationDate": 1371454149.598, "description": "DataFrobtzz subscribe workflow", "workflowType": { "version": "v3", "name": "subscribe" } } ] }Del mismo modo que con
list-activity-types, puede usar el argumento--namepara seleccionar solo los tipos de flujo de trabajo con un nombre concreto y usar el argumento--maximum-page-sizeen coordinación con--next-page-tokenpara paginar los resultados. Para invertir el orden en el que se devuelven los resultados, utilice--reverse-order.Consulte también ListWorkflowTypesen la referencia de la API de Amazon Simple Workflow Service
-
Para obtener más información sobre la API, consulte ListWorkflowTypes
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar register-domain.
- AWS CLI
-
Registro de un dominio
Puede usar la 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-daysel 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 las preguntas frecuentes sobre SWF < https://aws.amazon.com/swf/ faqs/ #retain_limit >).--nameLos datos de ejecución de flujo de trabajo no se conservarán después de que haya transcurrido el número especificado de días.aws swf register-domain \ --nameMyNeatNewDomain\ --workflow-execution-retention-period-in-days0""Al registrar un dominio, no se devuelve nada (""), pero puede utilizar
swf list-domainsoswf describe-domainpara ver el nuevo dominio.aws swf list-domains \ --registration-statusREGISTERED{"domainInfos":[{"status": "REGISTERED", "name":"DataFrobotz"},{"status": "REGISTERED", "name":"MyNeatNewDomain"},{"status": "REGISTERED", "name":"erontest"}]}Uso de
swf describe-domain:aws swf describe-domain --nameMyNeatNewDomain{"domainInfo":{"status": "REGISTERED", "name":"MyNeatNewDomain"},"configuration":{"workflowExecutionRetentionPeriodInDays":"0"}}Consulte también RegisterDomainen la referencia de la API de Amazon Simple Workflow Service
-
Para obtener más información sobre la API, consulte RegisterDomain
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código, se muestra cómo utilizar register-workflow-type.
- AWS CLI
-
Registro de un tipo de flujo de trabajo
Para registrar un tipo de flujo de trabajo con la AWS CLI, utilice el
swf register-workflow-typecomando.aws swf register-workflow-type \ --domainDataFrobtzz\ --name"MySimpleWorkflow"\ --workflow-version"v1"Si se ejecuta correctamente, este comando no genera 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), obtendrá una respuesta en JSON.
{ "message": "WorkflowType=[name=MySimpleWorkflow, version=v1]", "__type": "com.amazonaws.swf.base.model#TypeAlreadyExistsFault" }--domain,--namey--workflow-versionson obligatorios. También puede configurar la descripción del flujo de trabajo, los tiempos de espera y la política de flujo de trabajo secundario.Para obtener más información, consulte la referencia RegisterWorkflowTypede la API de Amazon Simple Workflow Service
-
Para obtener más información sobre la API, consulte RegisterWorkflowType
la Referencia de AWS CLI comandos.
-