Recopile información sobre el bucket de Amazon S3 mediante integraciones de servicios del SDK de AWS - AWS Step Functions

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.

Recopile información sobre el bucket de Amazon S3 mediante integraciones de servicios del SDK de AWS

En este tutorial se muestra cómo realizar una integración del SDK de AWS con Amazon Simple Storage Service. La máquina de estado que cree en este tutorial recopila información sobre sus buckets de Amazon S3 y, a continuación, enumera los buckets junto con la información de la versión de cada bucket de la región actual.

Paso 1: Crear la máquina de estado

Con la consola de Step Functions, creará una máquina de estado que incluye un estado de Task para enumerar todos los buckets de Amazon S3 de la cuenta y la región actuales. A continuación, añadirá otro estado de Task que invoque la HeadBucket API para comprobar si se puede acceder al bucket devuelto en la región actual. Si no se puede acceder al bucket, la llamada a la API HeadBucket devuelve el error S3.S3Exception. Incluirá un bloque de Catch para capturar esta excepción y un estado de Passcomo estado alternativo.

  1. Abra la consola de Step Functions y seleccione Crear máquina de estado.

  2. En el cuadro de diálogo Elegir una plantilla, seleccione En blanco.

  3. Elija Seleccionar para abrir Workflow Studio en Modo Diseño.

  4. Para este tutorial, escribirá la definición de Amazon States Language (ASL) de su máquina de estado en el Editor de código. Para ello, elija Código.

  5. Elimine el código reutilizable existente y pegue la siguiente definición de máquina de estado.

    { "Comment": "A description of my state machine", "StartAt": "ListBuckets", "States": { "ListBuckets": { "Type": "Task", "Parameters": {}, "Resource": "arn:aws:states:::aws-sdk:s3:listBuckets", "Next": "Map" }, "Map": { "Type": "Map", "ItemsPath": "$.Buckets", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "HeadBucket", "States": { "HeadBucket": { "Type": "Task", "ResultPath": null, "Parameters": { "Bucket.$": "$.Name" }, "Resource": "arn:aws:states:::aws-sdk:s3:headBucket", "Catch": [ { "ErrorEquals": [ "S3.S3Exception" ], "ResultPath": null, "Next": "Pass" } ], "Next": "GetBucketVersioning" }, "GetBucketVersioning": { "Type": "Task", "End": true, "Parameters": { "Bucket.$": "$.Name" }, "ResultPath": "$.BucketVersioningInfo", "Resource": "arn:aws:states:::aws-sdk:s3:getBucketVersioning" }, "Pass": { "Type": "Pass", "End": true, "Result": { "Status": "Unknown" }, "ResultPath": "$.BucketVersioningInfo" } } }, "End": true } } }
  6. Especifique un nombre para la máquina de estado. Para ello, elija el icono de edición situado junto al nombre predeterminado de máquina de estado de MyStateMachine. A continuación, en Configuración de máquina de estado, especifique un nombre en el cuadro Nombre de la máquina de estado.

    En este tutorial, ingrese el nombre Gather-S3-Bucket-Info-Standard.

  7. (Opcional) En Configuración de máquina de estado, especifique otros ajustes del flujo de trabajo, como el tipo de máquina de estado y su función de ejecución.

    Mantenga todas las selecciones predeterminadas en Configuración de máquina de estado.

    Si ya ha creado un rol de IAM con los permisos correctos para su máquina de estado y desea utilizarlo, en Permisos, seleccione Elegir un rol existente y, a continuación, seleccione un rol de la lista. O seleccione Escribir un ARN de rol y, a continuación, proporcione un ARN para ese rol de IAM.

  8. En el cuadro de diálogo Confirmar creación de rol, elija Confirmar para continuar.

    También puede seleccionar Ver configuración de rol para volver a Configuración de máquina de estado.

    nota

    Si se elimina el rol de IAM que crea Step Functions, no se podrá volver a crear más adelante. Asimismo, si se modifica el rol (por ejemplo, eliminando Step Functions de las entidades principales de la política de IAM), Step Functions no podrá restablecer la configuración original más adelante.

    En el paso 2, añadirá los permisos que faltan al rol de máquina de estado.

