Skip to content

Commit fa2f350

Browse files
committed
Clean up documentation and update project overview
Removed redundant and commented sections from Instructions.md and README.md for clarity. Updated the README project overview and image references, and improved the feature summary to better reflect the current state and capabilities of the AWS Serverless ELT Pipeline.
1 parent f8954b8 commit fa2f350

File tree

2 files changed

+11
-34
lines changed

2 files changed

+11
-34
lines changed

Instructions.md

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,6 @@ make ge-status
239239
make ge-history
240240
```
241241

242-
## GitHub Actions
243242
## GitHub Actions
244243

245244
本仓库包含:
@@ -276,8 +275,6 @@ ls -la configs/ups_shipping.yaml lambdas/transform/ups_shipping/handler.py dq/up
276275
## E2E 验收清单(见截图)
277276

278277
目标:按顺序过一遍就能留存证据。每一步都有「要点 → 命令/控制台路径 → 通过标准(截图)」。
279-
目标:按顺序过一遍就能留存证据。每一步都有「要点 → 命令/控制台路径 → 通过标准(截图)」。
280-
281278
建议先跑一键版(会依次执行多步 CLI 验证 + 造数 + 等待 Silver):
282279

283280
- `make verify-e2e`
@@ -290,7 +287,6 @@ ls -la configs/ups_shipping.yaml lambdas/transform/ups_shipping/handler.py dq/up
290287
- `make profile-audrey-tf`
291288
- 然后:`export AWS_PROFILE=audrey-tf`
292289

293-
### 0) Profile / Region
294290
### 0) Profile / Region
295291

296292
要点:确认当前命令行使用的 AWS 身份与区域。
@@ -299,7 +295,6 @@ ls -la configs/ups_shipping.yaml lambdas/transform/ups_shipping/handler.py dq/up
299295
- 通过:`Account=818466672474`,且 Arn 对应你预期的身份(可为 `user/audrey-tf` 或 Toolkit 登录的 session)。
300296
![](<demo/0-我是谁(Profile:Region+Python环境).png>)
301297

302-
### 1) Terraform
303298
### 1) Terraform
304299

305300
要点:确保 TF 已部署并且能输出关键资源名/ARN。
@@ -310,7 +305,6 @@ ls -la configs/ups_shipping.yaml lambdas/transform/ups_shipping/handler.py dq/up
310305
![](<demo/1-Terraform用对了身份+Region-2.png>)
311306

312307

313-
### 2) S3 (bronze → ingest)
314308
### 2) S3 (bronze → ingest)
315309

316310
要点:S3 Event notification 指向 ingest Lambda,并且 prefix 为 `bronze/`
@@ -320,14 +314,14 @@ ls -la configs/ups_shipping.yaml lambdas/transform/ups_shipping/handler.py dq/up
320314
- 通过:事件存在且目标 ARN 为 ingest。
321315
![](<demo/2-S3事件触发已就绪(bronze→LambdaIngest).png>)
322316

323-
### 3) Lambda (ingest / transform)
317+
324318
### 3) Lambda (ingest / transform)
325319

326320
- 命令:`make verify-lambdas`
327321
- 通过:输出 `OK ingest=...``OK transform=...`
328322
![](<demo/3-Lambda正常(ingest-transform).png>)
329323

330-
### 4) Idempotency(DynamoDB)+ TTL
324+
331325
### 4) Idempotency(DynamoDB)+ TTL
332326

333327
要点:本项目幂等粒度是 **S3 对象级别**`s3://bucket/key#etag`,不是 record/event_id 级别。
@@ -336,14 +330,12 @@ ls -la configs/ups_shipping.yaml lambdas/transform/ups_shipping/handler.py dq/up
336330
- 通过:TTL `ENABLED`;scan 能看到 `pk/status` 等字段。
337331
![](<demo/4-幂等表-DynamoDB-TTL.png>)
338332

339-
### 5) SQS / DLQ
340333
### 5) SQS / DLQ
341334

342335
- 命令:`make verify-sqs`
343336
- 通过:主队列消息数接近 0;DLQ 为 0。(消息“最老年龄”属于 CloudWatch 指标,不是 SQS attribute)
344337
![](<demo/5-SQS-DLQ健康.png>)
345338

