查询实例详情
curl --request GET \
--url https://www.chenyu.cn/api/open/v2/instance/info \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.chenyu.cn/api/open/v2/instance/info"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.chenyu.cn/api/open/v2/instance/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.chenyu.cn/api/open/v2/instance/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.chenyu.cn/api/open/v2/instance/info"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.chenyu.cn/api/open/v2/instance/info")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.chenyu.cn/api/open/v2/instance/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"code": 123,
"msg": "<string>",
"data": {
"instance_uuid": "<string>",
"status": 123,
"title": "<string>",
"create_time": 123,
"start_time": 123,
"server_url": [
{}
],
"server_map": [
{
"title": "<string>",
"url": "<string>",
"port_type": "<string>",
"protocol": "<string>",
"ssh_info": {
"host": "<string>",
"port": 123,
"username": "<string>",
"password": "<string>"
}
}
],
"save_image_status": 123,
"charging_type": 123,
"shutdown_regular": {
"shutdown_time": 123,
"enable": true
},
"image_uuid": "<string>",
"image_name": "<string>",
"image_tag": "<string>",
"gpu_uuid": "<string>",
"gpu_name": "<string>",
"gpu_nums": 123
}
}实例管理
查询实例详情
查询指定实例的详细信息
GET
/
api
/
open
/
v2
/
instance
/
info
查询实例详情
curl --request GET \
--url https://www.chenyu.cn/api/open/v2/instance/info \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.chenyu.cn/api/open/v2/instance/info"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.chenyu.cn/api/open/v2/instance/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.chenyu.cn/api/open/v2/instance/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.chenyu.cn/api/open/v2/instance/info"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.chenyu.cn/api/open/v2/instance/info")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.chenyu.cn/api/open/v2/instance/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"code": 123,
"msg": "<string>",
"data": {
"instance_uuid": "<string>",
"status": 123,
"title": "<string>",
"create_time": 123,
"start_time": 123,
"server_url": [
{}
],
"server_map": [
{
"title": "<string>",
"url": "<string>",
"port_type": "<string>",
"protocol": "<string>",
"ssh_info": {
"host": "<string>",
"port": 123,
"username": "<string>",
"password": "<string>"
}
}
],
"save_image_status": 123,
"charging_type": 123,
"shutdown_regular": {
"shutdown_time": 123,
"enable": true
},
"image_uuid": "<string>",
"image_name": "<string>",
"image_tag": "<string>",
"gpu_uuid": "<string>",
"gpu_name": "<string>",
"gpu_nums": 123
}
}查询实例详情
查询指定实例的详细信息,包括服务地址、SSH连接信息等。请求参数
string
required
实例UUID
响应参数
integer
响应码
string
响应信息
object
实例详细信息
Show data
Show data
string
实例UUID
integer
实例状态
0: 已创建1: 开机中(首次创建实例的开机;与24的区别是24为关机后的开机)2: 运行中3: 关机中4: 已关机21: 关机中22: 已关机23: 已关机(异常)24: 开机中27: 重启中
string
实例标题
integer
创建时间(Unix时间戳)
integer
启动时间(Unix时间戳)
array
服务地址列表
array
integer
保存镜像状态
integer
计费类型
string
镜像UUID
string
镜像名称
string
镜像标签
string
GPU型号UUID
string
GPU型号名称
integer
GPU数量
代码示例
import requests
from datetime import datetime
url = "https://www.chenyu.cn/api/open/v2/instance/info"
headers = {
"Authorization": "Bearer your_api_key"
}
params = {
"instance_uuid": "instance-uuid-123"
}
response = requests.get(url, headers=headers, params=params)
result = response.json()
if result['code'] == 0:
instance = result['data']
create_time = datetime.fromtimestamp(instance['create_time'])
print(f"实例详情:")
print(f"实例UUID: {instance['instance_uuid']}")
print(f"实例名称: {instance['title']}")
print(f"实例状态: {instance['status']}")
print(f"GPU名称: {instance['gpu_name']}")
print(f"GPU数量: {instance['gpu_nums']}")
print(f"创建时间: {create_time.strftime('%Y-%m-%d %H:%M:%S')}")
if instance['server_url']:
print("\n服务访问地址:")
for url in instance['server_url']:
print(f" - {url}")
if instance['server_map']:
print("\n服务详情:")
for service in instance['server_map']:
print(f" {service['title']}: {service['url']}")
if 'ssh_info' in service:
ssh = service['ssh_info']
print(f" SSH连接: ssh {ssh['username']}@{ssh['host']} -p {ssh['port']}")
else:
print(f"查询失败: {result['msg']}")
const axios = require('axios');
const url = 'https://www.chenyu.cn/api/open/v2/instance/info';
const headers = {
'Authorization': 'Bearer your_api_key'
};
const params = {
instance_uuid: 'instance-uuid-123'
};
axios.get(url, { headers, params })
.then(response => {
const result = response.data;
if (result.code === 0) {
const instance = result.data;
const createTime = new Date(instance.create_time * 1000);
console.log('实例详情:');
console.log(`实例UUID: ${instance.instance_uuid}`);
console.log(`实例名称: ${instance.title}`);
console.log(`实例状态: ${instance.status}`);
console.log(`GPU名称: ${instance.gpu_name}`);
console.log(`GPU数量: ${instance.gpu_nums}`);
console.log(`创建时间: ${createTime.toLocaleString()}`);
if (instance.server_url.length > 0) {
console.log('\n服务访问地址:');
instance.server_url.forEach(url => {
console.log(` - ${url}`);
});
}
if (instance.server_map.length > 0) {
console.log('\n服务详情:');
instance.server_map.forEach(service => {
console.log(` ${service.title}: ${service.url}`);
if (service.ssh_info) {
const ssh = service.ssh_info;
console.log(` SSH连接: ssh ${ssh.username}@${ssh.host} -p ${ssh.port}`);
}
});
}
} else {
console.log(`查询失败: ${result.msg}`);
}
})
.catch(error => {
console.error('Error:', error.response?.data);
});
curl -X GET "https://www.chenyu.cn/api/open/v2/instance/info?instance_uuid=instance-uuid-123" \
-H "Authorization: Bearer your_api_key"
响应示例
{
"code": 0,
"msg": "查询成功",
"data": {
"instance_uuid": "instance-uuid-123",
"status": 2,
"title": "实例标题",
"create_time": 1699000000,
"start_time": 1699001000,
"server_url": ["https://example.com"],
"server_map": [
{
"title": "Web服务",
"url": "https://example.com",
"port_type": "http",
"protocol": "tcp",
"ssh_info": {
"host": "example.com",
"port": 22,
"username": "root",
"password": "password"
}
}
],
"save_image_status": 3,
"charging_type": 1,
"shutdown_regular": {
"shutdown_time": 0,
"enable": false
},
"image_uuid": "image-uuid-123",
"image_name": "pytorch",
"image_tag": "2.0",
"gpu_uuid": "gpu-uuid-123",
"gpu_name": "RTX 4080",
"gpu_nums": 1
}
}
说明
- 只能查看自己的实例
- 如果实例已删除或隐藏,返回错误提示
ssh_info仅在port_type为ssh时存在
⌘I