enram / vptstools

Python library to transfer and convert vertical profile time series data
https://enram.github.io/vptstools/
MIT License
3 stars 1 forks source link

Add link/instructions on how to create AWS profile/credentials to documentation #79

Open PietrH opened 5 months ago

PietrH commented 5 months ago

I'm now trying to run the vph5_to_vpts on an HPC cluster (https://www.vscentrum.be/), which has involved me trying to get it running locally again.

I believe I'm now running into a credentials issue.

This is what I've done;

create virtual env

python3 -m venv vptstools

open it source vptstools/bin/activate

Then install a specific vptstools version, I've tried both:

pip install git+https://github.com/enram/vptstools.git@v0.4.0-alpha.2

AND

pip install vptstools==0.4.0a2

However, both times I'll run into dependency issues:

$ vph5_to_vpts 
Traceback (most recent call last):
  File "/home/pieter_huybrechts/vptstools/bin/vph5_to_vpts", line 5, in <module>
    from vptstools.bin.vph5_to_vpts import cli
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/vptstools/bin/vph5_to_vpts.py", line 9, in <module>
    import boto3
ModuleNotFoundError: No module named 'boto3'

And indeed it's not in pip list:

pip list
Package            Version
------------------ -----------
annotated-types    0.6.0
attrs              23.2.0
certifi            2024.2.2
chardet            5.2.0
charset-normalizer 3.3.2
click              8.1.7
colorama           0.4.6
frictionless       5.16.1
h5py               3.10.0
humanize           4.9.0
idna               3.6
isodate            0.6.1
Jinja2             3.1.3
jsonschema         4.17.3
markdown-it-py     3.0.0
marko              2.0.3
MarkupSafe         2.1.5
mdurl              0.1.2
numpy              1.26.4
pandas             2.2.1
petl               1.7.15
pip                22.2
pydantic           2.6.4
pydantic_core      2.16.3
Pygments           2.17.2
pyrsistent         0.20.0
python-dateutil    2.9.0.post0
python-slugify     8.0.4
pytz               2024.1
PyYAML             6.0.1
requests           2.31.0
rfc3986            2.0.0
rich               13.7.1
setuptools         59.6.0
shellingham        1.5.4
simpleeval         0.9.13
six                1.16.0
stringcase         1.2.0
tabulate           0.9.0
text-unidecode     1.3
typer              0.9.0
typing_extensions  4.10.0
tzdata             2024.1
urllib3            2.2.1
validators         0.22.0
vptstools          0.4.0a2

So since I've got the vptstools repo cloned anyway, I go there and fetch the dependencies from the requirements, which causes some conflicts:

$ pip install -r requirements.txt 
Collecting aiobotocore==2.5.0
  Using cached aiobotocore-2.5.0-py3-none-any.whl (72 kB)
Collecting aiohttp==3.8.4
  Using cached aiohttp-3.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB)
Collecting aioitertools==0.11.0
  Using cached aioitertools-0.11.0-py3-none-any.whl (23 kB)
Collecting aiosignal==1.3.1
  Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Collecting async-timeout==4.0.2
  Using cached async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting attrs==23.1.0
  Using cached attrs-23.1.0-py3-none-any.whl (61 kB)
Collecting bcrypt==4.0.1
  Using cached bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl (593 kB)
Collecting botocore==1.29.76
  Using cached botocore-1.29.76-py3-none-any.whl (10.4 MB)
Collecting certifi==2023.5.7
  Using cached certifi-2023.5.7-py3-none-any.whl (156 kB)
Collecting cffi==1.15.1
  Using cached cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (441 kB)
Collecting chardet==5.1.0
  Using cached chardet-5.1.0-py3-none-any.whl (199 kB)
Collecting charset-normalizer==3.1.0
  Using cached charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (199 kB)
Collecting click==8.1.3
  Using cached click-8.1.3-py3-none-any.whl (96 kB)
Requirement already satisfied: colorama==0.4.6 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 44)) (0.4.6)
Collecting cryptography==41.0.1
  Using cached cryptography-41.0.1-cp37-abi3-manylinux_2_28_x86_64.whl (4.3 MB)
Collecting decorator==5.1.1
  Using cached decorator-5.1.1-py3-none-any.whl (9.1 kB)
