解决了

通过API执行runbook时错误"'NoneType'对象没有'get'属性"

  • 2021年11月24日
  • 7回复
  • 44岁的观点

Userlevel 1
徽章 +1

嗨。

我了这篇文章这篇文章我正确地发送了参数,运行簿中的变量被设置为Runtime。

我也在做一个POST调用,但我仍然得到一个内部服务器错误的消息“'NoneType'对象没有属性'get'”。

下面是我的呼叫正文:


"规范":{
“参数”:(

“名称”:“电子邮件”,
“价值”:“mema@tlke.se”
},

“名称”:“displayName”,
“价值”:“妈妈MEmem”
},

“名称”:“用户名”,
“价值”:“momemom”
},

“名称”:“帐号名称”,
value: MAM, MSM 1
},

“名称”:“ticketID”,
“价值”:“794”





运行簿有多个任务,这会改变我向它发送参数的方式吗?

谢谢。

图标

最佳答案JoseNutanix2021年12月3日14:00

Hi Martin,<\/p>

No worries, two things here. With just the first one is enough to make it work, but you can even simplify more:<\/p>

  1. You have to set the Context-Type to application\/json<\/strong>\u00a0. With this is enough<\/li>\t
  2. As a bonus to simplify, you can get rid of the header for Cookie. With Authorization is enough.\u00a0<\/li><\/ol>","className":"post__content__best_answer"}">
查看原始

7回复

Userlevel 4
徽章 +5

嗨,马丁,

不确定这是否是问题所在,但您的JSON有效负载不符合要求。你必须从有效载荷的末尾去掉两个花括号。

关于任务的数量,这并不重要。如果您仍然有问题,制作一个简单的运行手册,使用单个任务和单个变量进行练习,并检查它是否适合您。确认之后,再转到失败的那个。

Userlevel 1
徽章 +1

你好何塞。

哎!我用pretty tier检查了JSON的语法,没有得到任何错误,所以我认为它是合理的。这就是我假设的结果。

不幸的是,这没有帮助,我仍然得到相同的错误。我用一个超级简单的运行簿试试,看看。

谢谢您的快速回复。

Userlevel 1
徽章 +1

你好何塞。

我使用超级简单的运行簿也没关系。我甚至复制了你画的那个这篇文章,仍然得到相同的错误。:/

我可以查看Calm的登录信息来获取更多信息吗?

Userlevel 4
徽章 +5

嗨,马丁,

您可以在这里粘贴您的请求curl格式吗?你可以把敏感信息匿名。

Userlevel 1
徽章 +1

你好何塞。

对不起,回复晚了。这是curl请求,减去一些潜在的敏感内容:

curl——location——request POST 'https://[prism-central-server]:9440/api/nutanix/v3/runbooks/93fe2c76-4562-45bc-e34e-20a727e33e12/run' \
——header 'Content-Type: application/*' \
——header '授权:基本的(已删除)' \
——header 'Cookie: NTNX_IGW_SESSION=(已删除)' \
——data-raw”{
"规范":{
“参数”:(

“名称”:“VAR_TEST”,
"value": "THIS IS A TEST"



}'

Userlevel 4
徽章 +5

嗨,马丁,

别担心,这里有两件事。只要第一个就足够了,但你可以简化更多:

  1. 您必须将上下文类型设置为application/json.这样就够了
  2. 为了简化,你可以去掉Cookie的头文件。有授权就足够了。
Userlevel 1
徽章 +1

啊,谢谢!

不确定我从哪里得到的应用程序/*头(我可能复制了一个请求,没有注意到),cookie是来自Postman -我没有在我的实际请求中。

非常感谢您的帮助!

回复


Baidu