当前位置: 首页 > news >正文

服务器分配网络提高网站访问速度台州网站建设哪家公司好

服务器分配网络提高网站访问速度,台州网站建设哪家公司好,业务平台低价,久久建筑网官网登录一、ES术语表 本文档涉及的一些常用术语如下#xff1a; 术语全称中文说明InstanceInstance实例指代一台云服务器。RegionRegion地域表示资源所在的地域#xff0c;每个地域包含一个或多个可用区。ZoneZone可用区指腾讯云在同一 地域 内电力和网络互相独立的物理数据中心。…一、ES术语表 本文档涉及的一些常用术语如下 术语全称中文说明InstanceInstance实例指代一台云服务器。RegionRegion地域表示资源所在的地域每个地域包含一个或多个可用区。ZoneZone可用区指腾讯云在同一 地域 内电力和网络互相独立的物理数据中心。目标是能够保证可用区之间故障相互隔离不出现故障扩散使得用户的业务持续在线服务。ImageImage镜像CVM实例上软件环境的拷贝一般包括操作系统和已安装的软件我们使用镜像来创建实例。SecurityGroupSecurity Group安全组一种有状态的包过滤功能的虚拟防火墙用于控制CVM实例的网络访问 是一种重要的网络安全隔离手段。EIPElastic IP弹性IP弹性IP是公网IP的一种。与普通公网IP不同的是弹性IP归属于用户账户而不是实例实例与公网IP的映射关系随时可以更改。无无包年包月一种计费模式参看 计费模式说明。无无按量计费一种计费模式参看 计费模式说明。 输入参数与返回参数释义 Limit 和 Offset 用来控制分页的参数Limit 为单次返回的最多条目数量Offset 为偏移量。当相应结果是列表形式时如果数量超过了 Limit 所限定的值那么只返回 Limit 个值。 举例来说参数 Offset0Limit20 返回第 0 到 20 项Offset20Limit20 返回第 20 到 40 项Offset40Limit20 返回第 40 到 60 项以此类推。 Ids.N 同时输入多个参数的格式。当遇到形如这样的格式时那么该输入参数可以同时传多个。例如 GET 请求或者 POST x-www-form-urlencoded 请求Ids.0ins-r8hr2upyIds.1ins-5d8a23rsIds.2ins--dcs9x3gz 以此类推以下标 0 开始。 POST json 请求{Ids: [ins-r8hr2upy, ins-5d8a23rs, ins--dcs9x3gz]} 二、接口鉴权 1. 申请安全凭证 在第一次使用云API之前请前往云API密钥页面申请安全凭证。 安全凭证包括 SecretId 和 SecretKey SecretId 用于标识 API 调用者身份SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥。用户必须严格保管安全凭证避免泄露。 申请安全凭证的具体步骤如下 登录腾讯云管理中心控制台。前往云API密钥的控制台页面在云API密钥页面点击【新建】即可以创建一对SecretId/SecretKey 注意开发商帐号最多可以拥有两对 SecretId / SecretKey。 2. 生成签名串 有了安全凭证SecretId 和 SecretKey后就可以生成签名串了。以下是生成签名串的详细过程 假设用户的 SecretId 和 SecretKey 分别是 SecretId: AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLESecretKey: Gu5t9xGARNpq86cd98joQYCN3EXAMPLE 注意这里只是示例请根据用户实际申请的 SecretId 和 SecretKey 进行后续操作 以云服务器查看实例列表(DescribeInstances)请求为例当用户调用这一接口时其请求参数可能如下: 参数名称中文参数值Action方法名DescribeInstancesSecretId密钥IdAKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLETimestamp当前时间戳1465185768Nonce随机正整数11886Region实例所在区域ap-guangzhouInstanceIds.0待查询的实例IDins-09dx96dgOffset偏移量0Limit最大允许输出20Version接口版本号2017-03-12 2.1. 对参数排序 首先对所有请求参数按参数名的字典序 ASCII 码升序排序。注意1只按参数名进行排序参数值保持对应即可不参与比大小2按 ASCII 码比大小如 InstanceIds.2 要排在 InstanceIds.12 后面不是按字母表也不是按数值。用户可以借助编程语言中的相关排序函数来实现这一功能如 php 中的 ksort 函数。上述示例参数的排序结果如下: {Action : DescribeInstances,InstanceIds.0 : ins-09dx96dg,Limit : 20,Nonce : 11886,Offset : 0,Region : ap-guangzhou,SecretId : AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE,Timestamp : 1465185768,Version: 2017-03-12, } 使用其它程序设计语言开发时可对上面示例中的参数进行排序得到的结果一致即可。 2.2. 拼接请求字符串 此步骤生成请求字符串。 将把上一步排序好的请求参数格式化成“参数名称”“参数值”的形式如对 Action 参数其参数名称为 Action 参数值为 DescribeInstances 因此格式化后就为 ActionDescribeInstances 。 注意“参数值”为原始值而非url编码后的值。 然后将格式化后的各个参数用拼接在一起最终生成的请求字符串为: ActionDescribeInstancesInstanceIds.0ins-09dx96dgLimit20Nonce11886Offset0Regionap-guangzhouSecretIdAKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLETimestamp1465185768Version2017-03-12 2.3. 拼接签名原文字符串 此步骤生成签名原文字符串。 签名原文字符串由以下几个参数构成: 请求方法: 支持 POST 和 GET 方式这里使用 GET 请求注意方法为全大写。请求主机:查看实例列表(DescribeInstances)的请求域名为cvm.tencentcloudapi.com。实际的请求域名根据接口所属模块的不同而不同详见各接口说明。请求路径: 当前版本云API的请求路径固定为 / 。请求字符串: 即上一步生成的请求字符串。 签名原文串的拼接规则为: 请求方法 请求主机 请求路径 ? 请求字符串 示例的拼接结果为 GETcvm.tencentcloudapi.com/?ActionDescribeInstancesInstanceIds.0ins-09dx96dgLimit20Nonce11886Offset0Regionap-guangzhouSecretIdAKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLETimestamp1465185768Version2017-03-12 2.4. 生成签名串 此步骤生成签名串。 首先使用 HMAC-SHA1 算法对上一步中获得的签名原文字符串进行签名然后将生成的签名串使用 Base64 进行编码即可获得最终的签名串。 具体代码如下以 PHP 语言为例: $secretKey Gu5t9xGARNpq86cd98joQYCN3EXAMPLE; $srcStr GETcvm.tencentcloudapi.com/?ActionDescribeInstancesInstanceIds.0ins-09dx96dgLimit20Nonce11886Offset0Regionap-guangzhouSecretIdAKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLETimestamp1465185768Version2017-03-12; $signStr base64_encode(hash_hmac(sha1, $srcStr, $secretKey, true)); echo $signStr; 最终得到的签名串为: EliP9YW3pW28FpsEdkXt/WcGeI 使用其它程序设计语言开发时可用上面示例中的原文进行签名验证得到的签名串与例子中的一致即可。 3. 签名串编码 生成的签名串并不能直接作为请求参数需要对其进行 URL 编码。 如上一步生成的签名串为 EliP9YW3pW28FpsEdkXt/WcGeI 最终得到的签名串请求参数Signature为EliP9YW3pW28FpsEdkXt%2f%2bWcGeI%3d它将用于生成最终的请求 URL。 注意如果用户的请求方法是 GET或者请求方法为 POST 同时 Content-Type 为 application/x-www-form-urlencoded则发送请求时所有请求参数的值均需要做 URL 编码参数键和符号不需要编码。非 ASCII 字符在 URL 编码前需要先以 UTF-8 进行编码。 注意有些编程语言的 http 库会自动为所有参数进行 urlencode在这种情况下就不需要对签名串进行 URL 编码了否则两次 URL 编码会导致签名失败。 注意其他参数值也需要进行编码编码采用 RFC 3986。使用 %XY 对特殊字符例如汉字进行百分比编码其中“X”和“Y”为十六进制字符0-9 和大写字母 A-F使用小写将引发错误。 4. 签名失败 根据实际情况存在以下签名失败的错误码请根据实际情况处理 错误代码错误描述AuthFailure.SignatureExpire签名过期AuthFailure.SecretIdNotFound密钥不存在AuthFailure.SignatureFailure签名错误AuthFailure.TokenFailuretoken 错误AuthFailure.InvalidSecretId密钥非法不是云 API 密钥类型 5. 签名演示 在实际调用 API 3.0 时推荐使用配套的腾讯云 SDK 3.0 SDK 封装了签名的过程开发时只关注产品提供的具体接口即可。 为了更清楚的解释签名过程下面以实际编程语言为例将上述的签名过程具体实现。请求的域名、调用的接口和参数的取值都以上述签名过程为准代码只为解释签名过程并不具备通用性实际开发请尽量使用 SDK 。 最终输出的 url 可能为https://cvm.tencentcloudapi.com/?ActionDescribeInstancesInstanceIds.0ins-09dx96dgLimit20Nonce11886Offset0Regionap-guangzhouSecretIdAKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLESignatureEliP9YW3pW28FpsEdkXt%2F%2BWcGeI%3DTimestamp1465185768Version2017-03-12 注意由于示例中的密钥是虚构的时间戳也不是系统当前时间因此如果将此 url 在浏览器中打开或者用 curl 等命令调用时会返回鉴权错误签名过期。为了得到一个可以正常返回的 url 需要修改示例中的 SecretId 和 SecretKey 为真实的密钥并使用系统当前时间戳作为 Timestamp 。 注意在下面的示例中不同编程语言甚至同一语言每次执行得到的 url 可能都有所不同表现为参数的顺序不同但这并不影响正确性。只要所有参数都在且签名计算正确即可。 注意以下代码仅适用于 API 3.0不能直接用于其他的签名流程即使是旧版的 API 由于存在细节差异也会导致签名计算错误请以对应的实际文档为准。 import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Random; import java.util.TreeMap; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import javax.xml.bind.DatatypeConverter;public class TencentCloudAPIDemo {private final static String CHARSET UTF-8;public static String sign(String s, String key, String method) throws Exception {Mac mac Mac.getInstance(method);SecretKeySpec secretKeySpec new SecretKeySpec(key.getBytes(CHARSET), mac.getAlgorithm());mac.init(secretKeySpec);byte[] hash mac.doFinal(s.getBytes(CHARSET));return DatatypeConverter.printBase64Binary(hash);}public static String getStringToSign(TreeMapString, Object params) {StringBuilder s2s new StringBuilder(GETcvm.tencentcloudapi.com/?);// 签名时要求对参数进行字典排序此处用TreeMap保证顺序for (String k : params.keySet()) {s2s.append(k).append().append(params.get(k).toString()).append();}return s2s.toString().substring(0, s2s.length() - 1);}public static String getUrl(TreeMapString, Object params) throws UnsupportedEncodingException {StringBuilder url new StringBuilder(https://cvm.tencentcloudapi.com/?);// 实际请求的url中对参数顺序没有要求for (String k : params.keySet()) {// 需要对请求串进行urlencode由于key都是英文字母故此处仅对其value进行urlencodeurl.append(k).append().append(URLEncoder.encode(params.get(k).toString(), CHARSET)).append();}return url.toString().substring(0, url.length() - 1);}public static void main(String[] args) throws Exception {TreeMapString, Object params new TreeMapString, Object(); // TreeMap可以自动排序// 实际调用时应当使用随机数例如params.put(Nonce, new Random().nextInt(java.lang.Integer.MAX_VALUE));params.put(Nonce, 11886); // 公共参数// 实际调用时应当使用系统当前时间例如 params.put(Timestamp, System.currentTimeMillis() / 1000);params.put(Timestamp, 1465185768); // 公共参数params.put(SecretId, AKIDz8krbsJ5yKBZQpn74WFkmLPx3EXAMPLE); // 公共参数params.put(Action, DescribeInstances); // 公共参数params.put(Version, 2017-03-12); // 公共参数params.put(Region, ap-guangzhou); // 公共参数params.put(Limit, 20); // 业务参数params.put(Offset, 0); // 业务参数params.put(InstanceIds.0, ins-09dx96dg); // 业务参数params.put(Signature, sign(getStringToSign(params), Gu5t9xGARNpq86cd98joQYCN3EXAMPLE, HmacSHA1)); // 公共参数System.out.println(getUrl(params));} } 三、腾讯SDK GITHUT地址 package com.tencentcloudapi.es.v20180416;import java.lang.reflect.Type; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; import com.tencentcloudapi.common.exception.TencentCloudSDKException; import com.tencentcloudapi.common.AbstractClient; import com.tencentcloudapi.common.profile.ClientProfile; import com.tencentcloudapi.common.JsonResponseModel; import com.tencentcloudapi.common.Credential; import com.tencentcloudapi.es.v20180416.models.*;public class EsClient extends AbstractClient{private static String endpoint es.tencentcloudapi.com;private static String version 2018-04-16;/*** 构造client* param credential 认证信息实例* param region 产品地域*/public EsClient(Credential credential, String region) {this(credential, region, new ClientProfile());}/*** 构造client* param credential 认证信息实例* param region 产品地域* param profile 配置实例*/public EsClient(Credential credential, String region, ClientProfile profile) {super(EsClient.endpoint, EsClient.version, credential, region, profile);}/***创建指定规格的ES集群实例* param req CreateInstanceRequest* return CreateInstanceResponse* throws TencentCloudSDKException*/public CreateInstanceResponse CreateInstance(CreateInstanceRequest req) throws TencentCloudSDKException{JsonResponseModelCreateInstanceResponse rsp null;try {Type type new TypeTokenJsonResponseModelCreateInstanceResponse() {}.getType();rsp gson.fromJson(this.internalRequest(req, CreateInstance), type);} catch (JsonSyntaxException e) {throw new TencentCloudSDKException(e.getMessage());}return rsp.response;}/***销毁集群实例 * param req DeleteInstanceRequest* return DeleteInstanceResponse* throws TencentCloudSDKException*/public DeleteInstanceResponse DeleteInstance(DeleteInstanceRequest req) throws TencentCloudSDKException{JsonResponseModelDeleteInstanceResponse rsp null;try {Type type new TypeTokenJsonResponseModelDeleteInstanceResponse() {}.getType();rsp gson.fromJson(this.internalRequest(req, DeleteInstance), type);} catch (JsonSyntaxException e) {throw new TencentCloudSDKException(e.getMessage());}return rsp.response;}/***查询用户该地域下符合条件的ES集群的日志* param req DescribeInstanceLogsRequest* return DescribeInstanceLogsResponse* throws TencentCloudSDKException*/public DescribeInstanceLogsResponse DescribeInstanceLogs(DescribeInstanceLogsRequest req) throws TencentCloudSDKException{JsonResponseModelDescribeInstanceLogsResponse rsp null;try {Type type new TypeTokenJsonResponseModelDescribeInstanceLogsResponse() {}.getType();rsp gson.fromJson(this.internalRequest(req, DescribeInstanceLogs), type);} catch (JsonSyntaxException e) {throw new TencentCloudSDKException(e.getMessage());}return rsp.response;}/***查询实例指定条件下的操作记录* param req DescribeInstanceOperationsRequest* return DescribeInstanceOperationsResponse* throws TencentCloudSDKException*/public DescribeInstanceOperationsResponse DescribeInstanceOperations(DescribeInstanceOperationsRequest req) throws TencentCloudSDKException{JsonResponseModelDescribeInstanceOperationsResponse rsp null;try {Type type new TypeTokenJsonResponseModelDescribeInstanceOperationsResponse() {}.getType();rsp gson.fromJson(this.internalRequest(req, DescribeInstanceOperations), type);} catch (JsonSyntaxException e) {throw new TencentCloudSDKException(e.getMessage());}return rsp.response;}/***查询用户该地域下符合条件的所有实例* param req DescribeInstancesRequest* return DescribeInstancesResponse* throws TencentCloudSDKException*/public DescribeInstancesResponse DescribeInstances(DescribeInstancesRequest req) throws TencentCloudSDKException{JsonResponseModelDescribeInstancesResponse rsp null;try {Type type new TypeTokenJsonResponseModelDescribeInstancesResponse() {}.getType();rsp gson.fromJson(this.internalRequest(req, DescribeInstances), type);} catch (JsonSyntaxException e) {throw new TencentCloudSDKException(e.getMessage());}return rsp.response;}/***重启ES集群实例(用于系统版本更新等操作) * param req RestartInstanceRequest* return RestartInstanceResponse* throws TencentCloudSDKException*/public RestartInstanceResponse RestartInstance(RestartInstanceRequest req) throws TencentCloudSDKException{JsonResponseModelRestartInstanceResponse rsp null;try {Type type new TypeTokenJsonResponseModelRestartInstanceResponse() {}.getType();rsp gson.fromJson(this.internalRequest(req, RestartInstance), type);} catch (JsonSyntaxException e) {throw new TencentCloudSDKException(e.getMessage());}return rsp.response;}/***对集群进行扩缩容修改实例名称修改配置重置密码 添加Kibana黑白名单等操作。参数中InstanceId为必传参数ForceRestart为选填参数剩余参数传递组合及含义如下brInstanceName修改实例名称(仅用于标识实例)brNodeNum集群数据节点横向扩缩容brNodeType, DiskSize集群数据节点纵向扩缩容brMasterNodeNum: 集群专用主节点横向扩缩容brMasterNodeType, MasterNodeDiskSize: 集群专用主节点纵向扩缩容brEsConfig修改集群配置brPassword修改集群密码brEsAcl修改Kibana密码brCosBackUp: 设置集群COS自动备份信息br 以上参数组合只能传递一种多传或少传均会导致请求失败br* param req UpdateInstanceRequest* return UpdateInstanceResponse* throws TencentCloudSDKException*/public UpdateInstanceResponse UpdateInstance(UpdateInstanceRequest req) throws TencentCloudSDKException{JsonResponseModelUpdateInstanceResponse rsp null;try {Type type new TypeTokenJsonResponseModelUpdateInstanceResponse() {}.getType();rsp gson.fromJson(this.internalRequest(req, UpdateInstance), type);} catch (JsonSyntaxException e) {throw new TencentCloudSDKException(e.getMessage());}return rsp.response;}} 四、RESTful API API 概览 调用方式 请求结构公共参数接口鉴权 v3接口鉴权返回结果 实例相关接口 创建实例创建实例询价启动实例关闭实例重启实例重装实例重装实例询价重置实例密码退还实例查看实例列表查看实例状态列表修改实例的属性修改实例所属项目调整实例配置调整实例配置询价扩容实例磁盘扩容实例磁盘询价查询所支持的实例机型族信息查询实例机型列表续费实例续费实例询价修改实例续费标识查询实例带宽配置查询网络计费类型调整实例带宽上限调整实例带宽上限询价获取可用区机型配置信息创建分散置放群组删除分散置放群组查询置放群组配额查询分散置放群组信息修改分散置放群组属性绑定安全组查询实例管理终端地址查询实例操作限制解绑安全组修改实例计费模式询价修改实例计费模式修改实例vpc属性
http://www.huolong8.cn/news/176863/