346-
### 6) End to End(S3 → ingest → SQS → transform → Silver)
347339
### 6) End to End(S3 → ingest → SQS → transform → Silver)
348340

349341
要点:上传一份 Bronze JSONL 触发整条链路。
@@ -352,7 +344,7 @@ ls -la configs/ups_shipping.yaml lambdas/transform/ups_shipping/handler.py dq/up
352344
- 通过:上传成功(终端会打印 `s3://<bronze>/<key>`
353345
![](<demo/造数触发E2E(S3-ingest-SQS-transform-Silver).png>)
354346

355-
### 7) Silver → Parquet
347+
356348
### 7) Silver → Parquet
357349

358350
- 命令:`make verify-silver`

README.md

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
1-
<!--
2-
* @Author: Audrey Yang 97855340+wyang10@users.noreply.github.com
3-
* @Date: 2026-01-02 00:03:56
4-
* @LastEditors: Audrey Yang 97855340+wyang10@users.noreply.github.com
5-
* @LastEditTime: 2026-01-02 02:24:49
6-
* @FilePath: /AWS-Serverless-ELT-Pipeline-Enterprise/README-1.md
7-
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8-
-->
91
# AWS Serverless ELT Pipeline — v2.0 (Enterprise-ready)
102

113
> 轻量起步,企业化能力随开随用:**S3 → Lambda → SQS → Lambda → S3(Parquet)**,可选编排、目录、质量门禁与可观测性。
@@ -185,18 +177,10 @@ make verify-idempotency
185177
# End to End Validation
186178
make verify-e2e
187179

188-
如果你新插入的图片比如 `![](demo/1.png)` 显示不出来,通常是下面原因之一:
180+
![](demo/1.png)
181+
![](demo/2.png)
182+
![](demo/3.png)
189183

190-
- 文件路径不对:GitHub 对路径大小写敏感;而且 `demo/1.png` 必须真的存在(本 repo 里默认是 `demo/0-1.png``demo/dataset-scaffold.png` 这类文件名)。
191-
- 图片还没被 git 跟踪:本地能看到但没 `git add` / `git commit` / `git push`,GitHub 上当然不会有。
192-
- 文件名有空格/括号/中文:用 `![](<demo/你的文件名 (1).png>)` 这种写法更稳。
193-
194-
建议先跑一键版(会依次执行多步 CLI 验证 + 造数 + 等待 Silver):
195-
196-
- `make verify-e2e`
197-
198-
![](<demo/0-1.png>)
199-
![](<demo/0-2.png>)
200184

201185
202186

@@ -327,10 +311,11 @@ TF_AUTO_APPROVE=1 make tf-destroy
327311

328312
📄 blurb
329313

330-
- AWS Serverless ELT Pipeline (v2.0 / Enterprise) — S3 → Lambda → SQS → Lambda → S3 (Parquet)
331-
- Added Step Functions orchestration, Glue Data Catalog/Athena, and a GE data-quality gate.
332-
- Implemented DynamoDB-based idempotency (TTL), DLQ/redrive & replay tooling, and GitHub Actions CI/CD via OIDC.
333-
- Production-ready, extensible template: per-dataset scaffold, observable, and recovery-friendly.
314+
- Shipped a serverless ELT pipeline on AWS: S3 bronze JSONL → Lambda ingest → SQS (+ DLQ) → Lambda transform → S3 silver Parquet.
315+
- Implemented object-level idempotency using DynamoDB conditional writes + TTL to prevent duplicate ingestion on retries/events.
316+
- Added operational tooling: Step Functions replay/backfill workflow, SQS DLQ redrive, and one-command dataset scaffolding (`make scaffold DATASET=...`).
317+
- Enabled “query-ready” silver layer via Glue Data Catalog + Crawler for Athena.
318+
- Delivered infrastructure as code (Terraform modules) and CI automation (pytest + terraform fmt; manual Terraform plan/apply workflow).
334319

335320
336321

0 commit comments

Comments
 (0)