GetWebTerminal - 获取进入容器的链接

获取进入容器的连接。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

当前API暂无授权信息透出。

请求语法

GET /api/v1/jobs/{JobId}/pods/{PodId}/webterminal

请求参数

名称类型必填描述示例值
JobIdstring

任务 ID。

dlc-20210126170216-******
PodIdstring

任务 Pod ID。

dlc-20210126170216-****-chief-0
PodUidstring

Pod UID。

94a7cc7c-0033-48b5-85bd-71c63592c268
IsSharedboolean

是否创建用于分享的进入容器链接。

若为是,返回用于分享的进入容器链接,链接在三十秒内失效且仅可被使用一次。进入容器链接被使用一次后,其他使用该链接的进入容器请求将无效。

若为否,返回普通的进入容器链接,链接在三十秒内失效。使用该链接需进行阿里云身份认证。

true

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

此次调用的请求 ID,用于诊断和答疑。

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
WebTerminalUrlstring

进入容器的链接。链接为 WebSocket URL。用户需构建 WebSocket 客户端。 客户端中关于 WebSocket 的通信格式可参考以下代码:

ws = new WebSocket(
    `wss://xxxxx`,
  );
  ws.onopen = function open() {
    console.warn('connected');
    term.write('\r');
  };

  ws.onclose = function close() {
    console.warn('disconnected');
    term.write('Connection closed');
  };

  // 收到后端返回
  ws.onmessage = function incoming(event) {
    const msg = JSON.parse(event.data);
    console.warn(msg);
    if (msg.operation === 'stdout') {
      term.write(msg.data);
    } else {
      console.warn('invalid msg operation: ' + msg);
    }
  };

  // 控制台输入
  term.onData(data => {
    const msg = { operation: 'stdin', data: data };
    ws.send(JSON.stringify(msg));
  });

  term.onResize(size => {
    const msg = { operation: 'resize', cols: size.cols, rows: size.rows };
    setTimeout(() => ws.send(JSON.stringify(msg)), 15000);
  });

  fitAddon.fit();
};
wss://*****

示例

正常返回示例

JSON格式

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
  "WebTerminalUrl": "wss://*****"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-11-07OpenAPI 入参发生变更查看变更详情
2023-07-21OpenAPI 返回结构发生变更查看变更详情