千家信息网

如何通过API创建云服务器

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下如何通过API创建云服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通过API创建云服务器的9个步骤
千家信息网最后更新 2026年11月02日如何通过API创建云服务器

小编给大家分享一下如何通过API创建云服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!


通过API创建云服务器的9个步骤(以指定镜像方式创建云服务器为例)

步骤一:确定待创建云服务器所在的可用区。

1、查询可用区。

(1)接口相关信息

URI格式:GET /v2.1/{project_id}/os-availability-zone

(2)请求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-availability-zone

(3)响应示例

 {  "availabilityZoneInfo": [    {      "hosts": null,      "zoneState": {        "available": true      },      "zoneName":"zone_01"     },    {      "hosts": null,      "zoneState": {        "available": true      },      "zoneName": "zone_01"     }  ]}

2、根据实际需要选择可用区,并记录可用区的zoneName。

步骤二:确定待创建云服务器的规格。

1、查询云服务器规格信息。

(1)接口相关信息

URI格式:GET/v2.1/{project_id}/flavors/detail{?minDisk,minRam,is_public,sort_key,sort_dir}

其中,"?"后的字段为查询规格时可选的查询检索参数。

(2)请求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/flavors/detail

(3)响应示例

{  "flavors": [    {      "name": "c1.2xlarge",      "links": [        {          "href": "https://xxx/v2.1/74610f3a5ad941998e91f076297ecf27/flavors/c1.2xlarge",          "rel": "self"        },        {          "href": "https://xxx/74610f3a5ad941998e91f076297ecf27/flavors/c1.2xlarge",          "rel": "bookmark"        }      ],      "ram": 8192,      "OS-FLV-DISABLED:disabled": false,      "vcpus": 8,      "swap": "",      "os-flavor-access:is_public": true,      "rxtx_factor": 1,      "OS-FLV-EXT-DATA:ephemeral": 0,      "disk": 0,      "id": "c1.2xlarge"    }]}

2、 根据实际需要选择规格,并记录规格的ID。

步骤三:确定待创建云服务器使用的镜像。

1、查询镜像。

(1)接口相关信息

URI格式:GET /v2.1/{project_id}/images/detail

(2)请求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/images/detail

(3)响应示例

{  "images": [    {      "OS-EXT-IMG-SIZE:size": 0,      "metadata": {        "__os_type": "Linux",        "hw_vif_multiqueue_enabled": "true",        "__imagetype": "gold",        "__quick_start": "true",        "virtual_env_type": "FusionCompute",        "__support_xen": "true",        "__support_kvm": "true",        "__image_source_type": "uds",        "__platform": "EulerOS",        "__os_version": "EulerOS 2.2 64bit",        "__os_bit": "64",        "__isregistered": "false"      },      "created": "2018-05-14T06:13:50Z",      "minRam": 0,      "name": "DBS-MySQL-Image_2.1.3.3",      "progress": 100,      "links": [        {          "rel": "self",          "href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4"        },        {          "rel": "bookmark",          "href": "https://None/74610f3a5ad941998e91f076297ecf27/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4"        },        {          "rel": "alternate",          "href": "https://None/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4",          "type": "application/vnd.openstack.image"        }      ],      "id": "11e8f727-d439-4ed1-b3b8-33f46c0379c4",      "updated": "2018-05-14T06:13:52Z",      "minDisk": 40,      "status": "ACTIVE"    }  ]}

2、根据需要选择镜像,并记录镜像ID。

步骤四:确定云服务器的网络信息。

1、查询网络。

(1)接口相关信息

URI格式:GET /v2.1/{project_id}/os-networks

(2)请求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-networks

(3)响应示例

{  "networks": [    {      "id": "07a9557d-4256-48ae-847c-415a9c8f7ff6",      "label": "b_tt3_td1b",      "broadcast": null,      "cidr": null,      "dns1": null,      "dns2": null,      "gateway": null,      "netmask": null,      "cidr_v6": null,      "gateway_v6": null,      "netmask_v6": null    }  ]}

2、根据需要选择网络,并记录网络ID。

步骤五:设置密钥对登录方式。

如需设置为密码登录方式,请直接跳转至步骤七。

1、创建密钥对。

(1)接口相关信息

URI格式:POST /v2.1/{project_id}/os-keypairs

(2)请求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-keypairs

Body:

{    "keypair": {        "type": "ssh",        "name": "demo1",        "user_id": "fake"    }}

(3)响应示例

{  "keypair": {    "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrR5Gcwlh6ih7JOvzIUuQxS5qzWWPMYHeDXkDKSQ9W5pumOV05SiO3WCswnaQ5xMdOl31mNiHtwlwq9dJi7X6jJBB2shTD+00G5WuwkBbFU4CLvt1B44u0NUiaTJ35NAvW2/4XvpXm9OwiQ3B5ge6ZY7Esi38Unh+pkbhPkYxNBCK8yoOlojQhWs75abdxZBi811/8RwLcNiFiocA2RGxtRjBdpEScj+1TU+OcfZdQnr0AFbO11z7yxfIygwwzVTgUuJNbMbKHStQqRbklfMlHY4RBPQgb7RN/YaXKTQSXT84k+D9xlDNo7Wj4fwOJTOz/s/PvbIOqjRHt9D6Y4IKd Generated-by-Nova\n",    "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAq0eRnMJYeYoeyTr8yFLkMUuas1ljzGB3g15AykkPVuabpjld\nOUojt1grMJ2kOcTHTpd9ZjYh7cJcKvXSYu1+oyQQdrIUw/tNBuVrsJAWxVOAi77d\nQeOLtDVImkyd+TQL1tv+F76V5vTsIkNweYHumWOxLIt/FJ4fqZG4T5GMTQQivMqD\npaI0IVrO+Wm3cWQYvNdf/EcC3DYhYqHANkRsbUYwXaREnI/tU1PjnH2XUJ69ABWz\ntdc+8sXyMoMMM1U4FLiTWzGyh0rUKkW5JXzJR2OEQT0IG+0Tf2Glyk0El0/OJPg/\ncZQzaO1o+H8DiUzs/7Pz72yDqo0R7fQ+mOCCnQIDAQABAoIBAA6/c9dGmK2mae4z\nyQ5KrOFdvC1TNhej+sZx+CwyzEJUSvSuHcvQCXFBAz8FY92hhvPKcX66jINXZ+4/\nCmWAQ5YyhcRiow0Y91HvsS0bywoknX3q6kxBFodmyyCWFkgd5iMTADb1Lx0a27Y7\njlS4Dl5gyiGmxUN2Ng24wWEAjE8ZNuI0lrtr5IZKp+s5IAi/rb5AG/mL7EzicE8c\nmGP+QAa+nzwhAwNhFwVID230xen/ZcoL1d77hxeARNqJUxoR25gwJd6Ebg2y9pDW\nVu6cbbzgdGUCfQYlMEoAamAkCswOsDpVDBXwQnt2A537n6Wq2bgYIKusHr9thtxP\n/5ubQLUCgYEA4zYuBG2vtLHnvce26P8o2j1xcJS9K0ozkah9JFl3hqFN0sAqLlz7\n/Fm1jA4kzHJS3d0UqP3AMDxY3HkIqCn4Be7lqeAAe2AfqkOZpt9MDNv4VwKe9sPb\nViW1qjL3FxziLC/YWTRNSlpwRjqJJGhA+UQt8rOia1k/zXmrEs7bXLcCgYEAwPsu\nK3j5QoAiziYVMYf5iCzWwAM9Ljpf9gw23lefTdIzhhfFtJplVRSyxRGU0UZ84GMI\nTd5zmcIF/1KUfhqmeiQzz6NIPEYEReahjpQ/sOH/Gk5Rwr3QwYPrwAu5x+kk/SRi\nKPkqw7APTR0sMQBcUq+ZYwGYLGPMdd1zUdLfb0sCgYBkuz11iydtxb3G/obSD2WO\nM9VaIycmzRPFzNwGRH/gOR0mhTluKp0wyJjbSd34oeqpH/2r2ivddrOysxoqa8jg\n4IQDZyLvj7MaKjQxrieqP89+y9Or9TMFo1xB46x2G8EN8/xHuA9YGnZSPFtWv72m\nhRqV0hv82amWsA0vHnRUSwKBgDsKHXvrTMbNkNhkykMXCH5iyWiBFSyZa1ZJMlgf\nknsqfdzeVPwF6E55QKAN2uuTlwzG/3ljPxahR1hvmUJjQN9JSBiUKbtW6GPCRVbr\nf/jLi1Iu99COZdluVKeybqn8Z/aSNP24DR9FM8kxzZ1IMPaTBmhFypp6BclhcLBt\nxTG1AoGAfcrkVbV1SOy7fECUtMpUECcw0yU4GWj3sR2RbII63C500RVYQlUpUaRR\naANbASHTVR4myOKtGSxEUhAQHlxFDwsDL7W3gzAqTFbEDp1xAAUyT/nkOAhQjEm4\nORFdDETeXLQG1KMUj+8AdnhfYp3JTdft6rmPpZEBUFiCAUMAvb0=\n-----END RSA PRIVATE KEY-----\n",    "user_id": "f79791beca3c48159ac2553fff22e166",    "name": "demo1",    "fingerprint": "57:a7:a2:ed:5f:aa:e7:54:62:2e:bb:e7:92:22:cb:40"  }}

2、导入密钥。

(1)接口相关信息

URI格式:POST /v2.1/{project_id}/os-keypairs

(2)请求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/os-keypairs

Body:

{    "keypair": {        "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY8wMTdBYiJgi62o6eShoOlSKx3CZ3cE6PHisDblfK3Y0Bg7EHV7iV9c74pqsrIhK0xuGUuO1NxDQWbkwLTPN4F9Iy5CIYohLuMIpbln6LDtfRPpdhEh4lxL8MM61gyfpKzeKkwkEpSFj27Rgh7zCyJgBpkA2A0HTP737UlitahL4faCWDIS+Vj6mbcfkWiMhuMCzTZgSKAZ4PfoG4B5HJhR52C6A4XLiQFT9heh9gnIsIG+uTogTKUbcJKuN7M6AraJpul6eHhV9YI4433sDmuiBF/njvreVPWwAHlAkgT9I8q1T/cfEFiwzXpdGbkK5O8NC7K+qNbbdKihlahONt Generated-by-Nova\n",        "type": "ssh",        "name": "demo2",        "user_id": "fake"    }}

(3)响应示例

{  "keypair": {    "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY8wMTdBYiJgi62o6eShoOlSKx3CZ3cE6PHisDblfK3Y0Bg7EHV7iV9c74pqsrIhK0xuGUuO1NxDQWbkwLTPN4F9Iy5CIYohLuMIpbln6LDtfRPpdhEh4lxL8MM61gyfpKzeKkwkEpSFj27Rgh7zCyJgBpkA2A0HTP737UlitahL4faCWDIS+Vj6mbcfkWiMhuMCzTZgSKAZ4PfoG4B5HJhR52C6A4XLiQFT9heh9gnIsIG+uTogTKUbcJKuN7M6AraJpul6eHhV9YI4433sDmuiBF/njvreVPWwAHlAkgT9I8q1T/cfEFiwzXpdGbkK5O8NC7K+qNbbdKihlahONt Generated-by-Nova\n",    "user_id": "f79791beca3c48159ac2553fff22e166",    "name": "demo2",    "fingerprint": "dd:44:45:49:d9:f6:4f:c0:24:2d:81:aa:c4:4b:83:c2"  }}

2、 记录响应消息体中的name信息。如本例中为"demo2"。

步骤六:创建密钥对登录鉴权的云服务器。

(1)接口相关信息

URI格式:POST /v2.1/{project_id}/servers

说明:

本示例是指定image创建云服务器,因此:

● block_device_mapping_v2.1中,"source_type"需设置为"image","uuid"设置为选择的镜像ID,"destination_type"设置为"volume","boot_index"设置为"0"。

● "volume_size"应大于等于镜像元数据中指定的最小值。

(2)请求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers

Body:

