适用于 PHP 的 AWS 开发工具包
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

通过AWS SDK for PHP版本 3 使用 Amazon CloudWatch 警报

Amazon CloudWatch 警报会在您指定的时间段内监控一个指标。它在多个时间段内根据相对于给定阈值的指标值,执行一项或多项操作。

以下示例演示如何:

GitHub 上的此处提供了AWS SDK for PHP版本 3 的所有示例代码。

凭证

在运行示例代码之前,您需要配置 AWS 凭证,如适用于 PHP 的 AWS 开发工具包版本 3 的凭证中所述。然后导入AWS SDK for PHP,如适用于 PHP 的 AWS 开发工具包版本 3 的基本使用模式中所述。

描述警报

导入

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

示例代码

$client = new Aws\CloudWatch\CloudWatchClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-08-01' ]); try { $result = $client->describeAlarms([ ]); foreach ($result['MetricAlarms'] as $alarm) { echo $alarm['AlarmName'] . "\n"; } } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

创建警报

导入

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

示例代码

$client = new Aws\CloudWatch\CloudWatchClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-08-01' ]); try { $result = $client->putMetricAlarm(array( // AlarmName is required 'AlarmName' => 'string', // MetricName is required 'MetricName' => 'string', // Namespace is required 'Namespace' => 'string', // Statistic is required //string: SampleCount | Average | Sum | Minimum | Maximum 'Statistic' => 'string', // Period is required 'Period' => integer, 'Unit' => 'Count/Second', // EvaluationPeriods is required 'EvaluationPeriods' => integer, // Threshold is required 'Threshold' => integer, // ComparisonOperator is required // string: GreaterThanOrEqualToThreshold | GreaterThanThreshold | LessThanThreshold | LessThanOrEqualToThreshold 'ComparisonOperator' => 'string', )); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

删除警报

导入

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

示例代码

$client = new Aws\CloudWatch\CloudWatchClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-08-01' ]); try { $result = $client->deleteAlarms([ 'AlarmNames' => [$alarmName] // REQUIRED ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }