===== lab03b - Wed Nov 4 12:41:04 PM UTC 2026 ===== $ aws configure list --profile default NAME : VALUE : TYPE : LOCATION profile : default : manual : --profile access_key : ****************dbb6 : shared-credentials-file : secret_key : ****************Rzg= : shared-credentials-file : region : us-east-1 : env : ['AWS_REGION', 'AWS_DEFAULT_REGION'] $ echo https://s3.seaweedfs.adm.adaltas.cloud https://s3.seaweedfs.adm.adaltas.cloud $ echo user-m-anane-ece user-m-anane-ece $ aws s3 --profile default ls 2026-09-10 15:32:21 open-data 2026-10-06 09:11:59 user-a-ban-ece 2026-10-13 08:17:50 user-a-belchguer-ece 2026-10-06 08:30:46 user-a-benatar-ece 2026-10-06 09:06:24 user-a-brouchon-ece 2026-09-28 10:42:18 user-a-chabba-ece 2026-10-05 10:12:31 user-a-chaoui-ece 2026-10-05 20:19:41 user-a-charvet-ece 2026-09-18 12:21:50 user-a-colinet-ece 2026-09-18 07:55:50 user-a-correia-ece 2026-10-09 10:06:53 user-a-coste-ece 2026-10-09 10:34:17 user-a-dechirot-ece 2026-10-07 10:17:00 user-a-elkherchi-ece 2026-10-06 06:53:56 user-a-ferrer-ece 2026-10-06 14:48:04 user-a-fettah-ece 2026-10-13 08:32:52 user-a-ghani-ece 2026-10-09 13:44:18 user-a-gillet-ece 2026-09-21 11:55:01 user-a-hubert-ece 2026-10-06 15:12:06 user-a-jouini-ece 2026-09-26 09:18:36 user-a-kessali-ece 2026-10-08 08:34:45 user-a-lallement-ece 2026-10-06 15:17:54 user-a-lateb-ece 2026-10-09 15:41:23 user-a-lovisi-ece 2026-10-06 19:09:06 user-a-monouryhomet-ece 2026-10-07 09:43:53 user-a-ohnona-ece 2026-10-09 12:17:29 user-a-ouillon-ece 2026-10-02 08:27:43 user-a-polette-ece 2026-10-08 09:07:14 user-a-ralijaona-ece 2026-10-06 08:25:43 user-a-reshotkin-ece 2026-10-30 08:45:35 user-a-reversat-ece 2026-10-09 10:11:01 user-a-soupiron-ece 2026-10-10 07:01:32 user-a-vahlas-ece 2026-10-07 07:40:32 user-a-valony-ece 2026-09-18 14:54:47 user-a-wipliez-ece 2026-09-28 07:56:34 user-a-yon-ece 2026-10-12 12:20:05 user-b-assouline-ece 2026-10-16 08:11:09 user-b-defelice-ece 2026-09-18 10:13:44 user-b-gibart-ece 2026-10-09 12:19:16 user-b-goussault-ece 2026-09-21 09:57:22 user-b-lemaitre-ece 2026-10-16 18:06:16 user-b-martin-ece 2026-10-06 09:10:48 user-b-martindereuddre-ece 2026-10-13 07:57:32 user-b-nkengoue-ece 2026-10-02 08:00:35 user-b-wilson-ece 2026-10-08 15:31:15 user-c-affile-ece 2026-10-06 09:05:41 user-c-chalayer-ece 2026-10-14 10:15:40 user-c-gourhant-ece 2026-10-04 15:42:41 user-c-hu-ece 2026-10-08 09:35:49 user-c-jourdan-ece 2026-10-06 08:55:14 user-c-lestic-ece 2026-10-07 08:17:00 user-c-malphettes-ece 2026-10-11 19:52:52 user-c-morciano-ece 2026-10-06 07:47:09 user-c-morin-ece 2026-10-09 12:32:47 user-d-chuvatin-ece 2026-10-09 11:25:49 user-d-haddad-ece 2026-10-05 13:30:59 user-d-kone-ece 2026-10-12 21:37:42 user-d-siewechebeussin-ece 2026-10-02 10:32:20 user-d-tiakookassie-ece 2026-10-06 14:46:07 user-d-vautrinseing-ece 2026-09-08 10:24:05 user-david 2026-10-28 12:28:30 user-e-bertin-ece 2026-09-18 10:12:08 user-e-denaix-ece 2026-09-28 12:27:06 user-e-drean-avrillon-ece 2026-09-21 10:17:54 user-e-eng-lloret-ece 2026-10-08 08:11:14 user-e-henry-ece 2026-09-30 17:49:37 user-e-huang-ece 2026-10-08 09:39:03 user-e-kombiwo-ece 2026-10-08 15:10:58 user-e-mace-ece 2026-10-06 08:56:12 user-e-menut-ece 2026-10-05 13:34:08 user-e-morris-ece 2026-10-09 15:38:47 user-e-renaudineau-ece 2026-10-02 08:06:28 user-e-scherrer-ece 2026-10-30 13:20:36 user-e-yesiltas-ece 2026-09-22 12:29:18 user-elodine 2026-10-06 10:18:26 user-f-beden-ece 2026-09-25 15:27:21 user-f-bertenburg-ece 2026-10-06 14:51:41 user-f-braud-ece 2026-09-28 07:54:48 user-f-cauchy-ece 2026-10-13 09:21:06 user-f-deloison-ece 2026-10-09 21:40:48 user-f-fares-ece 2026-10-13 07:49:37 user-f-kerdouci-ece 2026-10-08 07:47:01 user-f-nonotalla-ece 2026-10-07 07:42:32 user-f-youdarene-ece 2026-10-08 17:00:57 user-g-chevallier-ece 2026-10-12 16:37:59 user-g-jouannaud-ece 2026-10-06 14:49:57 user-h-chavasse-ece 2026-10-05 13:22:53 user-h-jouini-ece 2026-09-21 12:52:08 user-h-ramakavelo-ece 2026-10-13 06:56:53 user-h-randrianasolo-ece 2026-10-13 09:31:17 user-h-tsangkingsang-ece 2026-10-06 14:55:23 user-i-ayadi-ece 2026-10-09 13:49:31 user-i-bide-ece 2026-10-13 08:05:54 user-i-hamlili-ece 2026-09-28 10:38:24 user-i-janboubi-ece 2026-10-01 20:51:20 user-i-seghir-ece 2026-10-08 08:45:29 user-j-bitschenauxdurand-ece 2026-10-02 15:16:18 user-j-cattin-quest-ece 2026-09-27 09:16:23 user-j-chalaud-ece 2026-10-13 09:12:11 user-j-gallula-ece 2026-09-18 12:28:40 user-j-gibert-ece 2026-09-18 10:14:31 user-j-gonnet-ece 2026-10-06 08:59:23 user-j-hogommat-ece 2026-09-23 09:14:42 user-j-lagrangemauduit-ece 2026-09-18 12:07:40 user-j-lin-ece 2026-10-13 08:26:27 user-j-mchangama-ece 2026-10-08 07:06:29 user-j-real-ece 2026-10-11 22:06:31 user-j-wang-ece 2026-10-07 08:22:04 user-j-zahora-ece 2026-10-08 07:07:36 user-k-benaicha-ece 2026-09-28 07:46:50 user-k-mohamedtelmidy-ece 2026-09-28 17:22:04 user-k-sison-ece 2026-10-05 12:44:37 user-k-soliman-ece 2026-10-06 07:00:59 user-l-amedeo-ece 2026-10-16 08:11:30 user-l-bernardchaussee-ece 2026-10-09 14:57:59 user-l-chan-ece 2026-09-18 10:12:12 user-l-deduit-ece 2026-10-09 11:19:45 user-l-englender-ece 2026-10-13 08:06:01 user-l-khlif-ece 2026-10-01 17:38:33 user-l-lapous-ece 2026-09-21 10:36:59 user-l-lebeldepenguilly-ece 2026-09-22 13:45:48 user-l-louis-ece 2026-10-09 19:43:32 user-l-minet-ece 2026-09-21 17:03:17 user-l-pepindalbieres-ece 2026-09-23 14:18:17 user-l-pommier-ece 2026-10-13 07:45:57 user-l-rivat-ece 2026-10-05 19:48:31 user-l-sacrez-ece 2026-10-09 10:32:43 user-l-saraceno-ece 2026-10-09 10:50:11 user-l-schuttig-ece 2026-10-06 08:24:49 user-l-schwindenhammer-ece 2026-11-04 12:29:00 user-m-anane-ece 2026-10-12 18:20:01 user-m-benlkhir-ece 2026-10-06 15:05:09 user-m-bretonne-ece 2026-10-13 08:28:15 user-m-cauchie-ece 2026-10-12 08:55:34 user-m-curie-ece 2026-10-02 08:05:37 user-m-dankha-ece 2026-10-08 08:41:07 user-m-djabali-ece 2026-09-21 16:01:30 user-m-garlot-ece 2026-10-08 16:17:39 user-m-gorchon-ece 2026-10-12 12:23:14 user-m-grand-ece 2026-10-11 16:26:33 user-m-guermonprez-ece 2026-10-09 11:16:01 user-m-juhel-ece 2026-10-09 09:57:22 user-m-lamarre-ece 2026-09-18 07:54:57 user-m-lebourdais-ece 2026-11-04 12:29:31 user-m-legrand-ece 2026-09-28 10:19:18 user-m-lin-ece 2026-10-02 07:29:09 user-m-marquer-ece 2026-09-27 14:39:49 user-m-picheret--larrousse-ece 2026-09-28 07:40:48 user-m-pottier-ece 2026-10-02 10:10:24 user-m-ratcliffe-ece 2026-09-18 10:13:14 user-m-valiente-ece 2026-11-04 12:33:41 user-mi-ezzemouri-ece 2026-09-17 08:45:15 user-mori 2026-10-07 08:42:51 user-n-raluy-ece 2026-10-06 10:21:16 user-n-remondelli-ece 2026-09-21 10:02:29 user-n-rullaud-ece 2026-10-06 09:21:17 user-o-aifoute-ece 2026-10-08 07:56:13 user-o-ba-ece 2026-10-04 19:11:02 user-o-sitbon-ece 2026-10-12 15:08:11 user-p-ayrivie-ece 2026-10-01 13:22:23 user-p-belleguic-ece 2026-09-18 10:14:09 user-p-fievet-ece 2026-09-23 11:16:51 user-p-gatsis-ece 2026-10-06 09:09:15 user-p-gerin-ece 2026-10-07 22:00:30 user-p-libamadubos-ece 2026-10-09 10:40:17 user-p-maceviot-ece 2026-10-14 16:54:02 user-p-prout-ece 2026-10-09 12:08:11 user-p-saguin-ece 2026-10-09 17:38:49 user-p-sidrot-ece 2026-09-28 12:30:17 user-p-vandergucht-ece 2026-10-09 15:47:05 user-p-veyret-ece 2026-09-08 10:24:05 user-pauladrien 2026-09-17 12:53:41 user-pierre 2026-09-21 09:13:11 user-r-combe-tamain-ece 2026-10-06 09:27:12 user-r-guettab-ece 2026-09-18 12:07:19 user-r-homsi-ece 2026-10-09 18:10:40 user-r-peynegre-ece 2026-10-13 17:57:31 user-r-queriaux-ece 2026-10-08 17:56:03 user-r-russo-ece 2026-10-08 08:34:46 user-r-stitou-ece 2026-10-08 07:22:08 user-r-uruthirakumaran-ece 2026-10-05 13:40:33 user-r-zribi-ece 2026-10-08 09:10:06 user-s-bouzoubaa-ece 2026-09-18 10:18:38 user-s-chupin-ece 2026-09-23 13:18:14 user-s-duparc-ece 2026-10-01 10:45:58 user-s-elyn-ece 2026-10-08 09:06:07 user-s-kemmegnedassi-ece 2026-09-18 12:09:18 user-s-missoum-ece 2026-09-18 12:09:49 user-s-vucetic-ece 2026-10-05 13:20:47 user-s-yezza-ece 2026-09-21 10:03:20 user-t-buresi-ece 2026-09-28 10:07:57 user-t-darmon-ece 2026-09-18 12:08:54 user-t-delongeaux-ece 2026-09-29 09:01:53 user-t-dous-ece 2026-10-07 16:00:24 user-t-faugue-ece 2026-09-21 10:04:47 user-t-ince-ece 2026-09-14 12:18:09 user-t-petit-ece 2026-10-12 09:28:29 user-t-ponchel-ece 2026-10-07 10:10:37 user-t-taupinartdetiliere2-ece 2026-09-25 11:24:05 user-tl-kenmogneyoute-ece 2026-09-18 12:16:54 user-u-rawat-ece 2026-10-07 16:06:35 user-v-bachem-ece 2026-10-05 13:26:47 user-v-boury-ece 2026-10-13 08:27:17 user-v-lin-ece 2026-10-06 09:30:39 user-v-mazloum-ece 2026-10-06 14:43:05 user-v-mellone-ece 2026-10-08 07:56:50 user-w-belingaowono-ece 2026-10-06 09:16:12 user-w-slimane-ece 2026-10-30 08:53:54 user-y-aharh-ece 2026-11-02 08:44:37 user-y-andorfer-hirsch-ece 2026-10-06 07:23:17 user-y-bouhrizelbouhlali-ece 2026-10-09 20:29:08 user-y-kedjem-ece 2026-10-13 08:24:06 user-y-soueid-ece 2026-10-05 17:05:37 user-z-bousquenaud-ece 2026-10-05 13:55:02 user-z-dimailig-ece 2026-10-08 09:18:12 user-z-lyagoubi-ece $ CMD='export PATH="$HOME/.local/bin:$PATH"' $ grep -qxF 'export PATH="$HOME/.local/bin:$PATH"' /home/onyxia/.bashrc $ echo 'export PATH="$HOME/.local/bin:$PATH"' $ set -e $$ curl -s https://api.github.com/repos/peak/s5cmd/releases/latest $$ jq -r '.tag_name | .[1:]' $ S5CMD_VERSION=2.3.0 $ BIN_DIR=/home/onyxia/.local/bin $ mkdir -p /home/onyxia/.local/bin $ case "$(uname -m)" in $$ uname -m $ S5CMD_ARCH=64bit $ S5CMD_FILE=s5cmd_2.3.0_Linux-64bit.tar.gz $ S5CMD_BASE_URL=https://github.com/peak/s5cmd/releases/download/v2.3.0 $$ mktemp -d $ TMP_DIR=/tmp/tmp.s7m50L6NRV $ cd /tmp/tmp.s7m50L6NRV $ curl -fsSLO https://github.com/peak/s5cmd/releases/download/v2.3.0/s5cmd_2.3.0_Linux-64bit.tar.gz $ curl -fsSLO https://github.com/peak/s5cmd/releases/download/v2.3.0/s5cmd_checksums.txt $ grep ' s5cmd_2.3.0_Linux-64bit.tar.gz$' s5cmd_checksums.txt $ sha256sum -c s5cmd_2.3.0_Linux-64bit.tar.gz: OK $ tar -xf s5cmd_2.3.0_Linux-64bit.tar.gz -C /home/onyxia/.local/bin s5cmd $ chmod +x /home/onyxia/.local/bin/s5cmd $ rm -rf /tmp/tmp.s7m50L6NRV $ command -v s5cmd /home/onyxia/.local/bin/s5cmd $ s5cmd version v2.3.0-991c9fb $ cd /home/onyxia/work/ece-2026-bigdata $ uv run dataset-users -o csv $ aws s3 --profile default cp users.csv s3://user-m-anane-ece/bronze/users.csv Completed 7.2 KiB/7.2 KiB (22.5 KiB/s) with 1 file(s) remaining upload: ./users.csv to s3://user-m-anane-ece/bronze/users.csv $ echo '*.csv' $ aws s3 --profile default ls s3://user-m-anane-ece/bronze/ 2026-11-04 12:41:10 7351 users.csv $ s5cmd --profile default ls s3://user-m-anane-ece/bronze/ 2026/11/04 12:41:10 7351 users.csv $ aws s3 --profile default ls s3://user-m-anane-ece/ --recursive 2026-11-04 12:41:10 7351 bronze/users.csv $ aws s3 --profile default cp s3://user-m-anane-ece/bronze/users.csv ./users_downloaded.csv Completed 7.2 KiB/7.2 KiB (94.8 KiB/s) with 1 file(s) remaining download: s3://user-m-anane-ece/bronze/users.csv to ./users_downloaded.csv $ diff users.csv users_downloaded.csv $ echo identical identical $ aws s3 --profile default mv s3://user-m-anane-ece/bronze/users.csv s3://user-m-anane-ece/bronze/users_renamed.csv Completed 7.2 KiB/7.2 KiB (69.9 KiB/s) with 1 file(s) remaining move: s3://user-m-anane-ece/bronze/users.csv to s3://user-m-anane-ece/bronze/users_renamed.csv $ aws s3 --profile default ls s3://user-m-anane-ece/bronze/ 2026-11-04 12:41:17 7351 users_renamed.csv $ aws s3 --profile default rm s3://user-m-anane-ece/bronze/users_renamed.csv delete: s3://user-m-anane-ece/bronze/users_renamed.csv $ aws s3 --profile default cp users.csv s3://user-m-anane-ece/bronze/users.csv Completed 7.2 KiB/7.2 KiB (53.3 KiB/s) with 1 file(s) remaining upload: ./users.csv to s3://user-m-anane-ece/bronze/users.csv $ aws s3api --profile default head-object --bucket user-m-anane-ece --key bronze/users.csv { "AcceptRanges": "bytes", "LastModified": "2026-11-04T12:41:22+00:00", "ContentLength": 7351, "ETag": "\"8ec7f3451d58c6634f5546ae80adb71f\"", "ContentEncoding": "aws-chunked", "ContentType": "text/csv", "Metadata": {} } $ md5sum users.csv 8ec7f3451d58c6634f5546ae80adb71f users.csv $ aws s3 --profile default cp users.csv s3://user-m-anane-ece/bronze/users.csv --metadata source=dataset_users.py,version=1,rows=50 Completed 7.2 KiB/7.2 KiB (52.4 KiB/s) with 1 file(s) remaining upload: ./users.csv to s3://user-m-anane-ece/bronze/users.csv $ aws s3api --profile default head-object --bucket user-m-anane-ece --key bronze/users.csv $ jq .Metadata { "rows": "50", "source": "dataset_users.py", "version": "1" } $$ aws s3 --profile default presign s3://user-m-anane-ece/bronze/users.csv --expires-in 300 $ URL='https://s3.seaweedfs.adm.adaltas.cloud/user-m-anane-ece/bronze/users.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA2e45769e04d6dbb6%2F20261104%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261104T124129Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&X-Amz-Security-Token=***jeton-masque***&X-Amz-Signature=3cf304e4caa29ce16990b8e7de853d0da87940e49dbcd1a46f777fa8c46994c0' $ echo 'https://s3.seaweedfs.adm.adaltas.cloud/user-m-anane-ece/bronze/users.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA2e45769e04d6dbb6%2F20261104%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261104T124129Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&X-Amz-Security-Token=***jeton-masque***&X-Amz-Signature=3cf304e4caa29ce16990b8e7de853d0da87940e49dbcd1a46f777fa8c46994c0' $ cut '-d?' -f1 https://s3.seaweedfs.adm.adaltas.cloud/user-m-anane-ece/bronze/users.csv $ head -n 3 $ curl -s 'https://s3.seaweedfs.adm.adaltas.cloud/user-m-anane-ece/bronze/users.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA2e45769e04d6dbb6%2F20261104%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261104T124129Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&X-Amz-Security-Token=***jeton-masque***&X-Amz-Signature=3cf304e4caa29ce16990b8e7de853d0da87940e49dbcd1a46f777fa8c46994c0' uuid,username,name,sex,address,mail,birthdate bdd640fb-0667-4ad1-9c80-317fa3b1799d,garzaanthony,Charles Garcia,M,"908 Jennifer Squares Robinsonshire, KY 01352",helenpeterson@gmail.com,1935-10-26 $ uv run --with boto3 python - $ cut '-d?' -f1 Downloading botocore (15.4MiB) Downloaded botocore Installed 7 packages in 76ms https://s3.seaweedfs.adm.adaltas.cloud/user-m-anane-ece/bronze/upload.csv $ dd if=/dev/urandom of=large_dataset.bin bs=1M count=200 200+0 records in 200+0 records out 209715200 bytes (210 MB, 200 MiB) copied, 0.860126 s, 244 MB/s $ aws s3 --profile default cp large_dataset.bin s3://user-m-anane-ece/large/dataset.bin Completed 1.0 MiB/200.0 MiB (4.1 MiB/s) with 1 file(s) remaining Completed 2.0 MiB/200.0 MiB (7.8 MiB/s) with 1 file(s) remaining Completed 3.0 MiB/200.0 MiB (11.4 MiB/s) with 1 file(s) remaining Completed 4.0 MiB/200.0 MiB (14.9 MiB/s) with 1 file(s) remaining Completed 5.0 MiB/200.0 MiB (18.3 MiB/s) with 1 file(s) remaining Completed 6.0 MiB/200.0 MiB (21.8 MiB/s) with 1 file(s) remaining Completed 7.0 MiB/200.0 MiB (25.1 MiB/s) with 1 file(s) remaining Completed 8.0 MiB/200.0 MiB (25.7 MiB/s) with 1 file(s) remaining Completed 9.0 MiB/200.0 MiB (16.9 MiB/s) with 1 file(s) remaining Completed 10.0 MiB/200.0 MiB (18.6 MiB/s) with 1 file(s) remaining Completed 11.0 MiB/200.0 MiB (20.3 MiB/s) with 1 file(s) remaining Completed 12.0 MiB/200.0 MiB (22.0 MiB/s) with 1 file(s) remaining Completed 13.0 MiB/200.0 MiB (23.6 MiB/s) with 1 file(s) remaining Completed 14.0 MiB/200.0 MiB (25.3 MiB/s) with 1 file(s) remaining Completed 15.0 MiB/200.0 MiB (26.9 MiB/s) with 1 file(s) remaining Completed 16.0 MiB/200.0 MiB (28.1 MiB/s) with 1 file(s) remaining Completed 17.0 MiB/200.0 MiB (29.8 MiB/s) with 1 file(s) remaining Completed 18.0 MiB/200.0 MiB (29.5 MiB/s) with 1 file(s) remaining Completed 19.0 MiB/200.0 MiB (31.1 MiB/s) with 1 file(s) remaining Completed 20.0 MiB/200.0 MiB (32.5 MiB/s) with 1 file(s) remaining Completed 21.0 MiB/200.0 MiB (33.5 MiB/s) with 1 file(s) remaining Completed 22.0 MiB/200.0 MiB (35.0 MiB/s) with 1 file(s) remaining Completed 23.0 MiB/200.0 MiB (36.5 MiB/s) with 1 file(s) remaining Completed 24.0 MiB/200.0 MiB (37.4 MiB/s) with 1 file(s) remaining Completed 25.0 MiB/200.0 MiB (38.7 MiB/s) with 1 file(s) remaining Completed 26.0 MiB/200.0 MiB (39.1 MiB/s) with 1 file(s) remaining Completed 27.0 MiB/200.0 MiB (39.9 MiB/s) with 1 file(s) remaining Completed 28.0 MiB/200.0 MiB (41.0 MiB/s) with 1 file(s) remaining Completed 29.0 MiB/200.0 MiB (42.0 MiB/s) with 1 file(s) remaining Completed 30.0 MiB/200.0 MiB (43.4 MiB/s) with 1 file(s) remaining Completed 31.0 MiB/200.0 MiB (43.2 MiB/s) with 1 file(s) remaining Completed 32.0 MiB/200.0 MiB (44.6 MiB/s) with 1 file(s) remaining Completed 33.0 MiB/200.0 MiB (46.0 MiB/s) with 1 file(s) remaining Completed 34.0 MiB/200.0 MiB (47.3 MiB/s) with 1 file(s) remaining Completed 35.0 MiB/200.0 MiB (48.6 MiB/s) with 1 file(s) remaining Completed 36.0 MiB/200.0 MiB (49.7 MiB/s) with 1 file(s) remaining Completed 37.0 MiB/200.0 MiB (49.9 MiB/s) with 1 file(s) remaining Completed 38.0 MiB/200.0 MiB (50.5 MiB/s) with 1 file(s) remaining Completed 39.0 MiB/200.0 MiB (51.8 MiB/s) with 1 file(s) remaining Completed 40.0 MiB/200.0 MiB (52.8 MiB/s) with 1 file(s) remaining Completed 41.0 MiB/200.0 MiB (54.0 MiB/s) with 1 file(s) remaining Completed 42.0 MiB/200.0 MiB (55.3 MiB/s) with 1 file(s) remaining Completed 43.0 MiB/200.0 MiB (55.9 MiB/s) with 1 file(s) remaining Completed 44.0 MiB/200.0 MiB (56.6 MiB/s) with 1 file(s) remaining Completed 45.0 MiB/200.0 MiB (55.4 MiB/s) with 1 file(s) remaining Completed 46.0 MiB/200.0 MiB (56.6 MiB/s) with 1 file(s) remaining Completed 47.0 MiB/200.0 MiB (57.4 MiB/s) with 1 file(s) remaining Completed 48.0 MiB/200.0 MiB (56.9 MiB/s) with 1 file(s) remaining Completed 49.0 MiB/200.0 MiB (57.7 MiB/s) with 1 file(s) remaining Completed 50.0 MiB/200.0 MiB (58.7 MiB/s) with 1 file(s) remaining Completed 51.0 MiB/200.0 MiB (59.6 MiB/s) with 1 file(s) remaining Completed 52.0 MiB/200.0 MiB (60.6 MiB/s) with 1 file(s) remaining Completed 53.0 MiB/200.0 MiB (61.4 MiB/s) with 1 file(s) remaining Completed 54.0 MiB/200.0 MiB (62.4 MiB/s) with 1 file(s) remaining Completed 55.0 MiB/200.0 MiB (63.0 MiB/s) with 1 file(s) remaining Completed 56.0 MiB/200.0 MiB (63.8 MiB/s) with 1 file(s) remaining Completed 57.0 MiB/200.0 MiB (64.8 MiB/s) with 1 file(s) remaining Completed 58.0 MiB/200.0 MiB (66.0 MiB/s) with 1 file(s) remaining Completed 59.0 MiB/200.0 MiB (64.6 MiB/s) with 1 file(s) remaining Completed 60.0 MiB/200.0 MiB (65.4 MiB/s) with 1 file(s) remaining Completed 61.0 MiB/200.0 MiB (65.7 MiB/s) with 1 file(s) remaining Completed 62.0 MiB/200.0 MiB (66.7 MiB/s) with 1 file(s) remaining Completed 63.0 MiB/200.0 MiB (67.0 MiB/s) with 1 file(s) remaining Completed 64.0 MiB/200.0 MiB (68.0 MiB/s) with 1 file(s) remaining Completed 65.0 MiB/200.0 MiB (68.8 MiB/s) with 1 file(s) remaining Completed 66.0 MiB/200.0 MiB (69.6 MiB/s) with 1 file(s) remaining Completed 67.0 MiB/200.0 MiB (70.6 MiB/s) with 1 file(s) remaining Completed 68.0 MiB/200.0 MiB (71.6 MiB/s) with 1 file(s) remaining Completed 69.0 MiB/200.0 MiB (72.1 MiB/s) with 1 file(s) remaining Completed 70.0 MiB/200.0 MiB (72.7 MiB/s) with 1 file(s) remaining Completed 71.0 MiB/200.0 MiB (73.6 MiB/s) with 1 file(s) remaining Completed 72.0 MiB/200.0 MiB (74.6 MiB/s) with 1 file(s) remaining Completed 73.0 MiB/200.0 MiB (75.5 MiB/s) with 1 file(s) remaining Completed 74.0 MiB/200.0 MiB (76.3 MiB/s) with 1 file(s) remaining Completed 75.0 MiB/200.0 MiB (76.7 MiB/s) with 1 file(s) remaining Completed 76.0 MiB/200.0 MiB (77.7 MiB/s) with 1 file(s) remaining Completed 77.0 MiB/200.0 MiB (78.1 MiB/s) with 1 file(s) remaining Completed 78.0 MiB/200.0 MiB (78.8 MiB/s) with 1 file(s) remaining Completed 79.0 MiB/200.0 MiB (78.5 MiB/s) with 1 file(s) remaining Completed 80.0 MiB/200.0 MiB (79.4 MiB/s) with 1 file(s) remaining Completed 81.0 MiB/200.0 MiB (80.2 MiB/s) with 1 file(s) remaining Completed 82.0 MiB/200.0 MiB (80.9 MiB/s) with 1 file(s) remaining Completed 83.0 MiB/200.0 MiB (80.9 MiB/s) with 1 file(s) remaining Completed 84.0 MiB/200.0 MiB (80.6 MiB/s) with 1 file(s) remaining Completed 85.0 MiB/200.0 MiB (81.4 MiB/s) with 1 file(s) remaining Completed 86.0 MiB/200.0 MiB (82.1 MiB/s) with 1 file(s) remaining Completed 87.0 MiB/200.0 MiB (82.6 MiB/s) with 1 file(s) remaining Completed 88.0 MiB/200.0 MiB (83.2 MiB/s) with 1 file(s) remaining Completed 89.0 MiB/200.0 MiB (83.7 MiB/s) with 1 file(s) remaining Completed 90.0 MiB/200.0 MiB (84.6 MiB/s) with 1 file(s) remaining Completed 91.0 MiB/200.0 MiB (85.1 MiB/s) with 1 file(s) remaining Completed 92.0 MiB/200.0 MiB (85.5 MiB/s) with 1 file(s) remaining Completed 93.0 MiB/200.0 MiB (82.2 MiB/s) with 1 file(s) remaining Completed 94.0 MiB/200.0 MiB (83.0 MiB/s) with 1 file(s) remaining Completed 95.0 MiB/200.0 MiB (82.9 MiB/s) with 1 file(s) remaining Completed 96.0 MiB/200.0 MiB (83.3 MiB/s) with 1 file(s) remaining Completed 97.0 MiB/200.0 MiB (83.9 MiB/s) with 1 file(s) remaining Completed 98.0 MiB/200.0 MiB (84.0 MiB/s) with 1 file(s) remaining Completed 99.0 MiB/200.0 MiB (84.4 MiB/s) with 1 file(s) remaining Completed 100.0 MiB/200.0 MiB (85.0 MiB/s) with 1 file(s) remaining Completed 101.0 MiB/200.0 MiB (85.3 MiB/s) with 1 file(s) remaining Completed 102.0 MiB/200.0 MiB (84.6 MiB/s) with 1 file(s) remaining Completed 103.0 MiB/200.0 MiB (85.3 MiB/s) with 1 file(s) remaining Completed 104.0 MiB/200.0 MiB (82.6 MiB/s) with 1 file(s) remaining Completed 105.0 MiB/200.0 MiB (83.3 MiB/s) with 1 file(s) remaining Completed 106.0 MiB/200.0 MiB (81.1 MiB/s) with 1 file(s) remaining Completed 107.0 MiB/200.0 MiB (81.8 MiB/s) with 1 file(s) remaining Completed 108.0 MiB/200.0 MiB (81.6 MiB/s) with 1 file(s) remaining Completed 109.0 MiB/200.0 MiB (81.9 MiB/s) with 1 file(s) remaining Completed 110.0 MiB/200.0 MiB (82.5 MiB/s) with 1 file(s) remaining Completed 111.0 MiB/200.0 MiB (83.0 MiB/s) with 1 file(s) remaining Completed 112.0 MiB/200.0 MiB (83.4 MiB/s) with 1 file(s) remaining Completed 113.0 MiB/200.0 MiB (83.9 MiB/s) with 1 file(s) remaining Completed 114.0 MiB/200.0 MiB (84.7 MiB/s) with 1 file(s) remaining Completed 115.0 MiB/200.0 MiB (85.1 MiB/s) with 1 file(s) remaining Completed 116.0 MiB/200.0 MiB (85.8 MiB/s) with 1 file(s) remaining Completed 117.0 MiB/200.0 MiB (86.2 MiB/s) with 1 file(s) remaining Completed 118.0 MiB/200.0 MiB (86.9 MiB/s) with 1 file(s) remaining Completed 119.0 MiB/200.0 MiB (87.3 MiB/s) with 1 file(s) remaining Completed 120.0 MiB/200.0 MiB (87.7 MiB/s) with 1 file(s) remaining Completed 121.0 MiB/200.0 MiB (88.4 MiB/s) with 1 file(s) remaining Completed 122.0 MiB/200.0 MiB (89.2 MiB/s) with 1 file(s) remaining Completed 123.0 MiB/200.0 MiB (89.8 MiB/s) with 1 file(s) remaining Completed 124.0 MiB/200.0 MiB (90.4 MiB/s) with 1 file(s) remaining Completed 125.0 MiB/200.0 MiB (90.4 MiB/s) with 1 file(s) remaining Completed 126.0 MiB/200.0 MiB (91.2 MiB/s) with 1 file(s) remaining Completed 127.0 MiB/200.0 MiB (91.5 MiB/s) with 1 file(s) remaining Completed 128.0 MiB/200.0 MiB (92.0 MiB/s) with 1 file(s) remaining Completed 129.0 MiB/200.0 MiB (91.8 MiB/s) with 1 file(s) remaining Completed 130.0 MiB/200.0 MiB (92.3 MiB/s) with 1 file(s) remaining Completed 131.0 MiB/200.0 MiB (92.6 MiB/s) with 1 file(s) remaining Completed 132.0 MiB/200.0 MiB (93.3 MiB/s) with 1 file(s) remaining Completed 133.0 MiB/200.0 MiB (93.5 MiB/s) with 1 file(s) remaining Completed 134.0 MiB/200.0 MiB (94.0 MiB/s) with 1 file(s) remaining Completed 135.0 MiB/200.0 MiB (94.6 MiB/s) with 1 file(s) remaining Completed 136.0 MiB/200.0 MiB (94.4 MiB/s) with 1 file(s) remaining Completed 137.0 MiB/200.0 MiB (94.9 MiB/s) with 1 file(s) remaining Completed 138.0 MiB/200.0 MiB (95.5 MiB/s) with 1 file(s) remaining Completed 139.0 MiB/200.0 MiB (96.2 MiB/s) with 1 file(s) remaining Completed 140.0 MiB/200.0 MiB (96.9 MiB/s) with 1 file(s) remaining Completed 141.0 MiB/200.0 MiB (97.2 MiB/s) with 1 file(s) remaining Completed 142.0 MiB/200.0 MiB (97.2 MiB/s) with 1 file(s) remaining Completed 143.0 MiB/200.0 MiB (97.6 MiB/s) with 1 file(s) remaining Completed 144.0 MiB/200.0 MiB (98.2 MiB/s) with 1 file(s) remaining Completed 145.0 MiB/200.0 MiB (98.7 MiB/s) with 1 file(s) remaining Completed 146.0 MiB/200.0 MiB (99.0 MiB/s) with 1 file(s) remaining Completed 147.0 MiB/200.0 MiB (99.6 MiB/s) with 1 file(s) remaining Completed 148.0 MiB/200.0 MiB (99.8 MiB/s) with 1 file(s) remaining Completed 149.0 MiB/200.0 MiB (100.4 MiB/s) with 1 file(s) remaining Completed 150.0 MiB/200.0 MiB (100.9 MiB/s) with 1 file(s) remaining Completed 151.0 MiB/200.0 MiB (101.4 MiB/s) with 1 file(s) remaining Completed 152.0 MiB/200.0 MiB (100.8 MiB/s) with 1 file(s) remaining Completed 153.0 MiB/200.0 MiB (101.4 MiB/s) with 1 file(s) remaining Completed 154.0 MiB/200.0 MiB (102.1 MiB/s) with 1 file(s) remaining Completed 155.0 MiB/200.0 MiB (102.7 MiB/s) with 1 file(s) remaining Completed 156.0 MiB/200.0 MiB (102.7 MiB/s) with 1 file(s) remaining Completed 157.0 MiB/200.0 MiB (103.3 MiB/s) with 1 file(s) remaining Completed 158.0 MiB/200.0 MiB (103.8 MiB/s) with 1 file(s) remaining Completed 159.0 MiB/200.0 MiB (104.4 MiB/s) with 1 file(s) remaining Completed 160.0 MiB/200.0 MiB (105.0 MiB/s) with 1 file(s) remaining Completed 161.0 MiB/200.0 MiB (104.6 MiB/s) with 1 file(s) remaining Completed 162.0 MiB/200.0 MiB (104.9 MiB/s) with 1 file(s) remaining Completed 163.0 MiB/200.0 MiB (105.5 MiB/s) with 1 file(s) remaining Completed 164.0 MiB/200.0 MiB (105.9 MiB/s) with 1 file(s) remaining Completed 165.0 MiB/200.0 MiB (106.5 MiB/s) with 1 file(s) remaining Completed 166.0 MiB/200.0 MiB (107.1 MiB/s) with 1 file(s) remaining Completed 167.0 MiB/200.0 MiB (107.7 MiB/s) with 1 file(s) remaining Completed 168.0 MiB/200.0 MiB (107.5 MiB/s) with 1 file(s) remaining Completed 169.0 MiB/200.0 MiB (106.8 MiB/s) with 1 file(s) remaining Completed 170.0 MiB/200.0 MiB (107.1 MiB/s) with 1 file(s) remaining Completed 171.0 MiB/200.0 MiB (107.0 MiB/s) with 1 file(s) remaining Completed 172.0 MiB/200.0 MiB (107.6 MiB/s) with 1 file(s) remaining Completed 173.0 MiB/200.0 MiB (108.2 MiB/s) with 1 file(s) remaining Completed 174.0 MiB/200.0 MiB (108.3 MiB/s) with 1 file(s) remaining Completed 175.0 MiB/200.0 MiB (108.8 MiB/s) with 1 file(s) remaining Completed 176.0 MiB/200.0 MiB (109.2 MiB/s) with 1 file(s) remaining Completed 177.0 MiB/200.0 MiB (109.7 MiB/s) with 1 file(s) remaining Completed 178.0 MiB/200.0 MiB (109.6 MiB/s) with 1 file(s) remaining Completed 179.0 MiB/200.0 MiB (109.3 MiB/s) with 1 file(s) remaining Completed 180.0 MiB/200.0 MiB (109.7 MiB/s) with 1 file(s) remaining Completed 181.0 MiB/200.0 MiB (110.0 MiB/s) with 1 file(s) remaining Completed 182.0 MiB/200.0 MiB (110.4 MiB/s) with 1 file(s) remaining Completed 183.0 MiB/200.0 MiB (110.8 MiB/s) with 1 file(s) remaining Completed 184.0 MiB/200.0 MiB (111.1 MiB/s) with 1 file(s) remaining Completed 185.0 MiB/200.0 MiB (111.6 MiB/s) with 1 file(s) remaining Completed 186.0 MiB/200.0 MiB (111.1 MiB/s) with 1 file(s) remaining Completed 187.0 MiB/200.0 MiB (111.4 MiB/s) with 1 file(s) remaining Completed 188.0 MiB/200.0 MiB (111.9 MiB/s) with 1 file(s) remaining Completed 189.0 MiB/200.0 MiB (112.2 MiB/s) with 1 file(s) remaining Completed 190.0 MiB/200.0 MiB (112.6 MiB/s) with 1 file(s) remaining Completed 191.0 MiB/200.0 MiB (113.1 MiB/s) with 1 file(s) remaining Completed 192.0 MiB/200.0 MiB (113.3 MiB/s) with 1 file(s) remaining Completed 193.0 MiB/200.0 MiB (113.8 MiB/s) with 1 file(s) remaining Completed 194.0 MiB/200.0 MiB (114.3 MiB/s) with 1 file(s) remaining Completed 195.0 MiB/200.0 MiB (114.1 MiB/s) with 1 file(s) remaining Completed 196.0 MiB/200.0 MiB (114.7 MiB/s) with 1 file(s) remaining Completed 197.0 MiB/200.0 MiB (114.8 MiB/s) with 1 file(s) remaining Completed 198.0 MiB/200.0 MiB (115.1 MiB/s) with 1 file(s) remaining Completed 199.0 MiB/200.0 MiB (115.4 MiB/s) with 1 file(s) remaining Completed 200.0 MiB/200.0 MiB (115.6 MiB/s) with 1 file(s) remaining upload: ./large_dataset.bin to s3://user-m-anane-ece/large/dataset.bin $ aws s3api --profile default head-object --bucket user-m-anane-ece --key large/dataset.bin $ jq -r .ETag "ea18319ce2e31857abf89bf76d05253f-25" $ aws s3api --profile default list-multipart-uploads --bucket user-m-anane-ece { "RequestCharged": null, "Prefix": "" } $ aws s3api --profile default put-bucket-versioning --bucket user-m-anane-ece --versioning-configuration Status=Enabled $ aws s3 --profile default cp users.csv s3://user-m-anane-ece/bronze/users.csv Completed 7.2 KiB/7.2 KiB (51.7 KiB/s) with 1 file(s) remaining upload: ./users.csv to s3://user-m-anane-ece/bronze/users.csv $ uv run dataset-users -c 40 -o csv $ aws s3 --profile default cp users_v2.csv s3://user-m-anane-ece/bronze/users.csv Completed 5.7 KiB/5.7 KiB (38.4 KiB/s) with 1 file(s) remaining upload: ./users_v2.csv to s3://user-m-anane-ece/bronze/users.csv $ aws s3api --profile default list-object-versions --bucket user-m-anane-ece --prefix bronze/users.csv $ jq '.Versions[] | {VersionId, IsLatest, Size, LastModified}' { "VersionId": "671b27f26363f7f29f2695ee67287c71", "IsLatest": true, "Size": 5855, "LastModified": "2026-11-04T12:41:44+00:00" } { "VersionId": "671b27f2e3b671a25a819dc3374f6b3b", "IsLatest": false, "Size": 7351, "LastModified": "2026-11-04T12:41:42+00:00" } { "VersionId": "null", "IsLatest": false, "Size": 7351, "LastModified": "2026-11-04T12:41:26+00:00" } $$ aws s3api --profile default list-object-versions --bucket user-m-anane-ece --prefix bronze/users.csv $$ jq -r '[.Versions[] | select(.Size == 7351 or .IsLatest == false)] | sort_by(.LastModified) | .[0].VersionId' $ VID=null $ echo VID=null VID=null $ aws s3api --profile default get-object --bucket user-m-anane-ece --key bronze/users.csv --version-id null users_v1.csv { "AcceptRanges": "bytes", "LastModified": "2026-11-04T12:41:26+00:00", "ContentLength": 7351, "ETag": "\"8ec7f3451d58c6634f5546ae80adb71f\"", "ChecksumCRC64NVME": "Qu9sulA4Fs4=", "VersionId": "null", "ContentEncoding": "aws-chunked", "ContentType": "text/csv", "Metadata": { "rows": "50", "source": "dataset_users.py", "version": "1" } } $ diff -q users.csv users_v1.csv $ echo 'version 1 restored' version 1 restored $ aws s3 --profile default rm s3://user-m-anane-ece/bronze/users.csv delete: s3://user-m-anane-ece/bronze/users.csv $ aws s3 --profile default ls s3://user-m-anane-ece/bronze/ $ aws s3api --profile default list-object-versions --bucket user-m-anane-ece --prefix bronze/users.csv { "Versions": [ { "ETag": "\"23a934bc77bc4dffa13ee2d1d6f0d73b\"", "Size": 5855, "StorageClass": "STANDARD", "Key": "bronze/users.csv", "VersionId": "671b27f26363f7f29f2695ee67287c71", "IsLatest": false, "LastModified": "2026-11-04T12:41:44+00:00", "Owner": { "DisplayName": "admin", "ID": "admin" } }, { "ETag": "\"8ec7f3451d58c6634f5546ae80adb71f\"", "Size": 7351, "StorageClass": "STANDARD", "Key": "bronze/users.csv", "VersionId": "671b27f2e3b671a25a819dc3374f6b3b", "IsLatest": false, "LastModified": "2026-11-04T12:41:42+00:00", "Owner": { "DisplayName": "admin", "ID": "admin" } }, { "ETag": "\"8ec7f3451d58c6634f5546ae80adb71f\"", "Size": 7351, "StorageClass": "STANDARD", "Key": "bronze/users.csv", "VersionId": "null", "IsLatest": false, "LastModified": "2026-11-04T12:41:26+00:00", "Owner": { "DisplayName": "admin", "ID": "admin" } } ], "DeleteMarkers": [ { "Owner": { "DisplayName": "anonymous", "ID": "anonymous" }, "Key": "bronze/users.csv", "VersionId": "671b27f0d2592c6c1073f13865ec58c0", "IsLatest": true, "LastModified": "2026-11-04T12:41:51+00:00" } ], "RequestCharged": null, "Prefix": "bronze/users.csv" } $ cat $ aws s3api --profile default put-bucket-lifecycle-configuration --bucket user-m-anane-ece --lifecycle-configuration file://lifecycle.json $ aws s3api --profile default get-bucket-lifecycle-configuration --bucket user-m-anane-ece { "TransitionDefaultMinimumObjectSize": "all_storage_classes_128K", "Rules": [ { "Expiration": { "Days": 30 }, "ID": "expire-large-after-30-days", "Filter": { "Prefix": "large/" }, "Status": "Enabled" }, { "ID": "delete-noncurrent-versions", "Filter": { "Prefix": "" }, "Status": "Enabled", "NoncurrentVersionExpiration": { "NoncurrentDays": 7 } }, { "ID": "abort-incomplete-multipart", "Filter": { "Prefix": "" }, "Status": "Enabled", "AbortIncompleteMultipartUpload": { "DaysAfterInitiation": 7 } } ] } $ cat $ aws s3 --profile default cp users.csv s3://user-m-anane-ece/bronze/protected.csv Completed 7.2 KiB/7.2 KiB (47.8 KiB/s) with 1 file(s) remaining upload: ./users.csv to s3://user-m-anane-ece/bronze/protected.csv $ aws s3api --profile default put-bucket-policy --bucket user-m-anane-ece --policy file://policy.json $ aws s3 --profile default rm s3://user-m-anane-ece/bronze/protected.csv delete failed: s3://user-m-anane-ece/bronze/protected.csv An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied. $ aws s3api --profile default delete-bucket-policy --bucket user-m-anane-ece $ aws s3api --profile default get-object-acl --bucket user-m-anane-ece --key bronze/protected.csv { "Owner": { "DisplayName": "admin", "ID": "admin" }, "Grants": [ { "Grantee": { "DisplayName": "admin", "ID": "admin", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" } ] } $ aws s3 --profile default cp users.csv s3://user-m-anane-ece/bronze/users.csv Completed 7.2 KiB/7.2 KiB (59.1 KiB/s) with 1 file(s) remaining upload: ./users.csv to s3://user-m-anane-ece/bronze/users.csv $ aws s3 --profile default cp s3://user-m-anane-ece/bronze/users.csv /dev/null Completed 7.2 KiB/7.2 KiB (73.8 KiB/s) with 1 file(s) remaining warning: Skipping file /dev/null. Successfully Downloaded /dev/null but was unable to update the last modified time. The file was downloaded, but attempting to modify the utime of the file failed. Is the file owned by another user? Completed 7.2 KiB/7.2 KiB (73.8 KiB/s) with 1 file(s) remaining download: s3://user-m-anane-ece/bronze/users.csv to ../../../../dev/null $ for prefix in bronze/ large/ $ aws s3api --profile default list-object-versions --bucket user-m-anane-ece --prefix bronze/ --output json $ jq -c '{Objects: ([.Versions[]?, .DeleteMarkers[]?] | map({Key, VersionId})), Quiet: true}' $$ jq '.Objects | length' delete.json $ '[' 6 -gt 0 ']' $ aws s3api --profile default delete-objects --bucket user-m-anane-ece --delete file://delete.json $ for prefix in bronze/ large/ $ aws s3api --profile default list-object-versions --bucket user-m-anane-ece --prefix large/ --output json $ jq -c '{Objects: ([.Versions[]?, .DeleteMarkers[]?] | map({Key, VersionId})), Quiet: true}' $$ jq '.Objects | length' delete.json $ '[' 1 -gt 0 ']' $ aws s3api --profile default delete-objects --bucket user-m-anane-ece --delete file://delete.json $ aws s3 --profile default rm s3://user-m-anane-ece/bronze/ --recursive $ aws s3 --profile default rm s3://user-m-anane-ece/large/ --recursive $ aws s3api --profile default put-bucket-versioning --bucket user-m-anane-ece --versioning-configuration Status=Suspended $ aws s3api --profile default delete-bucket-lifecycle --bucket user-m-anane-ece $ rm -f large_dataset.bin users_downloaded.csv users_v1.csv users_v2.csv delete.json lifecycle.json policy.json $ aws s3 --profile default ls s3://user-m-anane-ece/ --recursive $ kubectl auth can-i create jobs yes $ kubectl auth can-i create secrets yes $ uv run dataset-users -o csv $ uv run dataset-orders -o csv $ ls -lh users.csv orders.csv -rw-r--r-- 1 onyxia users 324K Nov 4 12:42 orders.csv -rw-r--r-- 1 onyxia users 7.2K Nov 4 12:42 users.csv $ kubectl create configmap datasets --from-file=users.csv --from-file=orders.csv configmap/datasets created $$ aws configure get region --profile default $ kubectl create configmap s3-config --from-literal=AWS_ENDPOINT_URL=https://s3.seaweedfs.adm.adaltas.cloud --from-literal=AWS_DEFAULT_REGION=us-east-1 --from-literal=LAB_BUCKET_NAME=user-m-anane-ece configmap/s3-config created $ set +x $ kubectl create secret generic s3-credentials --from-env-file=s3.env secret/s3-credentials created $ rm s3.env $ cat $ kubectl apply -f job-upload-bronze.yaml job.batch/upload-bronze created $ kubectl wait --for=condition=complete job/upload-bronze --timeout=240s error: timed out waiting for the condition on jobs/upload-bronze $ kubectl logs job/upload-bronze error: error from server (NotFound): jobs.batch "upload-bronze" not found in namespace "user-m-anane-ece" $ aws s3 --profile default ls s3://user-m-anane-ece/bronze/ --recursive 2026-11-04 12:45:59 331568 bronze/orders.csv 2026-11-04 12:45:53 7351 bronze/users.csv $ kubectl delete -f job-upload-bronze.yaml Error from server (NotFound): error when deleting "job-upload-bronze.yaml": jobs.batch "upload-bronze" not found $ kubectl delete configmap datasets s3-config configmap "datasets" deleted from user-m-anane-ece namespace configmap "s3-config" deleted from user-m-anane-ece namespace $ kubectl delete secret s3-credentials secret "s3-credentials" deleted from user-m-anane-ece namespace $ git status --short M .gitignore ?? job-upload-bronze.yaml $ git add .gitignore $ git commit -m 'chore: ignore csv datasets' [main ac88fa9] chore: ignore csv datasets 1 file changed, 1 insertion(+) $ true EXIT_CODE=0