I want download file from s3 using ansible.
- name: Download file from S3
amazon.aws.aws_s3:
aws_access_key: "XXXXXXXXXXXXXXXXXXXXX"
aws_secret_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxx"
bucket: "bucket-name"
mode: "get"
object: "file1"
dest: "/home/centos/file1"
I am getting error like this:
TASK [Download file from S3] *************************************************************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: SyntaxError: invalid syntax
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/home/centos/.ansible/tmp/ansible-tmp-1634047142.42-9501-194847033388166/AnsiballZ_aws_s3.py\", line 102, in <module>\n _ansiballz_main()\n File \"/home/centos/.ansible/tmp/ansible-tmp-1634047142.42-9501-194847033388166/AnsiballZ_aws_s3.py\", line 94, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/centos/.ansible/tmp/ansible-tmp-1634047142.42-9501-194847033388166/AnsiballZ_aws_s3.py\", line 40, in invoke_module\n runpy.run_module(mod_name='ansible_collections.amazon.aws.plugins.modules.aws_s3', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/lib64/python2.7/runpy.py\", line 176, in run_module\n fname, loader, pkg_name)\n File \"/usr/lib64/python2.7/runpy.py\", line 82, in _run_module_code\n mod_name, mod_fname, mod_loader, pkg_name)\n File \"/usr/lib64/python2.7/runpy.py\", line 72, in _run_code\n exec code in run_globals\n File \"/tmp/ansible_amazon.aws.aws_s3_payload_GMJ5WC/ansible_amazon.aws.aws_s3_payload.zip/ansible_collections/amazon/aws/plugins/modules/aws_s3.py\", line 360, in <module>\n File \"/tmp/ansible_amazon.aws.aws_s3_payload_GMJ5WC/ansible_amazon.aws.aws_s3_payload.zip/ansible_collections/amazon/aws/plugins/module_utils/core.py\", line 74, in <module>\n File \"/tmp/ansible_amazon.aws.aws_s3_payload_GMJ5WC/ansible_amazon.aws.aws_s3_payload.zip/ansible_collections/amazon/aws/plugins/module_utils/ec2.py\", line 65, in <module>\n File \"/usr/lib/python2.7/site-packages/boto3/__init__.py\", line 16, in <module>\n from boto3.session import Session\n File \"/usr/lib/python2.7/site-packages/boto3/session.py\", line 17, in <module>\n import botocore.session\n File \"/usr/lib/python2.7/site-packages/botocore/session.py\", line 30, in <module>\n import botocore.client\n File \"/usr/lib/python2.7/site-packages/botocore/client.py\", line 16, in <module>\n from botocore.args import ClientArgsCreator\n File \"/usr/lib/python2.7/site-packages/botocore/args.py\", line 26, in <module>\n from botocore.signers import RequestSigner\n File \"/usr/lib/python2.7/site-packages/botocore/signers.py\", line 19, in <module>\n import botocore.auth\n File \"/usr/lib/python2.7/site-packages/botocore/auth.py\", line 121\n pairs.append(f'{quoted_key}={quoted_value}')\n ^\nSyntaxError: invalid syntax\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
ansible --version
[WARNING]: log file at /etc/ansible/logs/ansible.log is not writeable and we cannot create it, aborting
ansible 2.9.25
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/icmqa/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Nov 16 2020, 22:23:17) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]