阅读本文,您可以获取 PHP SDK 服务管理的接口调用示例,实现快速开发。
说明
本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。
调用接口前,请先完成 PHP SDK 的安装及初始化操作。
本节为您介绍服务管理相关接口的功能和调用示例。
您可以调用 GetImageServiceSubscription 接口查询服务开通状态。详细的参数说明可参见 GetImageServiceSubscription 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 附加组件类型,取值AI获取服务端智能处理开通情况。默认返回ImageX服务开通情况 "AddOnType" => "AI", // 附加组件ID,获取指定附加组件的开通情况。默认返回ImageX服务开通情况 "AddOnId" => "xxxx", // 附加组件英文标识,获取指定附加组件的开通情况。默认返回ImageX服务开通情况。 "AddOnKey" => "enhance", ]; $response = $client->getImageServiceSubscription($query); print_r($response);
您可以调用 CreateImageService 接口创建服务。详细的参数说明可参见 CreateImageService 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $body = [ // 服务名称,最多不超过 32 个字符。创建成功后,名称和区域不支持变更。建议您使用能够标识业务的服务名。 "ServiceName" => "图片处理", // 服务地域,取值如下所示: // * cn:中国 // * mya:亚太东南(柔佛) "ServiceRegion" => "cn", // 服务类型,取值如下所示: // * StaticRc:素材托管服务,支持任意类型资源的存储和分发。 // * Image:图片处理服务,除支持任意类型资源的存储和分发外,还支持对图片进行实时处理。 "ServiceType" => "Image", // 创建服务时需要绑定的域名列表,最多支持一次绑定 10 个域名。 "Domains" => [ [ // 待绑定的已备案域名。 "Domain" => "a.test.com", // 待绑定的证书 ID。 "CertID" => "109jo**027y3", ], ], // 服务绑定的项目,默认值为 default。项目是在火山引擎访问控制中资源分组的概念,您需要将服务加入某一个项目中。您可以在火山引擎控制台[项目管理](https://console.volcengine.com/iam/projcetmanage/)页面中获取项目名称。 "ProjectName" => "default", // 服务绑定的标签,默认为空,表示不绑定标签。可用于通过标签将不同业务类别、用途的存储服务进行分类管理,也适用于标签制授权和标签分账等场景。您可以在火山引擎控制台[资源管理](https://console.volcengine.com/resourcemanager/tag/resource_tag)页面新建标签。 "ResourceTags" => [ [ // 标签键 "Key" => "userkey", // 标签值 "Value" => "uservalue", ], ], ]; $response = $client->createImageService($body); print_r($response);
您可以调用 DeleteImageService 接口删除服务。详细的参数说明可参见 DeleteImageService 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 待删除的服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> "ServiceId" => "g9y**8hu", ]; $response = $client->deleteImageService($query); print_r($response);
您可以调用 UpdateServiceName 接口更新服务名称。详细的参数说明可参见 UpdateServiceName 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 待修改名称的服务 ID。 // * 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 // * 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 "ServiceId" => "uh1**89i", ]; $body = [ // 服务名称,最多不超过 32 个字符。 "ServiceName" => "新服务", ]; $response = $client->updateServiceName($query, $body); print_r($response);
您可以调用 UpdateImageMirrorConf 接口更新镜像回源配置。详细的参数说明可参见 UpdateImageMirrorConf 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> "ServiceId" => "8h**9q", ]; $body = [ // 下载图片的协议,取值为:http、https。 "Schema" => "https", // 带权重回源域名。key 为 String 类型,代表镜像回源域名;value 为 Integer 类型,代表域名权重。 "Hosts" => [ "www.pic1.com" => 95, "www.pic2.com" => 5, ], // 镜像源 URI,其中图片名用 %s 占位符替代,比如/obj/%s。 "Source" => "/obj/%s", // 镜像站 "Origin" => [], ]; $response = $client->updateImageMirrorConf($query, $body); print_r($response);
您可以调用 UpdateImageUploadOverwrite 接口更新重名覆盖上传配置。详细的参数说明可参见 UpdateImageUploadOverwrite 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[GetAllImageServices](https://www.volcengine.com/docs/508/9360)。 </li> "ServiceId" => "7f****3", ]; $body = [ // 是否开启重名覆盖上传,取值如下所示: // <li> true:开启 </li> // <li> false:关闭 </li> "UploadOverwrite" => true, ]; $response = $client->updateImageUploadOverwrite($query, $body); print_r($response);
您可以调用 UpdateStorageRules 接口更新服务存储策略。详细的参数说明可参见 UpdateStorageRules 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> "ServiceId" => "7s**0l", ]; $body = [ // 更新后的存储降冷策略 "StorageRules" => [ [ // 文件前缀。例如设置为 prefix 后,规则将只对名称以 prefix 开头的存储资源生效。输入规则如下: // <li> 不能以正斜线(/)或者反斜线()开头; </li> // <li> 不支持使用正则表达式匹配前缀; </li> // <li> 长度为 1~1024 个字符。 </li> "Prefix" => "prefix", // 策略类型,固定取值 Upload,表示按上传时间。 "Event" => "upload", // 最新版本文件的策略天数,取值范围为 [1,365],单位为天。按照 Event 事件 Day 天后执行 Action 事件,即当匹配文件的上传时间符合指定天数后,自动按照处理策略对资源进行处理。 "Day" => 30, // 最新版本文件在策略命中后需要执行的操作,取值如下所示: // <li> DELETE:删除文件 </li> // <li> IA:文件转低频存储 </li> // <li> ARCHIVE:文件转归档存储 </li> // <li> COLD_ARCHIVE:文件转冷归档存储 </li> "Action" => "IA", // 是否启用策略,取值如下所示: // <li> true:是 </li> // <li> false:否 </li> "Enable" => true, // 历史版本文件在策略命中后需要执行的操作,取值如下所示: // <li> DELETE:删除文件 </li> // <li> IA:文件转低频存储 </li> // <li> ARCHIVE:文件转归档存储 </li> // <li> COLD_ARCHIVE:文件转冷归档存储 </li> "NonCurrentAction" => "IA", // 历史版本文件的策略天数,取值范围为 [1,365],单位为天。按照 Event 事件 NonCurrentDay 天后执行 NonCurrentAction 事件,即当匹配历史版本文件的上传时间符合指定天数后,自动按照处理策略对历史版本资源进行处理。 "NonCurrentDay" => 30, ], ], ]; $response = $client->updateStorageRules($query, $body); print_r($response);
您可以调用 UpdateResEventRule 接口更新事件通知配置。详细的参数说明可参见 UpdateResEventRule 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> "ServiceId" => "hj9**102", ]; $body = [ // 事件通知规则 "EventRules" => [ [ // 事件类型。取值如下所示: // <li> Upload:上传文件 </li> // <li> Delete:删除文件 </li> // <li> Mirror:镜像回源 </li> // <li> Migrate:数据迁移 </li> // <li> OffTrans:离线转码(素材托管服务配置无效) </li> // <li> TplStore:模板持久化存储(素材托管服务配置无效) </li> "EventType" => ["upload"], // 匹配规则的正则表达式。仅当资源的 StoreKey 匹配该正则表达式时触发事件通知。缺省情况下表示匹配所有资源。 "MatchRule" => "test.png\b", // 回调 URL,以 http:// 或 https:// 开头,需满足公网可访问。当事件触发时,会向该 URL 发送 HTTP POST 请求,body 为具体的事件信息。具体回调参数详见回调内容。 "CallbackUrl" => "https://a.callback.com", // 规则启用状态,取值如下所示: // <li> true:开启 </li> // <li> false:关闭 </li> "Enable" => true, ], ], ]; $response = $client->updateResEventRule($query, $body); print_r($response);
您可以调用 UpdateImageObjectAccess 接口更新源地址访问配置。详细的参数说明可参见 UpdateImageObjectAccess 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 待更新配置的服务 ID。 // <li> 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> "ServiceId" => "9jh**b2d", ]; $body = [ // 是否开启源地址访问,取值如下所示: // * true:开启源地址访问 // * false:关闭源地址访问 "ObjectAccess" => false, ]; $response = $client->updateImageObjectAccess($query, $body); print_r($response);
您可以调用 UpdateImageAuthKey 接口更新主备鉴权。详细的参数说明可参见 UpdateImageAuthKey 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 待更新配置的服务 ID。 // <li> 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> "ServiceId" => "2y***s2", ]; $body = [ // 主鉴权 key,长度为 8-32 字节,为空则不更新主鉴权值。 "PrimaryKey" => "899z09z***121u2e9w", // 备鉴权 key,长度为 8-32 字节,为空则不更新备鉴权值。 "SecondaryKey" => "030fwe8***j9wqhiqs", ]; $response = $client->updateImageAuthKey($query, $body); print_r($response);
您可以调用 GetImageAuthKey 接口获取主备鉴权。详细的参数说明可参见 GetImageAuthKey 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 服务 ID。 // <li> 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> "ServiceId" => "y7****w7", ]; $response = $client->getImageAuthKey($query); print_r($response);
您可以调用 GetImageService 接口获取单个服务信息。详细的参数说明可参见 GetImageService 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 服务 ID。 // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> "ServiceId" => "90**1h", ]; $response = $client->getImageService($query); print_r($response);
您可以调用 GetAllImageServices 接口获取所有服务信息。详细的参数说明可参见 GetAllImageServices 接口文档。
接口调用示例如下所示。
<?php include_once "./vendor/autoload.php"; use Volc\Service\Imagex\V2\Imagex; // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY $client = Imagex::getInstance(); $client->setAccessKey(getenv("VOLC_ACCESSKEY")); $client->setSecretKey(getenv("VOLC_SECRETKEY")); $query = [ // 筛选服务的参数,当该值为空时返回所有服务,指定后返回服务名或者 ID 中包含该字符串的服务。 "SearchPtn" => "test", ]; $response = $client->getAllImageServices($query); print_r($response);