Я хотел бы отправить данные из экземпляра Google VM в Google Pub / Sub, используя Ansible.
Ansible playbook
---
- hosts: localhost
tasks:
- name: Write into log file
local_action:
shell echo "Hello" >> /etc/ansible/log.txt
- name: Send message through pubsub
shell: python pub.py project-344421 topic_test
args:
chdir: /home/pubsub
Ошибка
"msg": "non-zero return code",
"rc": 1,
"start": "2020-04-14 18:20:00.723265",
"stderr": "Traceback (most recent call last):\n File \"pub.py\", line 22, in <module>\n from google.cloud import pubsub_v1\nImportError: No module named google.cloud",
"stderr_lines": [
"Traceback (most recent call last):",
" File \"pub.py\", line 22, in <module>",
" from google.cloud import pubsub_v1",
"ImportError: No module named google.cloud"
],
"stdout": "",
"stdout_lines": []
Вручную, скрипт pub.py
работает правильно с python pub.py project-344421 topic_test
Вывод
der_topic
Published message Hello
now has message ID 874436722336138
Published 1 message(s).
Установлены модули google.cloud, google-cloud-pubsub и google-auth
pip install --upgrade google-cloud
pip install --upgrade google-cloud-pubsub
pip install --upgrade google-auth