Collecting frictionless==5.13.1
  Using cached frictionless-5.13.1-py2.py3-none-any.whl (2.8 MB)
Collecting frozenlist==1.3.3
  Using cached frozenlist-1.3.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (149 kB)
Collecting fsspec==2023.5.0
  Using cached fsspec-2023.5.0-py3-none-any.whl (160 kB)
Collecting h5py==3.8.0
  Using cached h5py-3.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB)
Collecting humanize==4.6.0
  Using cached humanize-4.6.0-py3-none-any.whl (109 kB)
Collecting idna==3.4
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Requirement already satisfied: isodate==0.6.1 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 68)) (0.6.1)
Collecting jinja2==3.1.2
  Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting jmespath==1.0.1
  Using cached jmespath-1.0.1-py3-none-any.whl (20 kB)
Requirement already satisfied: jsonschema==4.17.3 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 74)) (4.17.3)
Collecting markdown-it-py==2.2.0
  Using cached markdown_it_py-2.2.0-py3-none-any.whl (84 kB)
Collecting marko==1.3.0
  Using cached marko-1.3.0-py3-none-any.whl (39 kB)
Collecting markupsafe==2.1.2
  Using cached MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
Requirement already satisfied: mdurl==0.1.2 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 82)) (0.1.2)
Collecting multidict==6.0.4
  Using cached multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114 kB)
Collecting numpy==1.24.3
  Using cached numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
Collecting pandas==2.0.1
  Using cached pandas-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.3 MB)
Collecting paramiko==3.2.0
  Using cached paramiko-3.2.0-py3-none-any.whl (224 kB)
Collecting petl==1.7.12
  Using cached petl-1.7.12-py3-none-any.whl
Collecting pyarrow==12.0.0
  Using cached pyarrow-12.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.9 MB)
Collecting pycparser==2.21
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting pydantic==1.10.7
  Using cached pydantic-1.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
Collecting pygments==2.15.1
  Using cached Pygments-2.15.1-py3-none-any.whl (1.1 MB)
Collecting pynacl==1.5.0
  Using cached PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (856 kB)
Collecting pyrsistent==0.19.3
  Using cached pyrsistent-0.19.3-py3-none-any.whl (57 kB)
Collecting python-dateutil==2.8.2
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting python-dotenv==1.0.0
  Using cached python_dotenv-1.0.0-py3-none-any.whl (19 kB)
Collecting python-slugify==8.0.1
  Using cached python_slugify-8.0.1-py2.py3-none-any.whl (9.7 kB)
Collecting pytz==2023.3
  Using cached pytz-2023.3-py2.py3-none-any.whl (502 kB)
Collecting pyyaml==6.0
  Using cached PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (682 kB)
Collecting requests==2.30.0
  Using cached requests-2.30.0-py3-none-any.whl (62 kB)
Requirement already satisfied: rfc3986==2.0.0 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 128)) (2.0.0)
Collecting rich==13.3.5
  Using cached rich-13.3.5-py3-none-any.whl (238 kB)
Collecting s3fs[boto3]==2023.5.0
  Using cached s3fs-2023.5.0-py3-none-any.whl (28 kB)
Collecting shellingham==1.5.0.post1
  Using cached shellingham-1.5.0.post1-py2.py3-none-any.whl (9.4 kB)
Requirement already satisfied: simpleeval==0.9.13 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 136)) (0.9.13)
Requirement already satisfied: six==1.16.0 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 138)) (1.16.0)
Requirement already satisfied: stringcase==1.2.0 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 142)) (1.2.0)
Requirement already satisfied: tabulate==0.9.0 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 144)) (0.9.0)
Requirement already satisfied: text-unidecode==1.3 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 146)) (1.3)
Requirement already satisfied: typer[all]==0.9.0 in /home/pieter_huybrechts/vptstools/lib/python3.10/site-packages (from -r requirements.txt (line 148)) (0.9.0)
Collecting typing-extensions==4.5.0
  Using cached typing_extensions-4.5.0-py3-none-any.whl (27 kB)
Collecting tzdata==2023.3
  Using cached tzdata-2023.3-py2.py3-none-any.whl (341 kB)
