Endpoint配置
更新时间:
Endpoint是请求接口服务的网络域名,本文为您介绍V1.0 SDK 如何设置Endpoint。
V1.0 SDK 提供了多种Endpoint的寻址方式,下面按优先级排列:
用户自定义: 是优先级最高的寻址逻辑,可以直接指定endpoint的具体内容。
<?php require_once 'vendor/autoload.php'; use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException; use AlibabaCloud\Ecs\Ecs; try { // 请确保已设置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。 AlibabaCloud::accessKeyClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET')); // 为产品增加在某个区域的域名 AlibabaCloud::addHost('Ecs', 'ecs.cn-beijing.aliyuncs.com', 'cn-beijing'); AlibabaCloud::addHost('Ecs', 'ecs.cn-hangzhou.aliyuncs.com', 'cn-hangzhou'); // 为产品增加全局域名,当没有指定regionId时,将使用该全局域名 AlibabaCloud::addHost('Ecs', 'ecs.cn-hangzhou.aliyuncs.com'); $request = Ecs::v20140526()->describeRegions(); $result = $request ->debug(true) ->regionId('cn-hangzhou') // 指定regionId ->host("ecs.cn-hangzhou.aliyuncs.com") // 指定endpoint,优先级最高 ->request(); print_r($result->toArray()); } catch (ClientException $exception) { // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 echo $exception->getMessage() . PHP_EOL; } catch (ServerException $exception) { // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 echo $exception->getMessage() . PHP_EOL; echo $exception->getErrorCode() . PHP_EOL; echo $exception->getRequestId() . PHP_EOL; echo $exception->getErrorMessage() . PHP_EOL; }
云产品SDK寻址:根据云产品中endpoint.json寻址,例如ECS的endpoint.json。
SDK Core 寻址:根据PHP SDK Core中的Data.php数据文件进行寻址。
调用Location服务寻址。
说明
若通过以上方式还未获取到Endpoint,会抛出异常并提示“No host found for {product} in the {regionId}, you can specify host by host() method. Like $request->host('xxx.xxx.aliyuncs.com')”。
文档内容是否对您有帮助?