{    "server": {        "flavorRef": "c1.large",        "name": "zttestvm1",        "block_device_mapping_v2.1": [{            "source_type": "image",            "destination_type": "volume",            "volume_type": "SATA",            "volume_size": "40",            "delete_on_termination": "true",            "uuid": "11e8f727-d439-4ed1-b3b8-33f46c0379c4",            "boot_index": "0"        }],        "networks": [{            "uuid": "fb68519f-a7c0-476e-98d4-2e4cf6de6def"        }],        "key_name": "demo2",        "availability_zone": "az_test_01"    }}

(3)响应示例

{  "server": {    "security_groups": [      {        "name": "default"      }    ],    "OS-DCF:diskConfig": "MANUAL",    "links": [      {        "rel": "self",        "href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/6d311127-bce1-48db-bf0f-cac9f8f7f077"      },      {        "rel": "bookmark",        "href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/6d311127-bce1-48db-bf0f-cac9f8f7f077"      }    ],    "id": "6d311127-bce1-48db-bf0f-cac9f8f7f077",    "adminPass": "WcC4QoVZPXpV"  }}
步骤七:设置密码登录方式。

(1)使用非cloud-init镜像创建云服务器时,Windows和Linux系统都使用"adminPass"参数实现密码注入。

(2)使用cloud-init镜像创建云服务器时:

l 对于Linux系统,只能使用"user_data"进行密码注入,"user_data"字符串长度小于65535,且必须是base64加密的;

l 对于Windows系统,只能通过元数据"admin_pass"进行密码注入。

步骤八:创建密码方式登录鉴权的弹性云服务器。

说明:

本示例是指定image创建弹性云服务器,因此:

(1)block_device_mapping_v2.1中,"source_type"需设置为"image","uuid"设置为选择的镜像ID,"destination_type"设置为"volume","boot_index"设置为"0"。

(2)"volume_size"应大于等于镜像元数据中指定的最小值。

1、创建非cloud-init镜像、密码方式登录鉴权的弹性云服务器。

(1)接口相关信息

URI格式:POST /v2.1/{project_id}/servers

(2)请求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers

Body:

{    "server": {        "flavorRef": "c1.large",        "name": "zttestvm1",        "adminPass":"NOVAGLANCEI@123",        "block_device_mapping_v2.1": [{            "source_type": "image",            "destination_type": "volume",            "volume_type": "SATA",            "volume_size": "40",            "delete_on_termination": "true",            "uuid": "11e8f727-d439-4ed1-b3b8-33f46c0379c4",            "boot_index": "0"        }],        "networks": [{            "uuid": "fb68519f-a7c0-476e-98d4-2e4cf6de6def"        }],        "availability_zone": "az_test_01"    }}

(3)响应示例

{  "server": {    "security_groups": [      {        "name": "default"      }    ],    "OS-DCF:diskConfig": "MANUAL",    "links": [      {        "rel": "self",        "href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/73991cff-37c6-491a-9a8a-377397729fce"      },      {        "rel": "bookmark",        "href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/73991cff-37c6-491a-9a8a-377397729fce"      }    ],    "id": "73991cff-37c6-491a-9a8a-377397729fce",    "adminPass": "NOVAGLANCEI@123"  }}

2、创建cloud-init镜像(以Linux为例)、密码方式登录鉴权的弹性云服务器。

(1)接口相关信息

URI格式:POST /v2.1/{project_id}/servers

(2)请求示例

POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers

Body:

{    "server": {        "flavorRef": "c1.large",        "name": "zttestvm2", "user_data":"IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiRuaERlcUIkajBkelVMbkFrbWo4bWlFREFzT0VONkVPdGg1RmdqWnQybUVWZVRocC5OVDJXelZVdzFuNzhnL3dNdDE0dVpSQ1V3LzhHS3VGdEViQ0lPQS5vN1BZQzEnIHwgY2hwYXNzd2QgLWU7",        "block_device_mapping_v2.1": [{            "source_type": "image",            "destination_type": "volume",            "volume_type": "SATA",            "volume_size": "40",            "delete_on_termination": "true",            "uuid": "11e8f727-d439-4ed1-b3b8-33f46c0379c4",            "boot_index": "0"        }],        "networks": [{            "uuid": "fb68519f-a7c0-476e-98d4-2e4cf6de6def"        }],        "availability_zone": "az_test_01"    }}

(3)响应示例