相关文章:

  • 中国铁路建设投资公司官方网站中国建站网
  • 电脑网站制作教程北京专业网站设计推荐
  • 装饰公司网站规划方案顺德网站建设代理商
  • 网站开发大牛网站仿做
  • 佛山网站设计电话教育品牌网站建设
  • 企业网站网站建设价格广西建设网站网址多少钱
  • 建网站和做微信哪个好什么行业必须做网站
  • 网站制作的步骤网站多域名
  • 佛山专业网站设计公司注册集团公司需要什么条件
  • 住房城乡建设部 网站广州官方网站建设
  • 视频网站高管有做传统媒体出身的吗?优酷副总裁转型成功的概率有多少?免费标志在线设计生成
  • 德阳建设局网站微信做单页的网站
  • 页游平台网站wordpress 搜索翻页
  • 建设品牌公司网站网站制作设及的技术
  • 京东联盟推广网站有没有做ppt好看的免费网站
  • 技术支持东莞网站建设网名大全
  • 泉州高端网站建设网站制作新技术
  • 给个网站你们会感谢我的杭州会做网站
  • 个人网站建设推广服务星星wordpress模板
  • 新闻源代发网站怎么做济南网站优化推广
  • 深入网站开发和运维一二三类医疗器械目录
  • 网站建设维护合同范本南昌专业的企业网站开发公司
  • 设计优秀网站作品网站开发前端要学什么
  • 网站怎么发布wordpress5.2中文
  • 河南国基建设集团有限公司网站如何做网站投放广告
  • 网站建设报班站长要维护网站
  • 哪个网站可以做鸟瞰图hao123网站难做吗
  • 网站的作用网站设计的初衷
  • 做ppt好的模板下载网站有哪些新工商名录企业应用平台
  • 创建网站域名多少钱wordpress进不去了