Envío de eventos a Amazon CloudWatch Events con AWS SDK for PHP versión 3 - AWS SDK for PHP

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.

Envío de eventos a Amazon CloudWatch Events con AWS SDK for PHP versión 3

Amazon CloudWatch Events proporciona un flujo de eventos de sistema casi en tiempo real que describen cambios en los recursos de Amazon Web Services (AWS) a cualquiera de los distintos destinos. Mediante reglas sencillas, puede asignar los eventos y dirigirlos a uno o más flujos o funciones de destino.

Los siguientes ejemplos muestran cómo:

  • Crear una regla utilizando PutRule.

  • Añadir destinos a una regla utilizando PutTargets.

  • Enviar eventos personalizados a CloudWatch Events con PutEvents.

Todo el código de ejemplo de AWS SDK for PHP está disponible aquí en GitHub.

Credenciales

Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Autenticación AWS con la AWS SDK for PHP versión 3. A continuación, importe AWS SDK for PHP, como se indica en Instalación del AWS SDK for PHP versión 3.

Creación de una regla

Importaciones

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Código de muestra

$client = new Aws\cloudwatchevents\cloudwatcheventsClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2015-10-07' ]); try { $result = $client->putRule([ 'Name' => 'DEMO_EVENT', // REQUIRED 'RoleArn' => 'IAM_ROLE_ARN', 'ScheduleExpression' => 'rate(5 minutes)', 'State' => 'ENABLED', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Añadir destinos a una regla

Importaciones

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Código de muestra

$client = new Aws\cloudwatchevents\cloudwatcheventsClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2015-10-07' ]); try { $result = $client->putTargets([ 'Rule' => 'DEMO_EVENT', // REQUIRED 'Targets' => [ // REQUIRED [ 'Arn' => 'LAMBDA_FUNCTION_ARN', // REQUIRED 'Id' => 'myCloudWatchEventsTarget' // REQUIRED ], ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Enviar eventos personalizados

Importaciones

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Código de muestra

$client = new Aws\cloudwatchevents\cloudwatcheventsClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2015-10-07' ]); try { $result = $client->putEvents([ 'Entries' => [ // REQUIRED [ 'Detail' => '<string>', 'DetailType' => '<string>', 'Resources' => ['<string>'], 'Source' => '<string>', 'Time' => time() ], ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }