Python软层API调用中的“tags”参数SoftLayer.VSManager.list\u实例()未按预期工作

2024-06-16 09:14:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用软层实例和Slurm实现一个云爆炸系统。但是我在Python软层API上遇到了一个问题。你知道吗

当我试图通过API调用获取一些特定实例的列表时SoftLayer.VSManager.list\u实例()我使用参数'tags',因为我标记了实例来对它们进行分类。但它并没有像预期的那样起作用。你知道吗

它应该查找其“tagReferences”字段与您在API调用中传递的参数“tags”的值匹配的实例。你知道吗

但是,我得到了一个包含所有节点的列表,这些节点的“tagReferences”字段不是空的。不管我作为“tags”参数传递的值是什么。你知道吗

我有以下节点:

  • hostname:'node000'标记:'slurm,node'
  • hostname:'node005'标记:'test'

我运行以下脚本:

import os
import SoftLayer

os.environ["SL_USERNAME"] = "***"
os.environ["SL_API_KEY"] = "******"

client = SoftLayer.Client()
mgr = SoftLayer.VSManager(client)

for vsi in mgr.list_instances(tags = 'slurm'):
  print vsi['hostname']

这是我得到的结果:

node000
node005

我尝试将不同的值作为“tags”参数传递(见下文),但总是得到上面显示的相同结果,即使是最后一个。你知道吗

作为“tags”参数传递的一组值:

slurm, node
slurm
node
test
random

我错过什么了吗?你知道吗

我写了一张票给Softlayer支持团队,但他们认为我的脚本应该工作,他们向我保证,标签功能确实工作。甚至他们明确告诉我来这里问,因为他们不知道发生了什么。你知道吗


Tags: 实例标记apinode列表参数节点os
1条回答
网友
1楼 · 发布于 2024-06-16 09:14:49

根据您正在使用的方法的documentation,您需要发送一个标记列表,因此通过如下列表更改字符串:

client = SoftLayer.Client()
mgr = SoftLayer.VSManager(client)

for vsi in mgr.list_instances(tags = ['mytag']):
  print (vsi['hostname'])

敬礼

相关问题 更多 >