在 Softlayer 中实现 KVM 控制台登录

Implement KVM Console Log in Softlayer

我正在执行 KVM 控制台日志,但是 API 从来没有 returns 任何数据。 这是我的示例代码实现的。如果您发现任何疑问,请告诉我。

import com.softlayer.api.ApiClient;
import com.softlayer.api.RestApiClient;
import com.softlayer.api.service.Account;
import com.softlayer.api.service.network.logging.Syslog;
import com.softlayer.api.service.user.Customer;
import com.softlayer.api.service.virtual.Guest;

    private void kvmConsoleLogs() {

        Guest.Service gService = Guest.service(client, 21138311L);
        List<Syslog> conList = gService.getConsoleAccessLog();

        for (Syslog syslog : conList) {

            System.out.println(" port : " + syslog.getSourcePort());
            System.out.println(" message : " + syslog.getMessage());
            System.out.println(" event type : " + syslog.getEventType());

        }
    }

由于某些原因,您需要在调用 getConsoleAccessLog 方法时设置 resultLimits

尝试使用 REST 来验证:

GET https://$USERNAME:$APIKEY@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/$VIRTUALGUESTID/getConsoleAccessLog?resultLimit=0,25

因此在 JAva 中设置 resultLimit 如下:

gService.setResultLimit(new ResultLimit(25));

然后重试。

有关 Java 客户端中 resultLimit 的更多信息,请参阅此处的分页部分:

https://github.com/softlayer/softlayer-java

此致