全部產品
Search
文件中心

Image Search:PHP SDK

更新時間:Feb 05, 2024

本文介紹Image Search服務PHP SDK的使用方法及樣本。

說明

如需瞭解更多產品詳情和擷取支援人員,請單擊線上諮詢或通過DingTalk群(35035130)聯絡我們。

介面列表

介面名稱

介面說明

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"
    }