如何从Python API获取Softlayer计算机上的当前活动事务?

时间:2018-08-17 17:44:02

标签: ibm-cloud-infrastructure apiconnect

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获取以上信息?

1 个答案:

答案 0 :(得分:0)

尝试以下示例

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在没有事务时返回空值,这意味着它已完成,如果要检查最后一个事务,请使用方法getLastTransaction