Paso 2: Añadir los permisos de rol de IAM necesarios

Para recopilar información sobre los buckets de Amazon S3 en la región actual debe proporcionar a la máquina de estado los permisos necesarios para acceder a los buckets de Amazon S3.

  1. En la página de la máquina de estado, elija el ARN del rol de IAM para abrir la página Roles del rol de la máquina de estado.

  2. Seleccione Agregar permisos y, a continuación, Crear política insertada.

  3. Elija la pestaña JSON y pegue los siguientes permisos en el editor JSON.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketVersioning" ], "Resource": "*" } ] }
  4. Elija Revisar política.

  5. En Revisar política, para el Nombre de la política, introduzca s3-bucket-permissions.

  6. Elija Crear política.

Paso 3: Ejecutar una ejecución estándar de máquina de estado

  1. En la página Gather-S3-Bucket-Info-Standard, seleccione Iniciar ejecución.

  2. En el cuadro de diálogo Iniciar ejecución, haga lo siguiente:

    1. (Opcional) Introduzca un nombre de ejecución personalizado para anular el valor predeterminado generado.

      Nombres y registros con caracteres no ASCII

      Step Functions acepta nombres para máquinas de estado, ejecuciones, actividades y etiquetas que contengan caracteres no ASCII. Dado que estos caracteres no funcionan con Amazon CloudWatch, le recomendamos que utilice únicamente caracteres ASCII para poder realizar un seguimiento de las métricas en CloudWatch.

    2. Seleccione Iniciar ejecución.

    3. La consola de Step Functions le dirige a una página cuyo título es su ID de ejecución. Esta página se conoce como Detalles de la ejecución. En esta página, puede revisar los resultados de la ejecución a medida que avanza la ejecución o una vez finalizada.

      Para revisar los resultados de la ejecución, elija los estados individuales en la Vista de gráfico y, a continuación, elija las pestañas individuales del panel Detalles del paso para ver los detalles de cada estado, incluidas la entrada, la salida y la definición, respectivamente. Para obtener más información sobre la ejecución que puede ver en la página Detalles de la ejecución, consulte Información general sobre los detalles de ejecución.

Paso 4: Ejecutar una ejecución de máquina de estado rápidos

  1. Cree una máquina de estado rápida utilizando la definición de máquina de estado proporcionada en el paso 1. Asegúrese de incluir también los permisos de rol de IAM necesarios, tal como se explica en el paso 2.

    sugerencia

    Para diferenciarla de la máquina estándar que creó anteriormente, llame Gather-S3-Bucket-Info-Express a la máquina de estado rápida.

  2. En la página Gather-S3-Bucket-Info-Standard, seleccione Iniciar ejecución.

  3. En el cuadro de diálogo Iniciar ejecución, haga lo siguiente:

    1. (Opcional) Introduzca un nombre de ejecución personalizado para anular el valor predeterminado generado.

      Nombres y registros con caracteres no ASCII

      Step Functions acepta nombres para máquinas de estado, ejecuciones, actividades y etiquetas que contengan caracteres no ASCII. Dado que estos caracteres no funcionan con Amazon CloudWatch, le recomendamos que utilice únicamente caracteres ASCII para poder realizar un seguimiento de las métricas en CloudWatch.

    2. Seleccione Iniciar ejecución.

    3. La consola de Step Functions le dirige a una página cuyo título es su ID de ejecución. Esta página se conoce como Detalles de la ejecución. En esta página, puede revisar los resultados de la ejecución a medida que avanza la ejecución o una vez finalizada.

      Para revisar los resultados de la ejecución, elija los estados individuales en la Vista de gráfico y, a continuación, elija las pestañas individuales del panel Detalles del paso para ver los detalles de cada estado, incluidas la entrada, la salida y la definición, respectivamente. Para obtener más información sobre la ejecución que puede ver en la página Detalles de la ejecución, consulte Información general sobre los detalles de ejecución.