0

我正在使用 pyvmomi 示例代码示例在 vCenter 中查询其名称的数据存储:

si = connect.SmartConnectNoSSL(host=192.168.1.2, user=Administrator,  pwd=password, port=443)
content = si.RetrieveContent()
container = content.viewManager.CreateContainerView(content.rootFolder, [vim.Datastore], True)

for c in container.view:
    if c.name == "datastore-01":
        vim_obj = c
        break
return vim_obj

如果只有一个数据中心,这工作得很好。但是,如果我在每个数据中心中都有多个具有相同名称数据存储的数据中心,则查询仅返回它找到的第一个数据存储。我能够发现content.rootFolder.childEntity[].datastoreFolder.childEntity[]数据存储在路径中,但想知道如何查询数据中心中的特定数据存储。

4

1 回答 1

1

想出了我的问题的解决方案。发布如果其他人在寻找答案:

for c in container.view:                             
     if c.name == "datacenter-01":                 
         datastores = c.datastoreFolder.childEntity   
         for datastore in datastores:                 
             if datastore.name == "datastore-01":
                 vim_obj = datastore
                 break
return vim_obj
于 2018-01-23T21:23:49.780 回答