Hol volt, hol nem volt, egy projekthez szerettem volna a legfrissebb adatokat lehúzni a felhőből az AWS Amplify pull parancsával, azonban egy ordas nagy hibát kaptam:

Failed to get credentials: Invalid identity pool configuration. Check assigned IAM roles for this pool.
A hiba oka (szerintem)
Több projekten is dolgozom egyszerre és van olyan mobilapp projekt, amelyik esetében az AWS konzolba a regisztrációkor megadott email címmel lépek be. De akad olyan is, amelyiknél az IAM userrel.
Az IAM az Indentity and Access Management rövidítése, ami gyakorlatilag egy olyan hozzáférés kezelő rendszer, amiben felhasználókat és felhasználói csoportokat lehet létrehozni. Ezeket különböző szerepkörrel lehet felruházni / jogokat lehet nekik adni, amivel hozzáférhetnek az AWS szolgáltatásaihoz és erőforrásaihoz.
Szóval akad olyan projekt, aminél én létrehoztam ilyen IAM usereket. Valami oknál fogva meghülyült a rendszer, amikor az egyik projektről átváltottam a másikra és a pull parancs kiadásakor a fenti hibát dobta.
Valami hasonló pull parancsot adtam ki a konzolban:
amplify pull --appId d1bBLABLABLAmy3 --envName staging
A végső megoldás
Elég rendesen kutakodtam a neten a megoldás után, aztán meguntam, mert nem találtam használható „orvosságot”. Aztán egy ötlettől vezérelve a kitaláltam, hogy a projekt mappájából törlöm az összes amplify-al kapcsolatos cuccot.
Ez konkrétan 3 dolgot jelentett:
- Az első az amplify mappa, ami a projekt gyökér könyvtárában jön létre.
- A második az aws-export.js fájl, ami az src mappa alatt jön létre.
- A harmadik pedig a models mappa, ami szintén az src mappán belül születik meg.
Ezek akkor jönnek létre, amikor kiadunk egy „amplify add auth” parancsot, vagy akkor amikor először szinkronizáljuk le a fenti hosszabb pull paranccsal a felhőből a projekthez tartozó AWS-es cuccokat. A models mappa minden új pull esetében módosul, ha van benne változás.
Tehát először is töröltem a fent említett három darab dolgot.
Pull futtatása
Utána konzolban ismét kiadtam a fenti hosszú pull parancsot. A konzolban követtem az utasításokat:

És minden szépen lejött a felhőből. A végén ismét kiadtam egy amplify pull parancsot, ahogy a konzolban javasolták:

Az is sikeresen lefutott, a hiba elhárult végül 🙂