Hakemisto-objektivirhe
Altaassa ei ole varsinaisia hakemistoja. Jotkin asiakasohjelmistot saattavat virheellisesti luoda nollakokoisia objekteja ja metadataa tai lisätä vinoviivan nimen loppuun.
Content Type: application/directory
Content Type: application/x-directory
Content Type: binary/octet-stream
Tällaisia ohjelmistoja ovat esimerkiksi Cyberduck, Nextcloud ja s3fuse. Tämä on järkevää vain silloin, kun kaikki kyseistä dataa käyttävät käyttäjät käyttävät samankaltaisia työkaluja eivätkä etenkään käytä s3cmd:tä.
Esimerkiksi Cyberduckilla palveluun ladattu hakemistorakenne
listattuna s3cmd:llä:$ s3cmd ls -r s3://idev1clitest/
ls -r s3://idev1clitest/
2019-08-20 07:25 1048576 s3://idev1clitest/data4.dat
2019-08-20 07:22 0 s3://idev1clitest/mydata
2019-08-20 07:22 1024 s3://idev1clitest/mydata/data1.dat
2019-08-20 07:22 102400 s3://idev1clitest/mydata/data2.dat
2019-08-20 07:22 0 s3://idev1clitest/mydata/subdir
2019-08-20 07:22 10240 s3://idev1clitest/mydata/subdir/data3.dat
Objektit mydata ja mydata/subdir ovat nollakokoisia. Tällaiset ylimääräiset objektit aiheuttavat sen ongelman, että kun rakennetta yritetään ladata s3cmd:llä, nollakokoinen objekti ladataan tiedostoksi, mikä estää samannimisen hakemiston luomisen ja sen seurauksena myös hakemiston sisällä olevien tiedostojen lataamisen:
$ s3cmd get -r s3://idev1clitest/
get -r s3://idev1clitest/
download: 's3://idev1clitest/data4.dat' -> './data4.dat' [1 of 6]
1048576 of 1048576 100% in 0s 9.79 MB/s done
download: 's3://idev1clitest/mydata' -> './mydata' [2 of 6]
0 of 0 0% in 0s 0.00 B/s done
ERROR: Skipping ./mydata/data1.dat: Not a directory
ERROR: Skipping ./mydata/data2.dat: Not a directory
ERROR: Skipping ./mydata/subdir: Not a directory
ERROR: Skipping ./mydata/subdir/data3.dat: Not a directory
$
Voit ladata tällaisen hierarkian s3:lla luomalla ensin jokaisen paikallisen hakemiston ja lataamalla sitten tiedostot hakemistotaso kerrallaan.