媒体内容审核VCR

    安装SDK工具包

    运行环境

    PHP SDK包要求运行环境至少为PHP 5.3.2 版本。

    安装步骤

    1. 官方网站下载VCR PHP SDK工具包(ZIP包)。
    2. 解压ZIP包之后有如下文件:

      BaiduBce.phar			//PHP SDK
      SampleConf.php			//参考配置文件,具体内容见下文
    3. 在脚本文件中添加以下代码,即可以使用 SDK 包:

      include ‘BaiduBce.phar’;
      require ‘YourConf.php’;

      关于配置文件的引用请参考下文中的[配置VcrClient](VCR/PHP SDK/安装SDK工具包.md#配置VcrClient)。

      SDK目录结构

       BaiduBce.phar
          ├──src
          │   └── BaiduBce
          │       ├── Auth                //BCE签名相关
          │       ├── Exception           //BCE客户端的异常
          │       ├── Http                //BCEHttp通信相关
          │       ├── Log                 //BCE日志
          │       ├── Services           
          │       │   └── Vcr                   //VCR主目录,此目录必须保留
          │       │       └── VcrClient.php     //VCR操作类,所有操作可以通过VcrClient类可以完成
          │       └── Util                //BCE公用工具
          └──vendor                       //第三方库

    VcrClient

    配置VcrClient

    VcrClient是 VCR 服务的PHP客户端,为开发者与VCR服务进行交互提供了一系列的方法。

    在新建VcrClient前,需要先创建配置文件对VcrClient进行配置,以下将此配置文件命名为YourConf.php,具体配置信息如下:

    // 报告所有 PHP 错误
    error_reporting(-1);
    
    define('__VCR_CLIENT_ROOT', dirname(__DIR__));
    
    // 设置VcrClient的Access Key ID、Secret Access Key和ENDPOINT
    $my_credentials = array(
        'ak' => '<your-access-key-id>',
        'sk' => '<your-secret-access-key>',
    );
    $g_vcr_configs = array(
        'credentials' => $my_credentials,
        'endpoint' => 'http://vcr.bj.baidubce.com',
    );
    
    // 设置log的格式和级别
    $__handler = new \Monolog\Handler\StreamHandler(STDERR, \Monolog\Logger::DEBUG);
    $__handler->setFormatter(
        new \Monolog\Formatter\LineFormatter(null, null, false, true)
    );
    \BaiduBce\Log\LogFactory::setInstance(
        new \BaiduBce\Log\MonoLogFactory(array($__handler))
    );
    \BaiduBce\Log\LogFactory::setLogLevel(\Psr\Log\LogLevel::DEBUG);

    注意:

    1. 在上面的代码中,变量AK与SK是系统分配给用户的,用于标识用户,为访问VCR做签名验证。其中AK对应控制台中的“Access Key ID”,SK对应控制台中的“Access Key Secret”,获取方式请参考如何获取AK/SK
    2. ENDPOINT参数只能用指定的包含Region的域名来进行定义,VCR为全局服务,服务域名是vcr.bj.baidubce.com

    创建VcrClient

    在完成上述配置之后,参考如下代码新建一个VcrClient。

    //使用PHP SDK,并且使用自定义配置文件
    include 'BaiduBce.phar';
    require 'YourConf.php';
    
    use BaiduBce\BceClientConfigOptions;
    use BaiduBce\Util\Time;
    use BaiduBce\Util\MimeTypes;
    use BaiduBce\Http\HttpHeaders;
    use BaiduBce\Services\Vcr\VcrClient;
    
    //调用配置文件中的参数
    global $g_vcr_configs;
    //新建VcrClient
    $VcrClient = new VcrClient($g_vcr_configs);

    设置自定义参数

    PHP SDK在\BaiduBce\Bce.php中默认设置了一些基本参数,若用户想要对参数的值进行修改,可以参考此文件来创建自身的参数配置函数,并在构造VcrClient的时候传入,传入代码参考如下:

    public function CustomizedConfig() {
            $customizedConfig = array(
                BceClientConfigOptions::PROTOCOL => 'http',
                BceClientConfigOptions::REGION => 'bj',
                BceClientConfigOptions::CONNECTION_TIMEOUT_IN_MILLIS => 120 * 1000,
                BceClientConfigOptions::SOCKET_TIMEOUT_IN_MILLIS => 300 * 1000, 
                BceClientConfigOptions::SEND_BUF_SIZE => 5 * 1024 * 1024,
                BceClientConfigOptions::RECV_BUF_SIZE => 5 * 1024 * 1024,
                BceClientConfigOptions::CREDENTIALS => array(
                    'ak' => 'your-access-key-id',
                    'sk' => 'your-secret-access-key',
                ),
                'endpoint' => 'your-endpoint',
            );
    
            //利用自定义配置创建VcrClient
            $customizedClient = new VcrClient($customizedConfig);
    
            //通过自定义配置调用方法
            $options = array(VcrOptions::config=>$customizedConfig);
            $this->client->listPresets($options);
        }

    参数说明如下:

    参数 说明 默认值
    PROTOCOL 协议 http
    REGION 区域 bj
    CONNECTION_TIMEOUT_IN_MILLIS 请求超时时间(单位:毫秒) 50 * 1000
    SOCKET_TIMEOUT_IN_MILLIS 通过打开的连接传输数据的超时时间(单位:毫秒) 0(指的是无限等待,若设置非0数值需要对文件大小和网速进行评估,否则上传大文件时会产生超时)
    SEND_BUF_SIZE 发送缓冲区大小 1024 * 1024
    RECV_BUF_SIZE 接收缓冲区大小 10 *1024 * 1024
    一篇
    概述
    一篇
    开发者指南