Ansible EC2 Python错误:ValueError:无法解码JSON对象

mty*_*son 5 python amazon-ec2 ansible

我快乐地继续前进,一切正常,突然间我从所有EC2 Ansible操作中得到错误(关于重建的警告是先前存在而不是问题):

ec2-user]# ansible -m ping -u ec2-user all
/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
  _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
Traceback (most recent call last):
  File "/root/ansible/bin/ansible", line 194, in <module>
    (runner, results) = cli.run(options, args)
  File "/root/ansible/bin/ansible", line 112, in run
    inventory_manager = inventory.Inventory(options.inventory, vault_password=vault_pass)
  File "/root/ansible/lib/ansible/inventory/__init__.py", line 118, in __init__
    self.parser = InventoryScript(filename=host_list)
  File "/root/ansible/lib/ansible/inventory/script.py", line 49, in __init__
    self.groups = self._parse(stderr)
  File "/root/ansible/lib/ansible/inventory/script.py", line 57, in _parse
    self.raw  = utils.parse_json(self.data)
  File "/root/ansible/lib/ansible/utils/__init__.py", line 552, in parse_json
    results = json.loads(data)
  File "/usr/lib64/python2.6/json/__init__.py", line 307, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python2.6/json/decoder.py", line 319, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python2.6/json/decoder.py", line 338, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Run Code Online (Sandbox Code Playgroud)

谁知道什么给了?

如果我尝试运行主机,我得到:

 ec2-user]# /etc/ansible/hosts
Looks like AWS is down again:
EC2ResponseError: 403 Forbidden
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>UnauthorizedOperation</Code><Message>You are not authorized to perform this operation.</Message></Error></Errors><RequestID>9c499f04-3fd8-47cd-a7e4-655af47c1564</RequestID></Response>
Run Code Online (Sandbox Code Playgroud)

我在AWS控制台中的所有操作仍然成功.

ros*_*one 6

我也遇到过这个问题.原来我的AWS密钥出了问题.这是我的建议:

  1. 验证您是否拥有有效密钥.我知道这似乎很明显,但从这里开始:-)
  2. 如果您正在使用export AWS_SECRET_ACCESS_KEY=...它们在您的环境中设置它们,那么围绕它们的标点符号是正确的很重要.我看起来像

export AWS_ACCESS_KEY_ID="ASFSADFSDF" (带引号)

export AWS_SECRET_ACCESS_KEY=ADSFASFAASFASDFSADSFDASDFSADF (没有报价)

  1. 如果您在.zshconfig或.bash_profile中设置它们,请重新启动选项卡或窗口以确保重新读取配置文件并将AWS密钥加载到环境中.

希望有所帮助!