首页 文章

过滤器如何在python中使用softlayer API

提问于
浏览
0

我试图通过使用过滤器的softlayer API获取 storageID . 但即使我用方法应用过滤器,它也会给我列出所有存储空间 .

import SoftLayer

import json

storagename = "ABC-123"

client = SoftLayer.Client()

accountservice = client['SoftLayer_Account']

objectFilterstorage = {"username": {"operation": storagename}}

storageId = accountservice.getNetworkStorage(filter=objectFilterstorage)

print storageId

另外,我们如何在获取特定产品列表时找出需要哪些属性?

在这里,我找到了属性并将列表列入'objectFilterstorage' . 但我仍然困惑它是如何运作的 .

1 回答

  • 0

    尝试以下python脚本:

    """
    This script retrieves storage identifier through name
    
    Important manual pages:
    http://sldn.softlayer.com/reference/services/SoftLayer_Account/getNetworkStorage
    http://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_Storage
    
    License: http://sldn.softlayer.com/article/License
    Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
    """
    import SoftLayer
    
    # Your SoftLayer API username and key.
    USERNAME = 'set me'
    API_KEY = 'set me'
    
    # Define username name from the storage
    storageUsername = 'SL345234'
    
    # Declaring the API client
    client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
    # Define an object mask to get additional information from servers
    objectFilter = {"networkStorage": {"username": {"operation": storageUsername}}}
    
    try:
        storageResult = client['SoftLayer_Account'].getNetworkStorage(filter=objectFilter)
        for storage in storageResult:
            print("Storage Id: %s" % storage['id'])
    
    except SoftLayer.SoftLayerAPIError as e:
        print(('Error faultCode=%s, faultString=%s'
        % (e.faultCode, e.faultString)))
    

    另外,我可以建议查看以下链接,以清楚了解objectFilters的工作原理:

    我希望它有所帮助,请让我知道任何疑问或评论

相关问题