详情页标题前

阿里云ECS云服务器快速入门-云淘科技

详情页1

本章节以CreateSnapshot为例,为您演示如何通过阿里云CLI、OpenAPI开发者门户和阿里云SDK等开发者工具调用ECS API。

背景信息

调用API时,您可以根据API文档了解使用说明,并查询必选的请求参数。发送请求后报错时,您可以在相应API文档中获取错误码说明。

调用方式

  • 阿里云CLI示例:适用于常使用命令行工具的场景。请确保您已经为ECS实例安装了阿里云CLI,在不同操作系统中安装CLI的方式请参见:
    • 在Windows上安装阿里云CLI
    • 在Linux上安装阿里云CLI
    • 在macOS上安装阿里云CLI
  • OpenAPI开发者门户示例:适用于习惯交互式操作界面的场景,或者初次使用阿里云产品的开发者用户。您可以在OpenAPI开发者门户中调试和获取SDK请求示例。更多有关OpenAPI开发者门户的详情,请参见OpenAPI开发者门户。
  • Java SDK示例:适用于SDK编码或DevOps等场景。要求您已提前安装了ECS Java SDK,安装方式请参见安装Java SDK。

阿里云CLI示例

  1. 获取实例ID。
    • 如果您已远程连接到ECS实例,可以通过实例元数据获取实例ID。
      curl http://100.100.100.200/2016-01-01/meta-data/instance-id
    • 在本地计算机中,您可以通过DescribeInstances获取实例ID。
      aliyun ecs DescribeInstances --output cols=InstanceId,InstanceName rows=Instances.Instance[]
  2. 使用DescribeDisks筛选云盘ID。
    aliyun ecs DescribeDisks --RegionId cn-hangzhou --InstanceId i-bp1afnc98r8k69****** --output cols=DiskId rows=Disks.Disk[]
  3. 使用CreateSnapshot根据云盘ID创建快照。
    aliyun ecs CreateSnapshot --DiskId d-bp19pjyf12hebp******

    返回以下信息时,表示已成功发起创建任务。

    {"RequestId":"16B856F6-EFFB-4397-8A8A-CB73FA******","SnapshotId":"s-bp1afnc98r8kjh******"}
  4. 使用DescribeSnapshots查询快照创建状态。
    aliyun ecs DescribeSnapshots --RegionId cn-hangzhou --InstanceId i-bp1afnc98r8k69******

    "SnapshotId"="s-bp1afnc98r8kjh******""Status":"accomplished"同时出现,表示快照已成功创建。

OpenAPI开发者门户示例

  1. 通过DescribeInstances获取实例ID和云盘ID。
  2. 通过CreateSnapshot根据云盘ID创建快照。
  3. 使用DescribeSnapshots查询快照创建状态。当"SnapshotId"="s-bp1afnc98r8kjh******""Status":"accomplished"同时出现,表示快照已成功创建。

Java SDK示例

示例代码中的下列参数需要您根据实际情况自行填写。

  • :您的AccessKey ID。获取方式请参见创建AccessKey。
  • :您的AccessKey Secret。
  • :ECS实例所在的地域ID。取值请参见地域和可用区或DescribeRegions。
  • :云盘ID。取值请参见DescribeDisks。
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.ecs.model.v20140526.CreateSnapshotRequest;
import com.aliyuncs.ecs.model.v20140526.CreateSnapshotResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;

/* pom.xml

    com.aliyun
    aliyun-java-sdk-core
    3.0.9


    com.aliyun
    aliyun-java-sdk-ecs
    4.10.1

*/  

public class CreateSnapshotExample {

    private String accessKeyId = "";
    private String accessSecret = "";

    /**
     * 云盘所在的地域ID
     */
    private String regionId = "";

    /**
     * 要创建快照的云盘ID
     */
    private String diskId = "";

    public void createSnapshot() {
        DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessSecret);
        IAcsClient client = new DefaultAcsClient(profile);

        CreateSnapshotRequest request = new CreateSnapshotRequest();
        request.setRegionId(regionId);
        request.setDiskId(diskId);
        try {
            CreateSnapshotResponse response = client.getAcsResponse(request);
            logInfo(response.getSnapshotId());
        } catch (ServerException e) {
            logInfo(String.format("Fail. Something with your connection with Aliyun go incorrect. ErrorCode: %s",
                e.getErrCode()));
        } catch (ClientException e) {
            logInfo(String.format("Fail. Business error. ErrorCode: %s, RequestId: %s",
                e.getErrCode(), e.getRequestId()));
        }
    }

    private static void logInfo(String message) {
        System.out.println(message);
    }

    public static void main(String[] args) {
        new CreateSnapshotExample().createSnapshot();
    }
}

腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/150298.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。