Ansible - скачать файл с Google Drive - PullRequest
0 голосов
/ 10 мая 2018

Я создаю роль в Ansible и застрял на шаге, который требует загрузки общедоступного архива с Google Drive (https://drive.google.com/file/d/0BxpbZGYVZsEeSFdrUnBNMUp1YzQ/view?usp=sharing).

Я не нашел ни одного модуля Ansible, который мог бы получить такой файл от Gdrive, и (насколько я знаю) невозможно получить прямую ссылку с расширением в конце ...

Есть ли решение для этой проблемы, или мне нужно скачать его и загрузить куда-нибудь еще, чтобы я мог получить его напрямую через модуль Ansible get_url ?

Ответы [ 2 ]

0 голосов
/ 14 июля 2019

Вы можете сделать это так:

    - name: Download archive from google drive
      get_url:
        url: "https://drive.google.com/uc?export=download&id={{ file_id }}"
        dest: /file/destination/file.tgz
        mode: u=r,g-r,o=r

Для file_id используйте 0BxpbZGYVZsEeSFdrUnBNMUp1YzQ

0 голосов
/ 11 мая 2018

Я сам нашел решение:)

С помощью стороннего скрипта отсюда: https://github.com/circulosmeos/gdown.pl/blob/master/gdown.pl

И затем запуск command модуля с правильными аргументами для загрузки файла.


- name: Copy "gdown" script to /usr/local/bin
  copy: src=gdown.pl
        dest=/usr/local/bin/gdown
        mode=0755

- name: Download DRAGNN CONLL2017 data archive
  command: "/usr/local/bin/gdown {{ dragnn_data_url }} {{ dragnn_dir }}/conll17.tar.gz"
  args:
      creates: "{{ dragnn_dir }}/conll17.tar.gz"
  become_user: "{{ docker_user }}"
  become: yes
  become_method: sudo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...