首页 > 解决方案 > 如何从 Python API 获取 Softlayer 机器上的当前活动事务?

问题描述

slcli 可以选择使用slcli vs detail machine_name | grep active_transaction. Softlayer 的 Python API 上的等效函数是什么?

更具体地说,我想知道救援事务何时完成。 slcli vs detail *** | grep active_transaction active_transaction RESCUE_BOOT
slcli vs detail *** | grep active_transaction active_transaction CLOUD_ISO_BOOT_TEAR_DOWN
slcli vs detail *** | grep active_transaction active_transaction CONFIGURE_CLOUD_NETWORK
slcli vs detail *** | grep active_transaction active_transaction NULL

是否可以通过python API获取上述信息?

标签: ibm-cloud-infrastructureapiconnect

解决方案


试试下面的例子,

import SoftLayer

USERNAME = 'set me'
API_KEY = 'set me'

vsiId = 111222333

client = SoftLayer.create_client_from_env(username=USERNAME, api_key=API_KEY)

try:
    active_transaction = client['Virtual_Guest'].getActiveTransaction(id=vsiId)    
    print(active_transaction)
except SoftLayer.SoftLayerAPIError as e:
    pp("Unable to retrieve active transaction: %s, %s " % (e.faultCode, e.faultString))

getActiveTransaction在没有事务时返回 null,因此这意味着它已完成,如果要检查最后一个事务,请改用getLastTransaction方法


推荐阅读