{  "server": {    "security_groups": [      {        "name": "default"      }    ],    "OS-DCF:diskConfig": "MANUAL",    "links": [      {        "rel": "self",        "href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/7c11f362-cc96-4306-85b6-b432a639ca5e"      },      {        "rel": "bookmark",        "href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/7c11f362-cc96-4306-85b6-b432a639ca5e"      }    ],    "id": "7c11f362-cc96-4306-85b6-b432a639ca5e",    "admin_pass": "J3xMSivHCuq5"  }}
步骤九:确认云服务器创建成功。

(1)接口相关信息

URI格式:GET /v2.1/{project_id}/servers/{server_id}

(2)请求示例

GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6

其中:

0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6为创建的云服务器UUID。

(3)响应示例

{  "server": {    "tenant_id": "74610f3a5ad941998e91f076297ecf27",    "addresses": {      "2a6f4aa6-d93e-45f5-a8cb-b030dbf8cd68": [        {          "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:88:01:1b",          "OS-EXT-IPS:type": "fixed",          "addr": "192.168.2.192",          "version": 4        }      ]    },    "metadata": {},    "OS-EXT-STS:task_state": null,    "OS-DCF:diskConfig": "MANUAL",    "OS-EXT-AZ:availability_zone":  "az_test_01",    "links": [      {        "rel": "self",        "href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6"      },      {        "rel": "bookmark",        "href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6"      }    ],    "OS-EXT-STS:power_state": 1,    "id": "0c71c0da-8852-4c56-a1d1-3a9b9bcb6da6",    "os-extended-volumes:volumes_attached": [      {        "id": "b551445a-e749-4d53-932a-638a455cb6c3"      }    ],    "OS-EXT-SRV-ATTR:host": "pod1_test_01",    "image": {      "links": [        {          "rel": "bookmark",          "href": "https://None/74610f3a5ad941998e91f076297ecf27/images/11e8f727-d439-4ed1-b3b8-33f46c0379c4"        }      ],      "id": "11e8f727-d439-4ed1-b3b8-33f46c0379c4"    },    "OS-SRV-USG:terminated_at": null,    "accessIPv4": "",    "accessIPv6": "",    "created": "2018-05-25T01:47:11Z",    "hostId": "b2792bef989888d2df1f51bff81de5ac58a4117f4e9ec3059c1a0410",    "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova001@36",    "key_name": null,    "flavor": {      "links": [        {          "rel": "bookmark",          "href": "https://None/74610f3a5ad941998e91f076297ecf27/flavors/c1.large"        }      ],      "id": "c1.large"    },    "security_groups": [      {        "name": "default"      }    ],    "config_drive": "",    "OS-EXT-STS:vm_state": "active",    "OS-EXT-SRV-ATTR:instance_name": "instance-001883cd",    "user_id": "f79791beca3c48159ac2553fff22e166",    "name": "zttestvm1",    "progress": 0,    "OS-SRV-USG:launched_at": "2018-05-25T01:47:55.755922",    "updated": "2018-05-25T01:47:55Z",    "status": "ACTIVE"  }}

以上是"如何通过API创建云服务器"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

示例 服务器 服务 信息 镜像 步骤 接口 格式 密码 方式 登录 查询 选择 规格 密钥 弹性 网络 数据 篇文章 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网科技集团 互联网科技公司的优势 科技互联网技术 互联网金融 科技金融 互联网 视角下的科技创新 齐家互联网科技有限公司 多迪互联网科技有限公司 互联网 科技服务平台 互联网科技公司招聘 成都玖崟互联网科技有限公司乐商圈怎么样 新华互联网科技2019 小米互联网科技园设置 深圳育鹏互联网科技有限公司招聘 中国互联网公司排名锤子科技 上海京穆互联网科技有限公司 深圳无忧互联网科技 广州百诚互联网科技有限公司官网 国产互联网科技公司 银川新华互联网科技学校原画 银川新华互联网科技学校招聘 互联网中国科技 致骋互联网科技 伴你行互联网科技有限公司 互联网金融科技委员会 哈尔滨新华互联网科技 恒生科技互联网指数分析 坤平互联网科技 华夏恒生科技与互联网科技 合肥互联网科技公司公章图片 萌小萌互联网科技河南有限公司
0