Collecting urllib3==1.26.15
  Using cached urllib3-1.26.15-py2.py3-none-any.whl (140 kB)
Collecting validators==0.20.0
  Using cached validators-0.20.0.tar.gz (30 kB)
  Preparing metadata (setup.py) ... done
Collecting wrapt==1.15.0
  Using cached wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78 kB)
Collecting yarl==1.9.2
  Using cached yarl-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (268 kB)
Collecting aiobotocore[boto3]~=2.5.0
  Using cached aiobotocore-2.5.4-py3-none-any.whl (73 kB)
  Using cached aiobotocore-2.5.3-py3-none-any.whl (73 kB)
  Using cached aiobotocore-2.5.2-py3-none-any.whl (72 kB)
  Using cached aiobotocore-2.5.1-py3-none-any.whl (72 kB)
Collecting boto3<1.26.77,>=1.26.76
  Using cached boto3-1.26.76-py3-none-any.whl (132 kB)
Collecting s3transfer<0.7.0,>=0.6.0
  Using cached s3transfer-0.6.2-py3-none-any.whl (79 kB)
Using legacy 'setup.py install' for validators, since package 'wheel' is not installed.
Installing collected packages: pytz, wrapt, urllib3, tzdata, typing-extensions, shellingham, pyyaml, python-slugify, python-dotenv, python-dateutil, pyrsistent, pygments, pycparser, petl, numpy, multidict, markupsafe, marko, markdown-it-py, jmespath, idna, humanize, fsspec, frozenlist, decorator, click, charset-normalizer, chardet, certifi, bcrypt, attrs, async-timeout, aioitertools, yarl, validators, rich, requests, pydantic, pyarrow, pandas, jinja2, h5py, cffi, botocore, aiosignal, s3transfer, pynacl, cryptography, aiohttp, paramiko, frictionless, boto3, aiobotocore, s3fs
  Attempting uninstall: pytz
    Found existing installation: pytz 2024.1
    Uninstalling pytz-2024.1:
      Successfully uninstalled pytz-2024.1
  Attempting uninstall: urllib3
    Found existing installation: urllib3 2.2.1
    Uninstalling urllib3-2.2.1:
      Successfully uninstalled urllib3-2.2.1
  Attempting uninstall: tzdata
    Found existing installation: tzdata 2024.1
    Uninstalling tzdata-2024.1:
      Successfully uninstalled tzdata-2024.1
  Attempting uninstall: typing-extensions
    Found existing installation: typing_extensions 4.10.0
    Uninstalling typing_extensions-4.10.0:
      Successfully uninstalled typing_extensions-4.10.0
  Attempting uninstall: shellingham
    Found existing installation: shellingham 1.5.4
    Uninstalling shellingham-1.5.4:
      Successfully uninstalled shellingham-1.5.4
  Attempting uninstall: pyyaml
    Found existing installation: PyYAML 6.0.1
    Uninstalling PyYAML-6.0.1:
      Successfully uninstalled PyYAML-6.0.1
  Attempting uninstall: python-slugify
    Found existing installation: python-slugify 8.0.4
    Uninstalling python-slugify-8.0.4:
      Successfully uninstalled python-slugify-8.0.4
  Attempting uninstall: python-dateutil
    Found existing installation: python-dateutil 2.9.0.post0
    Uninstalling python-dateutil-2.9.0.post0:
      Successfully uninstalled python-dateutil-2.9.0.post0
  Attempting uninstall: pyrsistent
    Found existing installation: pyrsistent 0.20.0
    Uninstalling pyrsistent-0.20.0:
      Successfully uninstalled pyrsistent-0.20.0
  Attempting uninstall: pygments
    Found existing installation: Pygments 2.17.2
    Uninstalling Pygments-2.17.2:
      Successfully uninstalled Pygments-2.17.2
  Attempting uninstall: petl
    Found existing installation: petl 1.7.15
    Uninstalling petl-1.7.15:
      Successfully uninstalled petl-1.7.15
  Attempting uninstall: numpy
    Found existing installation: numpy 1.26.4
    Uninstalling numpy-1.26.4:
      Successfully uninstalled numpy-1.26.4
  Attempting uninstall: markupsafe
    Found existing installation: MarkupSafe 2.1.5
    Uninstalling MarkupSafe-2.1.5:
      Successfully uninstalled MarkupSafe-2.1.5
  Attempting uninstall: marko
    Found existing installation: marko 2.0.3
    Uninstalling marko-2.0.3:
      Successfully uninstalled marko-2.0.3
  Attempting uninstall: markdown-it-py
    Found existing installation: markdown-it-py 3.0.0
    Uninstalling markdown-it-py-3.0.0:
      Successfully uninstalled markdown-it-py-3.0.0
  Attempting uninstall: idna
    Found existing installation: idna 3.6
    Uninstalling idna-3.6:
      Successfully uninstalled idna-3.6
  Attempting uninstall: humanize
    Found existing installation: humanize 4.9.0
    Uninstalling humanize-4.9.0:
      Successfully uninstalled humanize-4.9.0
  Attempting uninstall: click
    Found existing installation: click 8.1.7
    Uninstalling click-8.1.7:
      Successfully uninstalled click-8.1.7
  Attempting uninstall: charset-normalizer
    Found existing installation: charset-normalizer 3.3.2
    Uninstalling charset-normalizer-3.3.2:
      Successfully uninstalled charset-normalizer-3.3.2
  Attempting uninstall: chardet
    Found existing installation: chardet 5.2.0
    Uninstalling chardet-5.2.0:
      Successfully uninstalled chardet-5.2.0
  Attempting uninstall: certifi
    Found existing installation: certifi 2024.2.2
    Uninstalling certifi-2024.2.2:
      Successfully uninstalled certifi-2024.2.2
  Attempting uninstall: attrs
    Found existing installation: attrs 23.2.0
    Uninstalling attrs-23.2.0:
      Successfully uninstalled attrs-23.2.0
  Attempting uninstall: validators
    Found existing installation: validators 0.22.0
    Uninstalling validators-0.22.0:
      Successfully uninstalled validators-0.22.0
  Running setup.py install for validators ... done
  Attempting uninstall: rich
    Found existing installation: rich 13.7.1
    Uninstalling rich-13.7.1:
      Successfully uninstalled rich-13.7.1
  Attempting uninstall: requests
    Found existing installation: requests 2.31.0
    Uninstalling requests-2.31.0:
      Successfully uninstalled requests-2.31.0
  Attempting uninstall: pydantic
    Found existing installation: pydantic 2.6.4
    Uninstalling pydantic-2.6.4:
      Successfully uninstalled pydantic-2.6.4
  Attempting uninstall: pandas
    Found existing installation: pandas 2.2.1
    Uninstalling pandas-2.2.1:
      Successfully uninstalled pandas-2.2.1
  Attempting uninstall: jinja2
    Found existing installation: Jinja2 3.1.3
    Uninstalling Jinja2-3.1.3:
      Successfully uninstalled Jinja2-3.1.3
  Attempting uninstall: h5py
    Found existing installation: h5py 3.10.0
    Uninstalling h5py-3.10.0:
      Successfully uninstalled h5py-3.10.0
  Attempting uninstall: frictionless
    Found existing installation: frictionless 5.16.1
    Uninstalling frictionless-5.16.1:
      Successfully uninstalled frictionless-5.16.1
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pydantic-core 2.16.3 requires typing-extensions!=4.7.0,>=4.6.0, but you have typing-extensions 4.5.0 which is incompatible.
Successfully installed aiobotocore-2.5.0 aiohttp-3.8.4 aioitertools-0.11.0 aiosignal-1.3.1 async-timeout-4.0.2 attrs-23.1.0 bcrypt-4.0.1 boto3-1.26.76 botocore-1.29.76 certifi-2023.5.7 cffi-1.15.1 chardet-5.1.0 charset-normalizer-3.1.0 click-8.1.3 cryptography-41.0.1 decorator-5.1.1 frictionless-5.13.1 frozenlist-1.3.3 fsspec-2023.5.0 h5py-3.8.0 humanize-4.6.0 idna-3.4 jinja2-3.1.2 jmespath-1.0.1 markdown-it-py-2.2.0 marko-1.3.0 markupsafe-2.1.2 multidict-6.0.4 numpy-1.24.3 pandas-2.0.1 paramiko-3.2.0 petl-1.7.12 pyarrow-12.0.0 pycparser-2.21 pydantic-1.10.7 pygments-2.15.1 pynacl-1.5.0 pyrsistent-0.19.3 python-dateutil-2.8.2 python-dotenv-1.0.0 python-slugify-8.0.1 pytz-2023.3 pyyaml-6.0 requests-2.30.0 rich-13.3.5 s3fs-2023.5.0 s3transfer-0.6.2 shellingham-1.5.0.post1 typing-extensions-4.5.0 tzdata-2023.3 urllib3-1.26.15 validators-0.20.0 wrapt-1.15.0 yarl-1.9.2

