本文介紹Image Search服務PHP SDK的使用方法及樣本。
介面列表
介面名稱 | 介面說明 |
Add | 增加圖片。 |
SearchImageByPic | 使用圖片進行搜尋。 |
SearchImageByName | 指定名稱,使用已入庫的圖片進行搜尋。 |
Delete | 刪除圖片。 |
UpdateImage | 修改圖片。 |
Detail | 查詢執行個體資訊。 |
DumpMeta | 元資訊匯出任務。 |
DumpMetaList | 元資訊匯出工作清單。 |
BatchTask | 批量任務。 |
BatchTaskList | 批量工作清單。 |
準備工作
在安裝和使用阿里雲SDK前,確保您已經註冊阿里雲帳號並產生存取金鑰(AccessKey)。詳情請參見建立AccessKey。
說明
PHP: >=5.5
composer鏡像
https://developer.aliyun.com/composer
安裝依賴
使用Composer,擷取SDK。
composer require alibabacloud/imagesearch-20201214
使用composer.json檔案樣本。
{ "require": { "alibabacloud/imagesearch-20201214": "^4.0" } }
依賴相關程式碼範例如下。
declare (strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use AlibabaCloud\SDK\ImageSearch\V20201214\ImageSearch;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\AddImageAdvanceRequest;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\SearchImageByPicAdvanceRequest;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\SearchImageByNameRequest;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\DeleteImageRequest;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\UpdateImageRequest;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\DetailRequest;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\DumpMetaRequest;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\DumpMetaListRequest;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\IncreaseInstanceRequest;
use AlibabaCloud\SDK\ImageSearch\V20201214\Models\IncreaseListRequest;
use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use GuzzleHttp\Psr7\Stream;
Add介面
程式碼範例
function _addImage() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new AddImageAdvanceRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxxx"; // 必填,商品id,最多支援 512個字元。 // 一個商品可有多張圖片。 $request->productId = "testPhp"; // 必填,圖片名稱,最多支援 512個字元。 // 1. ProductId + PicName唯一確定一張圖片。 // 2. 如果多次添加圖片具有相同的ProductId + PicName,以最後一次添加為準,前面添加的圖片將被覆蓋。 $request->picName = "testPhp"; // 選填,圖片類目。 // 1. 對於商品搜尋:若設定類目,則以設定的為準;若不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取 。 // 2. 對於布料、商標、通用搜尋:不論是否設定類目,系統會將類目設定為88888888。 $request->categoryId = 3; // 選填,使用者自訂的內容,最多支援4096個字元。 // 查詢時會返回該欄位。例如可添加圖片的描述等文本。 $request->customContent = "this is a simple test"; // 選填,整數類型屬性,可用於查詢時過濾,查詢時會返回該欄位。 // 例如不同的網站的圖片/不同使用者的圖片,可以設定不同的IntAttr,查詢時通過過濾來達到隔離的目的 $request->intAttr = 56; // 選填,字串類型屬性,最多支援 128個字元。可用於查詢時過濾,查詢時會返回該欄位。 $request->strAttr = "test"; // 選填,是否需要進行主體識別,預設為true。 // 1.為true時,由系統進行主體識別,以識別的主體進行搜尋,主體識別結果可在Response中擷取。 // 2. 為false時,則不進行主體識別,以整張圖進行搜尋。 // 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。 $request->crop = true; // 選填,圖片的主體地區,格式為 x1,x2,y1,y2, 其中 x1,y1 是左上方的點,x2,y2是右下角的點。設定的region 地區不要超過圖片的邊界。 // 若使用者佈建了Region,則不論Crop參數為何值,都將以使用者輸入Region進行搜尋。 // 對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。 $request->region = "167,467,221,407"; // 圖片內容,最多支援 4MB大小圖片以及5s的傳輸等待時間。當前僅支援PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式圖片; // 對於商品、商標、通用圖片搜尋,圖片長和寬的像素必須都大於等於100且小於等於4096; // 對於布料搜尋,圖片長和寬的像素必須都大於等於448且小於等於4096; // 映像中不能帶有旋轉資訊 // 使用URL方式釋放下方注釋即可。 // composer require alibabacloud/darabonba-stream // use AlibabaCloud\Darabonba\Stream\StreamUtil; // $imageStream = StreamUtil::readFromFilePath("<fileUrl>"); // 使用圖片file新增圖片 $imageStream = new Stream(fopen("<filePath>", 'r+')); $request->picContentObject = $imageStream; $runtime = new RuntimeOptions(); $runtime->maxIdleConns = 3; $runtime->connectTimeout = 3000; $runtime->readTimeout = 3000; try { $response = $client->addImageAdvance($request, $runtime); var_dump($response->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } }
結果樣本
{ ["requestId"]=> string(36) "242CB8B7-DD36-42ED-9A76-37915DC7ED81" ["success"]=> bool(true) ["message"]=> string(7) "success" ["code"]=> int(0) ["picInfo"]=> array(2) { ["CategoryId"]=> int(0) ["Region"]=> string(15) "167,477,221,407" } ["_name":protected]=> array(5) { ["requestId"]=> string(9) "RequestId" ["success"]=> string(7) "Success" ["message"]=> string(7) "Message" ["code"]=> string(4) "Code" ["picInfo"]=> string(7) "PicInfo" } ["_required":protected]=> array(0) { } }
SearchImageByPic介面
程式碼範例
function _getImageByPic() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new SearchImageByPicAdvanceRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxx"; // 圖片內容,最多支援 4MB大小圖片以及5s的傳輸等待時間。當前僅支援PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式圖片; // 對於商品、商標、通用圖片搜尋,圖片長和寬的像素必須都大於等於100且小於等於4096; // 對於布料搜尋,圖片長和寬的像素必須都大於等於448且小於等於4096; // 映像中不能帶有旋轉資訊 // 使用URL方式釋放下方注釋即可。 // composer require alibabacloud/darabonba-stream // use AlibabaCloud\Darabonba\Stream\StreamUtil; // $imageStream = StreamUtil::readFromFilePath("<fileUrl>"); // 通過圖片file查詢相似圖片 $imageStream = new Stream(fopen("<filePath>", 'r+')); $request->picContentObject = $imageStream; // 選填,圖片類目。 // 1. 對於商品搜尋:若設定類目,則以設定的為準;若不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取。 // 2. 對於布料、商標、通用搜尋:不論是否設定類目,系統會將類目設定為88888888。 $request->categoryId = 3; // 1.為true時,由系統進行主體識別,以識別的主體進行搜尋,主體識別結果可在Response中擷取。 // 2. 為false時,則不進行主體識別,以整張圖進行搜尋。 // 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。 $request->crop = true; // 選填,圖片的主體地區,格式為 x1,x2,y1,y2, 其中 x1,y1 是左上方的點,x2,y2是右下角的點。設定的region 地區不要超過圖片的邊界。 // 若使用者佈建了Region,則不論Crop參數為何值,都將以使用者輸入Region進行搜尋。 // 對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。 $request->region = "167,467,221,407"; // 選填,過濾條件// int_attr支援的操作符有>、>=、<、<=、=,str_attr支援的操作符有=和!=,多個條件之支援AND和OR進行串連。 // 樣本: // 1. 根據IntAttr過濾結果,int_attr>=100 // 2. 根據StrAttr過濾結果,str_attr!="value1" // 3. 根據IntAttr和StrAttr聯合過濾結果,int_attr=1000 AND str_attr="value1" $request->filter = "int_attr=56 AND str_attr =\"test\""; $runtime = new RuntimeOptions(); $runtime->maxIdleConns = 3; $runtime->connectTimeout = 3000; $runtime->readTimeout = 3000; try { $response = $client->searchImageByPicAdvance($request, $runtime); var_dump($response->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } catch (Exception $e) { } }
結果樣本
{ ["requestId"]=> string(36) "453517A3-7D00-476E-A946-8CC3B9DC6FA1" ["success"]=> bool(true) ["code"]=> int(0) ["msg"]=> string(7) "success" ["auctions"]=> array(5) { [0]=> array(4) { ["CategoryId"]=> int(0) ["PicName"]=> string(7) "vae.jpg" ["ProductId"]=> string(4) "1000" ["SortExprValues"]=> string(22) "7.33136443711219e+24;0" ["Score"]=> float(1) } [1]=> array(4) { ["CategoryId"]=> int(0) ["PicName"]=> string(4) "test" ["ProductId"]=> string(4) "test" ["SortExprValues"]=> string(22) "7.33136443711219e+24;0" ["Score"]=> float(1) } ........ [4]=> array(4) { ["CategoryId"]=> int(0) ["PicName"]=> string(4) "test" ["ProductId"]=> string(4) "1000" ["SortExprValues"]=> string(22) "7.33136443711219e+24;0" ["Score"]=> float(1) } } ["head"]=> array(3) { ["DocsFound"]=> int(5) ["DocsReturn"]=> int(5) ["SearchTime"]=> int(171) } ["picInfo"]=> array(3) { ["CategoryId"]=> int(0) ["MultiRegion"]=> array(1) { [0]=> array(1) { ["Region"]=> string(15) "134,705,187,785" } } ["AllCategories"]=> array(14) { [0]=> array(2) { ["Id"]=> int(0) ["Name"]=> string(4) "Tops" } ........ [13]=> array(2) { ["Id"]=> int(88888888) ["Name"]=> string(5) "Other" } } ["Region"]=> string(15) "167,477,221,407" } ["_name":protected]=> array(7) { ["requestId"]=> string(9) "RequestId" ["success"]=> string(7) "Success" ["code"]=> string(4) "Code" ["msg"]=> string(3) "Msg" ["auctions"]=> string(8) "Auctions" ["head"]=> string(4) "Head" ["picInfo"]=> string(7) "PicInfo" } ["_required":protected]=> array(0) { } }
SearchImageByName介面
程式碼範例
function _getImageByName() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new SearchImageByNameRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxxxx"; // 必填,商品id,最多支援 512個字元。 // 一個商品可有多張圖片。 $request->productId = "testPhp"; // 必填,圖片名稱,最多支援 512個字元。 // 1. ProductId + PicName唯一確定一張圖片。 // 2. 如果多次添加圖片具有相同的ProductId + PicName,以最後一次添加為準,前面添加的圖片將被覆蓋。 $request->picName = "testPhp"; // 選填,圖片類目。 // 1. 對於商品搜尋:若設定類目,則以設定的為準;若不設定類目,將由系統進行類目預測,預測的類目結果可在Response中擷取。 // 2. 對於布料、商標、通用搜尋:不論是否設定類目,系統會將類目設定為88888888。 $request->categoryId = 3; // 1.為true時,由系統進行主體識別,以識別的主體進行搜尋,主體識別結果可在Response中擷取。 // 2. 為false時,則不進行主體識別,以整張圖進行搜尋。 // 3.對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。 $request->crop = true; // 選填,圖片的主體地區,格式為 x1,x2,y1,y2, 其中 x1,y1 是左上方的點,x2,y2是右下角的點。設定的region 地區不要超過圖片的邊界。 // 若使用者佈建了Region,則不論Crop參數為何值,都將以使用者輸入Region進行搜尋。 // 對於布料圖片搜尋,此參數會被忽略,系統會以整張圖進行搜尋。 $request->region = "167,467,221,407"; // 選填,過濾條件// int_attr支援的操作符有>、>=、<、<=、=,str_attr支援的操作符有=和!=,多個條件之支援AND和OR進行串連。 // 樣本: // 1. 根據IntAttr過濾結果,int_attr>=100 // 2. 根據StrAttr過濾結果,str_attr!="value1" // 3. 根據IntAttr和StrAttr聯合過濾結果,int_attr=1000 AND str_attr="value1" $request->filter = "int_attr=56 AND str_attr =\"test\""; try { $response = $client->SearchImageByName($request); var_dump($response->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } catch (Exception $e) { } }
結果樣本
["requestId"]=> string(36) "9248A5FC-97AB-4A96-8764-C771CF61D9A1" ["success"]=> bool(true) ["code"]=> int(0) ["msg"]=> string(7) "success" ["auctions"]=> array(5) { [0]=> array(4) { ["CategoryId"]=> int(0) ["PicName"]=> string(7) "vae.jpg" ["ProductId"]=> string(4) "1000" ["SortExprValues"]=> string(22) "7.33136443711219e+24;0" ["Score"]=> float(1) } ........ [4]=> array(4) { ["CategoryId"]=> int(0) ["PicName"]=> string(4) "test" ["ProductId"]=> string(4) "1000" ["SortExprValues"]=> string(22) "7.33136443711219e+24;0" ["Score"]=> float(1) } } ["head"]=> array(3) { ["DocsFound"]=> int(5) ["DocsReturn"]=> int(5) ["SearchTime"]=> int(21) } ["picInfo"]=> array(2) { ["CategoryId"]=> int(0) ["MultiRegion"]=> array(1) { [0]=> array(1) { ["Region"]=> string(15) "134,705,187,785" } } ["AllCategories"]=> array(14) { [0]=> array(2) { ["Id"]=> int(0) ["Name"]=> string(4) "Tops" } ........ [13]=> array(2) { ["Id"]=> int(88888888) ["Name"]=> string(5) "Other" } } } ["_name":protected]=> array(7) { ["requestId"]=> string(9) "RequestId" ["success"]=> string(7) "Success" ["code"]=> string(4) "Code" ["msg"]=> string(3) "Msg" ["auctions"]=> string(8) "Auctions" ["head"]=> string(4) "Head" ["picInfo"]=> string(7) "PicInfo" } ["_required":protected]=> array(0) { } }
Delete介面
程式碼範例
function _deleteImage() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new DeleteImageRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxxx"; // 必填,圖片名稱,最多支援 512個字元。 // 1. ProductId + PicName唯一確定一張圖片。 $request->productId = "test"; // 2. 選填,圖片名稱。若不指定本參數,則刪除ProductId下所有圖片;若指定本參數,則刪除ProductId+PicName指定的圖片。 $request->picName = "test"; try { $response = $client->deleteImage($request); var_dump($response->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } catch (Exception $e) { } }
結果樣本
{ ["requestId"]=> string(36) "052ECD87-933D-4E65-94F7-F0C0947E41A1" ["success"]=> bool(true) ["message"]=> string(7) "success" ["code"]=> int(0) ["_name":protected]=> array(4) { ["requestId"]=> string(9) "RequestId" ["success"]=> string(7) "Success" ["message"]=> string(7) "Message" ["code"]=> string(4) "Code" } ["_required":protected]=> array(0) { } }
UpdateImage介面
程式碼範例
function _updateImage() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new UpdateImageRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxxx"; // 必填,商品ID 不可修改。 $request->productId = "1"; // 必填,圖片名稱,不可修改。 $request->picName = "1"; // 選填,整數類型屬性,可用於查詢時過濾,查詢時會返回該欄位。 $request->intAttr = 10; // 選填,字串類型屬性,最多支援 128個字元。可用於查詢時過濾,查詢時會返回該欄位。 $request->strAttr = "test"; // 選填,使用者自訂的內容,最多支援4096個字元。 $request->customContent = "這是一個測試說明"; try { $response = $client->updateImage($request); var_dump($response->body->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } catch (Exception $e) { } }
結果樣本
array(3) { ["Code"]=> int(0) ["RequestId"]=> string(36) "2CD69717-846D-167A-89AD-647213332248" ["Success"]=> bool(true) }
Detail介面
程式碼範例
function _detail() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new DetailRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxxx"; try { $response = $client->detail($request); var_dump($response->body->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } catch (Exception $e) { } }
結果樣本
array(3) { ["Instance"]=> array(8) { ["Capacity"]=> int(10) ["Name"]=> string(19) "xxxxxxx" ["Qps"]=> int(1) ["Region"]=> string(11) "cn-shanghai" ["ServiceType"]=> int(0) ["TotalCount"]=> int(99999) ["UtcCreate"]=> int(1620382716000) ["UtcExpireTime"]=> int(1623081600000) } ["RequestId"]=> string(36) "41465B01-11B4-149D-BB6F-BB498B3C39F0" ["Success"]=> bool(true) }
DumpMeta介面
程式碼範例
function _dumpMeta() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new DumpMetaRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxxx"; try { $response = $client->dumpMeta($request); var_dump($response->body->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } catch (Exception $e) { } }
結果樣本
array(3) { ["Data"]=> array(2) { ["DumpMetaStatus"]=> string(10) "PROCESSING" ["Id"]=> int(572) } ["RequestId"]=> string(36) "A1234E2C-C99E-122C-97D1-F30FE012533B" ["Success"]=> bool(true) }
DumpMetaList介面
程式碼範例
function _dumpMetaList() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new DumpMetaListRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxxx"; // 選填,中繼資料匯出任務id。 $request->id = 567; // 選填,返回結果起始位置,預設1。 $request->pageNumber = 1; // 選填,返回結果數量,預設20。 $request->pageSize = 1; try { $response = $client->dumpMetaList($request); var_dump($response->body->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } catch (Exception $e) { } }
結果樣本
array(2) { ["Data"]=> array(4) { ["DumpMetaList"]=> array(1) { [0]=> array(7) { ["Code"]=> string(1) "0" ["Id"]=> int(567) ["MetaUrl"]=> string(208) "https://xx/xx" ["Msg"]=> string(7) "success" ["Status"]=> string(7) "SUCCESS" ["UtcCreate"]=> int(1639969113000) ["UtcModified"]=> int(1639969140000) } } ["PageNumber"]=> int(1) ["PageSize"]=> int(1) ["TotalCount"]=> int(1) } ["RequestId"]=> string(36) "46044936-BA2E-10E2-9C82-C00FF83862E5" }
BatchTask介面
程式碼範例
function _batchTask() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new IncreaseInstanceRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxxx"; // 必填 oss 中 bucket名稱。 $request->bucketName = "xxxx"; // 必填,路徑,必須 / 開頭, 非 / 結尾。 // 此路徑下需要提前準備好 increment.meta 檔案,可參考,使用者指南下的大量操作文檔。 $request->path = "/public/xxx"; // 選填,請求成功回調地址,http(s)://。 $request->callbackAddress = "http://xxx/xxx"; try { $response = $client->increaseInstance($request); var_dump($response->body->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } catch (Exception $e) { } }
結果樣本
array(3) { ["Data"]=> array(2) { ["Id"]=> int(1475) ["IncrementStatus"]=> string(10) "PROCESSING" } ["RequestId"]=> string(36) "768C6C02-E3FE-1024-8461-103F7C529EFA" ["Success"]=> bool(true) }
BatchTaskList介面
程式碼範例
function _batchTaskList() { $config = new Config(); // 建立AK/SK參考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user //阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。 //強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。 //本樣本以將AccessKey ID和AccessKey Secret儲存在環境變數為例說明。您也可以根據業務需要,儲存到設定檔裡。 $config->accessKeyId = getenv("CC_AK_ENV"); $config->accessKeySecret = getenv("CC_SK_ENV"); // 請您更換成您購買執行個體的地區,例如您購買的執行個體地區為杭州,則更換為regionId="cn-hangzhou" $config->regionId = "<regionId>"; // 請更換成您購買執行個體的地區,例如購買的是杭州地區,則endpoint="imagesearch.cn-hangzhou.aliyuncs.com" $config->endpoint = "imagesearch.[regionId].aliyuncs.com"; // 以下為內網(VPC)訪問方式 // 說明:內網(VPC)訪問:僅限同地區ECS或資源的訪問,例如您購買的Image Search執行個體是華東2(上海),那麼您的ECS或資源也必須在華東2(上海)才能通過內網VPC地址訪問圖搜服務,否則會調用不通,如果遇到調用不通,請先檢查您的ECS或資源與Image Search是否在同一個地區。 // $config->endpointType = "internal"; // 如果是內網訪問Image Search服務,則endpointType為必填項,值統一為"internal" // $config->endpoint = "imagesearch-vpc.[regionId].aliyuncs.com"; // 為內網訪問(VPC)地址,請您更換為您購買執行個體的地區,例如您購買執行個體的地區為杭州,則endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com" $client = new ImageSearch($config); $request = new IncreaseListRequest(); // 必填,Image Search執行個體名稱。注意是執行個體名稱不是執行個體ID。購買後通過上雲層管控台執行個體資訊一欄查看:https://imagesearch.console.aliyun.com/overview $request->instanceName = "xxxxxx"; // 選填,任務id。 $request->id = 567; // 選填,查詢oss 的 BucketName。 $request->bucketName = "xxxx"; // 選填,查詢oss 的 path 路徑。 $request->path = "/public/xxx"; // 選填,返回結果起始位置,預設1。 $request->pageNumber = 1; // 選填,返回結果數量,預設20。 $request->pageSize = 1; try { $response = $client->increaseList($request); var_dump($response->body->toMap()); } catch (TeaUnableRetryError $e) { var_dump($e->getLastException(), $e->getLastRequest()); } catch (Exception $e) { } }
結果樣本
array(2) { ["Data"]=> array(4) { ["Increments"]=> array(1) { ["Instance"]=> array(1) { [0]=> array(9) { ["BucketName"]=> string(21) "xxxxx" ["Code"]=> string(1) "0" ["ErrorUrl"]=> string(226) "https://xx/xx" ["Id"]=> int(1464) ["Msg"]=> string(7) "success" ["Path"]=> string(23) "/public/xxx" ["Status"]=> string(6) "NORMAL" ["UtcCreate"]=> int(1639107872000) ["UtcModified"]=> int(1639125540000) } } } ["PageNumber"]=> int(1) ["PageSize"]=> int(1) ["TotalCount"]=> int(1) } ["RequestId"]=> string(36) "603C696F-EC04-101F-8767-29A63382237A" }