大型集团公司的IT管理,通常是通过内部云管理平台实现的统一管理。该平台实现了火山引擎的计算、网络、数据库、存储、中间件等常用的云资源的全生命周期管理。
采用云管平台可帮助企业简化多云环境下的IT管理工作,实现云资源全生命周期管理和精细化运维,提升资源使用率,降低成本和运维管理风险。云管平台的集成,依赖完善和高质量的OpenAPI、SDK和配套工具。
对业务需要使用的云产品,如何方便和快捷的找到资源增删改查所需的OpenAPI,并且使用统一的规范进行接入。
如何能够快速找到API的使用文档和SDK,降低接入门槛。
云管平台不同身份的访问权限可设置,操作记录可追溯,保障业务的安全合规。
火山引擎的API网关,统一所有云产品的OpenAPI设计规范,包括:API调用的入参、出参、错误码和示例,确保各云产品规范和风格统一。
官网OpenAPI中心支持快速查找到所需云产品的OpenAPI,通过SDK或者在线调试工具、Demo示例等,确保顺利集成云服务。
所有OpenAPI均纳入IAM权限管理,并且由云审计对API操作进行参数级别的日志记录,用于事后追溯。
以下以通过火山引擎SDK调用接口退订实例为例,介绍云管平台集成和使用SDK的过程:
第一步:明确开发语言
根据项目工程所使用的开发语言选择火山引擎的SDK,火山引擎目前支持主流的Java、Go、Python、PHP、Nodejs,所有SDK/Demo源码均已通过github开源。
第二步:安装SDK
以Java语言为例,更多可参考:火山引擎SDK中心。
步骤一: 集成服务仓库
<dependencies> <dependency> <groupId>com.volcengine</groupId> <artifactId>volcengine-java-sdk-billing</artifactId> <version>0.1.82</version> </dependency> </dependencies>
<dependencyManagement> <dependencies> <dependency> <groupId>com.volcengine</groupId> <artifactId>volcengine-java-sdk-bom</artifactId> <version>0.1.82</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
步骤二: Credentials 配置
通过环境变量导入:
export VOLCENGINE_ACCESS_KEY=your ak export VOLCENGINE_SECRET_KEY=your sk #如果使用token export VOLCENGINE_SESSION_TOKEN=token
第三步:发起API调用,完成实例退订。
可通过API Explorer在线调试API,也可以输入参数,动态生成调用API的SDK示例。
/** * Example Code generated by Beijing Volcanoengine Technology. */ package com.volcengine.sdk.example; import com.volcengine.ApiClient; import com.volcengine.ApiException; import com.volcengine.sign.Credentials; import com.volcengine.billing.BillingApi; import com.volcengine.billing.model.*; public class TestUnsubscribeInstance { public static void main(String[] args) throws Exception { // 注意示例代码安全,代码泄漏会导致AK/SK泄漏,有极大的安全风险。 String ak = "Your AK"; String sk = "Your SK"; String region = "cn-beijing"; ApiClient apiClient = new ApiClient() .setCredentials(Credentials.getCredentials(ak, sk)) .setRegion(region); BillingApi api = new BillingApi(apiClient); UnsubscribeInstanceRequest unsubscribeInstanceRequest = new UnsubscribeInstanceRequest(); unsubscribeInstanceRequest.setInstanceID("vol-924610****"); unsubscribeInstanceRequest.setProduct("volume"); unsubscribeInstanceRequest.setUnsubscribeRelatedInstance(true); try { // 复制代码运行示例,请自行打印API返回值。 api.unsubscribeInstance(unsubscribeInstanceRequest); } catch (ApiException e) { // 复制代码运行示例,请自行打印API错误信息。 // System.out.println(e.getResponseBody()); } } }
OpenAPI作为对资源的原子化操作,可以基于任意的业务场景和诉求灵活定制,实现云管平台自动化、统一管理云资源。
SDK屏蔽了调用API繁琐的签名过程,只需要关注跟业务逻辑相关的参数,更便于集成云服务。API Explorer、SDK示例等降低了集成过程中的开发和调试成本。
IAM灵活的权限控制,可以针对用户、角色及组织架构的授权模型可对运维人员进行精细化权限管理。结合云审计的操作日志可清晰记录运维人员对云资源的操作轨迹。