更新时间:2026-07-13 GMT+08:00
分享

设置事件通知

开发过程中,您有任何问题可以在GitHub上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。

您可以通过ObsClient->setBucketNotification设置桶的事件通知。以下代码展示了如何设置桶的事件通知:

// 引入依赖库
require 'vendor/autoload.php';
// 使用源码安装时引入SDK代码库
// require 'obs-autoloader.php';
// 声明命名空间
use Obs\ObsClient;
// 创建ObsClient实例
$obsClient = new ObsClient ( [ 
      //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。
      //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html
      'key' => getenv('ACCESS_KEY_ID'),
      'secret' => getenv('SECRET_ACCESS_KEY'),
      'endpoint' => 'https://your-endpoint'
] );

$resp = $obsClient->setBucketNotification ( [ 
       'Bucket' => 'bucketname',
       'TopicConfigurations' => [ 
            [
                'ID' => '001',
                // Topic的参数模板为 urn:smn:region:project_id:smn_topic 示例如下:
                'Topic' => 'urn:smn:exampleRegion:d745b885f14941369b2d2138e7a65bef:obs_test',
                'Event' => [ 
                          ObsClient::ObjectCreatedAll 
                ],
                'Filter' => [ 
                       [ 
                                  'Name' => 'prefix',
                                  'Value' => 'smn' 
                       ],
                       [ 
                                  'Name' => 'suffix',
                                  'Value' => '.jpg' 
                       ] 
                ]
           ] 
       ] 
] );
printf ( "RequestId:%s\n", $resp ['RequestId'] );

关于Topic参数的描述:

事件通知主题的URN,当OBS检测到桶中发生特定的事件后,将会发布通知消息至该主题,可以在消息通知服务主题部分找到具体值。

使用TopicConfigurations参数指定桶的通知配置信息。

相关文档