Recopile información sobre el bucket de Amazon S3 mediante AWS SDKintegraciones de servicios - 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 AWS SDKintegraciones de servicios

En este tutorial se muestra cómo realizar una AWS SDKintegración 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 Task estado que invoque el HeadBucket API para comprobar si se puede acceder al depósito devuelto en la región actual. Si no se puede acceder al depósito, la HeadBucket API llamada devuelve el S3.S3Exception error. 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 StudioModo Diseño.

  4. Para este tutorial, escribirá la definición Amazon States Language (ASL) de su máquina de estados enEditor 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 de la máquina de estado predeterminada 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 IAM rol con los permisos correctos para su máquina estatal y desea usarlo, en Permisos, seleccione Elegir un rol existente y, a continuación, seleccione un rol de la lista. O selecciona Introducir un rol ARN y, a continuación, proporciona ARN uno para ese IAM rol.

  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 eliminas el IAM rol que crea Step Functions, Step Functions no podrá volver a crearlo más adelante. Del mismo modo, si modificas el rol (por ejemplo, quitando Step Functions de los principios de la IAM política), Step Functions no podrá restaurar su 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: Agrega los permisos de IAM rol 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 IAMrol ARN para abrir la página de roles del rol de la máquina de estado.

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

  3. Seleccione la JSONpestaña y, a continuación, pegue los siguientes permisos en el JSON editor.

    { "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.

      ASCIINombres no identificables y registro

      Step Functions acepta nombres para máquinas de estados, ejecuciones, actividades y etiquetas que no contengan ASCII caracteres. Como estos personajes no funcionan con Amazon CloudWatch, te recomendamos que utilices solo ASCII caracteres para poder hacer un seguimiento de las métricas 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 Descripción general de 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úrate de incluir también los permisos de IAM rol necesarios, tal y 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.

      ASCIINombres no identificables y registro

      Step Functions acepta nombres para máquinas de estados, ejecuciones, actividades y etiquetas que no contengan ASCII caracteres. Como estos personajes no funcionan con Amazon CloudWatch, te recomendamos que utilices solo ASCII caracteres para poder hacer un seguimiento de las métricas 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 Descripción general de los detalles de ejecución.