全部產品
Search
文件中心

Image Search:PHP SDK

更新時間:Aug 24, 2024

本文介紹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"
    }