Anyway, after all this, I'm getting what I think is a credentials issue:

$ vph5_to_vpts 
Load the S3 manifest of 2024-03-14 to rerun only files modified since 2 days ago.
Extract coverage and days to recreate from manifest s3://inbo-aloft-uat-eu-west-1-inventory/inbo-aloft-uat-eu-west-1-default/inbo-aloft-uat-eu-west-1-default-hdf5-files-inventory/2024-03-13T01-00Z/manifest.json.
CLI routine 'vph5_to_vpts ' failed raising error: '<class 'PermissionError'>: Forbidden'.
Traceback (most recent call last):
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/s3fs/core.py", line 113, in _error_wrapper
    return await func(*args, **kwargs)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/aiobotocore/client.py", line 371, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/vptstools/bin/click_exception.py", line 40, in invoke
    return super(Cls, self).invoke(ctx)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/vptstools/bin/vph5_to_vpts.py", line 140, in cli
    df_cov, days_to_create_vpts = handle_manifest(
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/vptstools/s3.py", line 340, in handle_manifest
    for j, obj in enumerate(list_manifest_file_keys(manifest_url, storage_options)):
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/vptstools/s3.py", line 171, in list_manifest_file_keys
    with s3fs_s3.open(s3_manifest_url) as manifest:
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/fsspec/spec.py", line 1199, in open
    f = self._open(
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/s3fs/core.py", line 659, in _open
    return S3File(
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/s3fs/core.py", line 2043, in __init__
    super().__init__(
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/fsspec/spec.py", line 1555, in __init__
    self.size = self.details["size"]
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/fsspec/spec.py", line 1568, in details
    self._details = self.fs.info(self.path)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/fsspec/asyn.py", line 115, in wrapper
    return sync(self.loop, func, *args, **kwargs)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/fsspec/asyn.py", line 100, in sync
    raise return_result
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/fsspec/asyn.py", line 55, in _runner
    result[0] = await coro
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/s3fs/core.py", line 1248, in _info
    out = await self._call_s3(
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/s3fs/core.py", line 348, in _call_s3
    return await _error_wrapper(
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/s3fs/core.py", line 140, in _error_wrapper
    raise err
PermissionError: Forbidden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pieter_huybrechts/vptstools/bin/vph5_to_vpts", line 8, in <module>
    sys.exit(cli())
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/vptstools/bin/click_exception.py", line 47, in invoke
    handler(self, ctx.info_name, exc)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/vptstools/bin/click_exception.py", line 96, in report_click_exception_to_sns
    report_message_to_sns(subject, sns_message, aws_sns_topic,
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/vptstools/bin/click_exception.py", line 74, in report_message_to_sns
    sns_client.publish(TopicArn=aws_sns_topic,
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/botocore/client.py", line 530, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/botocore/client.py", line 919, in _make_api_call
    request_dict = self._convert_to_request_dict(
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/botocore/client.py", line 990, in _convert_to_request_dict
    request_dict = self._serializer.serialize_to_request(
  File "/home/pieter_huybrechts/vptstools/lib/python3.10/site-packages/botocore/validate.py", line 381, in serialize_to_request
    raise ParamValidationError(report=report.generate_report())
botocore.exceptions.ParamValidationError: Parameter validation failed:

I believe the container on ECS is setup to read a key form system environment? Or does it use a AWS profile? I can't list or see the ECS cluster atm so I can't really check.

I don't have a local AWS profile, I haven't used the AWS CLI in a while... I'm also currently locked out of the inbo-developers-aloft-role, and no solution in sight :sweat_smile:


Questions