Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python return self.request(';POST';,url,data=data,**kwargs)TypeError:request()获取了意外的关键字参数';json';_Python_Python 2.7_Api_Amazon Ec2 - Fatal编程技术网

Python return self.request(';POST';,url,data=data,**kwargs)TypeError:request()获取了意外的关键字参数';json';

Python return self.request(';POST';,url,data=data,**kwargs)TypeError:request()获取了意外的关键字参数';json';,python,python-2.7,api,amazon-ec2,Python,Python 2.7,Api,Amazon Ec2,我试图创建一个事件到服务器,这是托管在另一台ubuntu机器 我将下面的代码保存为test.py文件,当我在本地ubuntu机器上执行时,它工作正常,但当我在远程aws ec2机器上执行时,它会抛出错误 from irisclient import Irisclient client = IrisClient( app='oncall', key='magic', api_host='http://192.168.54.101:16649' ) client.incident(plan='On

我试图创建一个事件到服务器,这是托管在另一台ubuntu机器

我将下面的代码保存为test.py文件,当我在本地ubuntu机器上执行时,它工作正常,但当我在远程aws ec2机器上执行时,它会抛出错误

from irisclient import Irisclient
client = IrisClient(
app='oncall',
key='magic',
api_host='http://192.168.54.101:16649'
)

client.incident(plan='Oncall test', context=
{
  "description": "hello",
  "requester": "joe"
}
               )
错误日志

  File "/usr/lib/python2.7/dist-packages/irisclient/__init__.py", line 52, in incident
    r = self.post(self.url + 'incidents', json=incident_json)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 377, in post
    return self.request('POST', url, data=data, **kwargs)
TypeError: request() got an unexpected keyword argument 'json'

我认为,因为您的上下文数据是dict,请尝试将上下文数据转换为json,如下所示:

import json
from irisclient import Irisclient

client = IrisClient(
    app='oncall',
    key='magic',
    api_host='http://192.168.54.101:16649'
)

data = {
    "description": "hello",
    "requester": "joe",
}

client.incident(plan='Oncall test', context=json.dumps(data))

这似乎是您的irisclient包中的一个bug。阅读回溯。它说在irisclient/\uuuuu init\uuuuupy.py的第52行,您正在调用self.post,这显然是从请求模块调用某个实例。。。您的iRiscClient代码正在传递一个关键字参数json=。。。通过那个电话

但是请求库不识别这个关键字参数(kwarg)。因此它抛出了TypeError(来自../requests/sessions.py的第377行)


也许您需要通过data=选项传递JSON,如下所述:

我刚刚将python升级到3.5版本,它可以在不修改代码的情况下工作