所有文档

          媒体内容分析 MCA

          安装SDK工具包

          运行环境

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

          安装步骤

          1. 下载最新的BCE PHP SDK
          2. 解压ZIP包之后有如下文件:

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

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

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

          SDK目录结构

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

          VcaClient

          配置VcaClient

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

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

          // 报告所有 PHP 错误
          error_reporting(-1);
          
          define('__VCA_CLIENT_ROOT', dirname(__DIR__));
          
          // 设置VcaClient的Access Key ID、Secret Access Key和ENDPOINT
          $my_credentials = array(
              'ak' => '<your-access-key-id>',
              'sk' => '<your-secret-access-key>',
          );
          $g_vca_configs = array(
              'credentials' => $my_credentials,
              'endpoint' => 'http://vca.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是系统分配给用户的,用于标识用户,为访问VCA做签名验证。其中AK对应控制台中的“Access Key ID”,SK对应控制台中的“Access Key Secret”,获取方式请参考获取AK/SK
          2. ENDPOINT参数只能用指定的包含Region的域名来进行定义,VCA 为全局服务,服务域名是vca.bj.baidubce.com

          创建VcaClient

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

          //使用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\Vca\VcaClient;
          
          //调用配置文件中的参数
          global $g_vca_configs;
          //新建VcaClient
          $client = new VcaClient($g_vca_configs);

          设置自定义参数

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

          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',
                  );
          
                  //利用自定义配置创建VcaClient
                  $customizedClient = new VcaClient($customizedConfig);
          
                  //通过自定义配置调用方法
                  $options = array('config'=>$customizedConfig);
                  $this->client->queryResult($source, $options);
              }

          参数说明如下:

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