本文介绍如何使用PHP SDK更新一个事件规则的配置。
示例代码如下:
<?php
namespace Alibabacloud\Sample;
use AlibabaCloud\SDK\EventBridge\Eventbridge;
use AlibabaCloud\SDK\EventBridge\Models\Config;
use AlibabaCloud\SDK\EventBridge\Models\UpdateRuleRequest;
use AlibabaCloud\Tea\Console\Console;
use AlibabaCloud\Tea\Exception\TeaError;
use Exception;
class Client
{
/**
* Create client 初始化公共请求参数。
*
* @return Eventbridge
*/
public static function createClient()
{
$config = new Config([]);
$config->accessKeyId = ('accessKeyId');
$config->accessKeySecret = ('ACCESS_KEY_SECRET');
$config->endpoint = ('EVENT_BRIDGE_ENDPOINT');
return new Eventbridge($config);
}
/**
* @param Eventbridge $client
*
* @return void
*/
public static function updateEventRuleSample($client)
{
try {
$updateEventRuleRequest = new UpdateRuleRequest([]);
$updateEventRuleRequest->eventBusName = 'demo-bus';
$updateEventRuleRequest->ruleName = 'myRule';
$updateEventRuleRequest->filterPattern = '{"source":["acs.oss"],"type":["oss:BucketQueried:GetBucketStat"]}';
$client->updateRule($updateEventRuleRequest);
Console::log('--------------------update rule success--------------------');
} catch (Exception $error) {
if (!($error instanceof TeaError)) {
$error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
}
Console::log($error->message);
}
}
/**
* @param string[] $args
*
* @return void
*/
public static function main($args)
{
$client = self::createClient();
self::updateEventRuleSample($client);
}
}
require '../vendor/autoload.php';
Client::main([]);