云上运维及应用实践教程(第2版) 课件 12. 阿里云API及工具的使用_第1页
云上运维及应用实践教程(第2版) 课件 12. 阿里云API及工具的使用_第2页
云上运维及应用实践教程(第2版) 课件 12. 阿里云API及工具的使用_第3页
云上运维及应用实践教程(第2版) 课件 12. 阿里云API及工具的使用_第4页
云上运维及应用实践教程(第2版) 课件 12. 阿里云API及工具的使用_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12阿里云API及工具的使用云上运维及应用实践目录CONTENTS12.1API应用

12.2SDK应用12.3云产品运维工具箱CLI12.1.1API概述API(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无须访问源码或理解内部工作机制的细节。阿里云大部分产品均开发了API接口,用户既可以基于阿里云开源的SDK(软件开发工具包)编写代码来调用API,也可以使用阿里云CLI(命令行工具)来调用API,从而对应用、资源和数据进行更灵活的部署、更快速的操作、更精确的使用、更及时的监控。1.概述12.1.2API使用方法阿里云云产品API的调用方式。以阿里云云服务器ECS的API为例,阿里云云服务器ECSAPI支持HTTP或HTTPS请求,允许GET和POST方法。用户还可以通过以下方式调用ECSAPI:不同编程语言的云服务器ECSSDK;阿里云CLI;阿里云APIExplorer;APIURL请求。1.概述12.1.2API使用方法主要介绍HTTP调用方式,它适用基于APIURL发起HTTP/HTTPSGET请求的用户。发起API请求的URL由不同参数组合而成,有固定的请求结构。URL中包含公共参数、用户签名和某个API的具体参数。根据用户的签名验证请求后,会将结果返回给用户。接口调用成功会显示返回参数,调用失败则显示相应报错信息,用户可以根据公共错误码和具体API错误码进行分析和排查。其他调用方式请参见阿里云官方文档。1.概述12.1.2API使用方法阿里云ECSAPI支持基于URL发起HTTP/HTTPSGET请求,请求参数需要包含在URL中。此处列举了GET请求中的结构解释,并提供了ECS的服务接入地址(Endpoint)。以下是创建快照(CreateSnapshot)的一条未编码URL请求示例:/?Action=CreateSnapshot&DiskId=d-28m5zbu**&<公共请求参数>2.请求结构12.1.2API使用方法公共参数分为公共请求参数(如表1)和公共返回参数(如表2)。公共请求参数适用于通过URL发送GET请求调用云服务器ECSAPI。3.公共参数名称类型是否必须描述FormatString否返回值的类型,支持JSON与XML,默认为XMLVersionString是API版本号,为日期形式YYYY-MM-DD,例如某版本对应为2014-05-26AccessKeyIdString是阿里云颁发给用户的访问服务所用的密钥IDSignatureString是签名结果串SignatureMethodString是签名方式,目前支持HMAC-SHA1TimestampString是请求的时间戳。日期格式按照ISO8601标准表示,并需要使用UTC时间。格式为YYYY-MM-DDThh:mm:ssZ,例如2014-05-26T12:00:00Z(为北京时间2014年5月26日20点0分0秒)SignatureVersionString是签名算法版本,目前版本是1.0SignatureNonceString是唯一随机数,用于防止网络重放攻击。用户在不同请求间要使用不同的随机数值名称类型描述RequestIdString请求ID。无论调用接口成功与否,都会返回请求ID表1公共请求参数表表2公共返回参数表12.1.2API使用方法ECS服务会对每个访问的请求进行身份验证,所以无论使用HTTP还是HTTPS协议提交请求,都需要在请求中包含签名(Signature)信息。ECS通过使用AccessKeyID和AccessKeySecret进行对称加密的方法来验证请求的发送者身份。AccessKeyID和AccessKeySecret由阿里云官方颁发给访问者(可以通过阿里云官方网站申请和管理),其中AccessKeyID用于标识访问者的身份;AccessKeySecret是用于加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密,谨防泄露。用户在访问时,按照以下步骤对请求进行签名处理:构造规范化的请求字符串(CanonicalizedQueryString)。构造签名的字符串。4.签名机制12.1.2API使用方法调用API服务后返回数据采用统一格式。返回结果主要有XML和JSON两种格式,默认为XML,用户可以指定公共请求参数Format变更返回结果的格式。为了便于查看和美观,此处返回示例均有换行和缩进等处理,实际返回结果无换行和缩进处理。5.返回结果12.1API应用12.3云产品运维工具箱CLI12.2SDK应用目录CONTENTS12.2.1SDK概述SDK(SoftwareDevelopmentKit,软件开发工具包)一般是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。SDK广义上是指辅助开发某一类软件的相关文档、范例和工具的集合。阿里云新版SDK的文件名通常以“aliyun-XXXX-sdk”开头,后面跟上产品名称(如ECS),组成如aliyun-java-sdk-ecs的包名,其中有一个核心包aliyun-java-sdk-core,封装了所有产品的SDK都会用到的一些类,如IClientProfile类、IAcsClient类、异常类等,产品相关的类均以产品为单位打包成不同名称的jar包。1.概述12.2.2SDK使用方法以ECSJavaSDK获得镜像的方法DescribeImages为例,说明SDK使用的完整流程,其中IClientProfile和IAcsClient两个类包含在aliyun-java-sdk-core包中,其他的类均包含在aliyun-java-sdk-ecs包中。(1)生成IClientProfile的对象profile,该对象存放AccessKeyID和AccessKeySecret及默认的地域信息。IClientProfileprofile=DefaultProfile.getProfile("cn-hangzhou",ak,aks);//ak是用户的AccessKey,aks是用户的AccessKeySecret2.SDK使用流程12.2.2SDK使用方法以ECSJavaSDK获得镜像的方法DescribeImages为例,说明SDK使用的完整流程,其中IClientProfile和IAcsClient两个类包含在aliyun-java-sdk-core包中,其他的类均包含在aliyun-java-sdk-ecs包中。(2)从IClientProfile类中再生成IAcsClient的对象client,后续的response都需要从IClientProfile中获得。IAcsClientclient=newDefaultAcsClient(profile);2.SDK使用流程12.2.2SDK使用方法以ECSJavaSDK获得镜像的方法DescribeImages为例,说明SDK使用的完整流程,其中IClientProfile和IAcsClient两个类包含在aliyun-java-sdk-core包中,其他的类均包含在aliyun-java-sdk-ecs包中。(3)创建一个对应方法的Request,类的命名规则一般为API的方法名加上“Request”,如获得镜像列表的API方法名为DescribeImages,那么对应的请求类名就是DescribeImagesRequest,直接使用构造函数生成一个默认的类describe。DescribeImagesRequestdescribe=newDescribeImagesRequest();2.SDK使用流程12.2.2SDK使用方法以ECSJavaSDK获得镜像的方法DescribeImages为例,说明SDK使用的完整流程,其中IClientProfile和IAcsClient两个类包含在aliyun-java-sdk-core包中,其他的类均包含在aliyun-java-sdk-ecs包中。(4)请求类生成好之后需要通过Request类的setXXX方法设置必要的信息,即API参数中必须提供的信息,DescribeImages的API方法必须提供的参数为RegionId,该值可以省略,因为IClientProfile中已经提供了地域信息。同样地,也可以通过setXXX方法设置其他可选的参数,如这里设置要查询的镜像为自定义镜像,则设置ImageOwnerAlias的值为“self”(self即表示查询自定义镜像)。describe.setImageOwnerAlias("self");2.SDK使用流程任务12.1使用SDK管理阿里云云服务器ECS以ECSJavaSDK获得镜像的方法DescribeImages为例,说明SDK使用的完整流程,其中IClientProfile和IAcsClient两个类包含在aliyun-java-sdk-core包中,其他的类均包含在aliyun-java-sdk-ecs包中。(5)参数设置完毕就可以通过IAcsClient对象来获得对应Request的响应。DescribeImagesResponseresponse=client.getAcsResponse(describe);2.SDK使用流程12.2.2SDK使用方法以ECSJavaSDK获得镜像的方法DescribeImages为例,说明SDK使用的完整流程,其中IClientProfile和IAcsClient两个类包含在aliyun-java-sdk-core包中,其他的类均包含在aliyun-java-sdk-ecs包中。(6)接着可以调用response中对应的getXXX方法获得返回的参数值了,如获得某个镜像的名字。根据API方法的不同,返回的信息中可能会包含多层的信息,如获得镜像列表这个方法,返回的信息中镜像是以一个集合来表示的,集合中存放了每个镜像的信息。对于JavaSDK而言,存放镜像信息的就是一个列表,需要先通过getImages()获得Image对象的集合,然后再通过遍历等方法取得其中某个镜像的信息,之后调用getXXX方法获得具体的信息。for(Imageimage:response.getImages())

{System.out.println(image.getImageId());System.out.println(image.getImageName());}2.SDK使用流程任务12.1使用SDK管理阿里云云服务器ECS使用Maven下载云服务器ECS的SDK,然后通过API对“慕课云”的云服务器ECS进行信息查看、基本信息修改、重启、停止等操作。1.任务描述任务12.1使用SDK管理阿里云云服务器ECS学会使用Maven下载阿里云产品的SDK。学会使用SDK管理阿里云云服务器ECS。2.任务目标任务12.1使用SDK管理阿里云云服务器ECS【准备】登录阿里云ECS管理控制台。3.任务实施任务12.1使用SDK管理阿里云云服务器ECS【步骤】(1)安装Maven。(2)在Eclipse中配置Maven。(3)创建Maven项目。(4)使用API管理云服务器ECS。3.任务实施12.1API应用12.2SDK应用12.3云产品运维工具箱CLI目录CONTENTS12.3.1CLI概述阿里云命令行工具(CommandLineInterface,CLI)是基于阿里云开放API建立的用于管理阿里云服务的统一管理工具。借助这个工具,可以很方便地调用阿里云开放API,管理阿里云产品。阿里云命令行工具与阿里云OpenAPI是一一对应的,且灵活性高也易于扩展。所以,可以基于阿里云命令行工具对阿里云原生的API进行封装,扩展出自己想要的功能。阿里云CLI具有以下特色功能:1.概述12.3.1CLI概述云资源管理用户可以直接通过命令行的方式调用各云产品API,无须登录控制台,就可以对用户的云资产进行管理和维护。多产品集合阿里云命令行工具包含了ECS、RDS、SLB等阿里云基础设施产品的功能,能够在同一个命令行下完成所有的基础产品的配置和管理工作,做到真正的多产品集成。多版本OpenAPI兼容阿里云命令行工具全面兼容各产品不同版本OpenAPI,用户可以通过命令行工具直接进行版本切换,方便快捷。命令自动补全阿里云命令行工具提供了丰富的帮助支持以及命令自动补齐功能,无须记忆复杂的产品命令即可轻松完成操作。提供主动在线更新检查,提醒用户自主升级。2.特色功能12.3.1CLI概述多账户支持阿里云命令行工具提供了多账户支持,可以在一个工具中定义不同的账户,定制不同的执行权限,满足权限分层分级的需求。在线帮助和更新阿里云命令行工具提供了help命令获得当前可用的操作以及当前操作可用的参数信息,用户无须记忆复杂参数,可以一边查阅一边使用。当SDK发生更新时在线实时升级。多种格式输出阿里云命令行工具提供了多种输出格式,包含Text、JSON以及Table格式。可以由用户灵活地掌控所需要的输出格式。多平台支持阿里云命令行工具支持在Windows、Mac、Linux/UNIX等多系统上安装使用,满足不同系统类型开发者需求。2.特色功能12.3.2CLI的安装和配置阿里云命令行工具CLI支持在多种系统上安装和使用。用户可以通过下载安装包(目前阿里云提供三种版本:Windows、Linux和MacOS(x64版本))或者直接编译源码的方式来安装阿里云CLI。1.CLI安装12.3.2CLI的安装和配置在使用阿里云CLI进行服务器访问和管理云服务之前,用户需要进行配置凭证信息、地域、语言,配置环境变量等操作。配置步骤如下:(1)配置凭证。在使用阿里云CLI之前,用户需要配置调用阿里云资源所需的凭证信息、地域、语言等。(2)其他configure命令操作。(3)使用HTTP代理。(4)命令自动补全功能。2.CLI配置12.3.3CLI使用方法(1)命令行结构阿里云命令行工具使用的结构如下:第一部分是阿里云工具名。第二部分指定一个顶级命令,通常表示阿里云命令行工具中支持的阿里云的基础服务(如ECS/RDS/MTS等),也可以是工具本身的命令(“help”“configure”)等。每个阿里云服务均拥有指定要执行的操作的附加子命令,也就是具体的某一项操作。在操作之后,是这个操作具体对应的参数列表,参数列表的顺序不会对命令的使用产生影响。$aliyuncli<command><subcommand>[optionsandparameters]1.使用方法12.3.3CLI使用方法(2)全局参数阿里云命令行工具执行时,支持全局参数的临时设置,用户可以根据需要调整。目前支持的全局参数如下:--AccessKeyId:指定当前命令执行时API请求中的AccessKeyID。如果不指定或者值为空,则使用默认的全局AccessKeyID。--AccessKeySecret:指定当前命令执行时API请求中的AccessKeySecret。如果不指定或者值为空,则使用默认的全局AccessKeySecret。--RegionId:指定当前命令执行时API请求对应的Region。如果不指定,则会用全局的RegionId。--output:指定当前命令执行时要显示的格式。1.使用方法12.3.3CLI使用方法(2)全局参数阿里云命令行工具执行时,支持全局参数的临时设置,用户可以根据需要调整。目前支持的全局参数如下:--profile:指定当前命令执行时采用的账户信息是哪一个。如果指定的账户信息不存在,则会选择默认账户信息。另外,如果“--profile”和其他全局参数同时出现,则优先级低于其他全局参数。例如,“--profile”和“--AccessKeyId”同时出现,优先选择“--AccessKeyId”作为“AccessKey”。--version:指定当前命令执行时采用的产品OpenAPI版本信息。如果没有配置,那么执行命令时会选择当前系统安装的最新的版本去执行。1.使用方法12.3.3CLI使用方法(3)查看在线帮助阿里云命令行工具为了便于用户使用,提供了在线帮助命令,用户可以通过“help”命令查看和了解。1.使用方法12.3.3CLI使用方法(4)参数值输入的要求阿里云命令行工具在调用时,可能需要传递相应的值给命令行工具。1.使用方法12.3.3CLI使用方法阿里云命令行工具支持多账户系统的管理操作,用户可以根据需要配置多个AccessKey、AccessKeySecret、Region和Output,这样可以更加灵活地支持各种不同的需求。基本命令结构如下:$aliyuncliconfigure[set/get/list]--profileprofilename--keyvalue--key1value12.多账户使用12.3.3CLI使用方法阿里云SDK以产品为维度,用户可以根据自己的需求分别安装和使用,而且可以选择各个不同的SDK版本(对应于不同的OpenAPI版本)。阿里云命令行工具中,用户可以轻松地配置想要的产品版本。如果不配置,工具默认会采用最新的版本工作。配置示例如下:$aliyuncliecsConfigVe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论