1.下載自定義處理數據命令行工具:
下載地址:https://developer.qiniu.com/dora/tools/1222/qdoractl
下載linux64位版,因為我們的docker安裝在ubuntu 14.04 64位版本下的。
下載后將文件名修改為qdoractl,同時賦予777權限:chmod 777 qdoractl
此時可以通過./qdoractl來執行該工具了,為了簡便,將qdoractl復制到/bin目錄下,這樣就可以直接運行qdoractl來執行,而不用在前面加./
php序列化和反序列化。2.上傳自定義數據處理程序
qdoractl push
為鏡像的名字,可以通過docker images查看
push時,如果出現Error response from daemon: client and server don’t have same version (client : 1.20, server: 1.18)等錯誤,可以先升級docker
升級方法。運行以下命令:
curl -sSL https://get.daocloud.io/docker | sh
php yii框架,升級后再試一般就可以了,如果升級后,輸入docker提示no such file,可以通過運行/usr/bin/docker來代替。
push成功后,通過qdoractl image可以查看已上傳的鏡像列表。
3.創建新版本
此時登錄七牛控制臺,產品列表,數據處理,選擇剛剛創建的自定義數據處理V2,選擇實例名稱,點擊發布新版本。
填寫版本號,選擇鏡像,選擇配置
展開高級配置,填寫健康配置,點擊確認創建
php反序列化漏洞利用、最后調整實例:
點擊保存。
4.監控自定義處理數據實例的運行
建議一開始只設置1個實例,這樣可以方便我們調試。
4.1 查看運行的實例
qdoractl instance --all ? ? ? ? ? #為自定義數據處理的名稱
php數組底層實現,通過該命令可以查看到當前正在運行的實例的信息,我們主要是為了獲取實例的ID:
4.2 登錄運行的實例
qdoractl attach --region --instance ? ? #region為區域名稱
運行以上命令即可登錄該實例,便于我們在線調試及查看錯誤日志等信息
5 調用自定義處理實例
5.1 通過在url后加?/同步調用
php處理百萬數據方案?如果處理數據量較小,速度快,可以使用該方式。調用時,可以通過網絡分析來查看網絡返回值,以此來調試。
如果需要以指定文件名另存為到指定空間,可以通過管道處理:
?/|saveas/
獲取示例:
需要先安裝好七牛的PHP SDK,下載地址:https://github.com/qiniu/php-sdk/releases?ref=developer.qiniu.com
$key = 'convert/201706/14/FhsNLQcihnPcy-VVGfUxX7GL_wPX.zip';
php反序列化漏洞原理。$pathinfo = pathinfo($key);
$entry = 'dedemaotest:'.$pathinfo['dirname'].'/c_'.$pathinfo['basename'];
$saveas = \Qiniu\base64_urlSafeEncode($entry); //需要先提前下載并安裝好七牛的PHP SDK
5.2 通過持久化處理接口異步調用
如果是像音視頻轉碼等需要較長時間來處理的,建議使用該方式來異步調用。
調用示例:
php實時刷新數據、頭部需要包含這三個信息:
其中Authorization的值為QBox
AccessToken的生成算法:
如果你下載了PHP的SDK,可以直接調用\Qiniu\Auth里面的authorization方法。
獲取AccessToken示例:
$key = 'convert/201706/14/FhsNLQcihnPcy-VVGfUxX7GL_wPX.zip';
php快速開發框架、$pathinfo = pathinfo($key);
$entry = 'dedemaotest:'.$pathinfo['dirname'].'/c_'.$pathinfo['basename'];
$saveas = \Qiniu\base64_urlSafeEncode($entry);
$authorization = $auth->authorization('http://api.qiniu.com/pfop/','bucket='.urlencode('dedemaotest').'&key='.urlencode('convert/201706/14/FhsNLQcihnPcy-VVGfUxX7GL_wPX.zip').'&fops='.urlencode('dedemaotest/convert-v3|saveas/'.$saveas).'¬ifyURL='.urlencode('http://www.dedemao.com/jaychou884358/admin.php/Upload/persistent_notify').'&force=&pipeline=','application/x-www-form-urlencoded');
說明:
notifyURL為數據異步處理完成后的回調地址,便于第一時間獲取數據處理狀態。
php循環處理大量數據、POST的body應包含的信息:
post提交后會返回一個,該ID可用于查詢處理的狀態,通過調用以下接口來獲取:
http://api.qiniu.com/status/get/prefop?id=
參考:https://developer.qiniu.com/dora/tools/1222/qdoractl ?(自定義數據處理命令行工具)
參考:https://developer.qiniu.com/dora/manual/3686/pfop-directions-for-use (持久化處理)
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态