Skip to content

Commit b606bdb

Browse files
committed
Clean up and condense README instructions
Removed redundant section headers, extra descriptions, and screenshot instructions from the README to streamline the documentation and make it more concise. The changes focus on keeping only essential commands and verification steps, improving readability for users.
1 parent 31dbf22 commit b606bdb

File tree

1 file changed

+17
-28
lines changed

1 file changed

+17
-28
lines changed

README.md

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ cd AWS-Serverless-ELT-Pipeline-Enterprise
125125
git checkout v2.0
126126
```
127127

128-
### 1) Python 虚拟环境 + 依赖
128+
### 1) Python ENV + Dependencies
129129

130130
```bash
131131
python3 -m venv .venv
@@ -238,12 +238,12 @@ make ge-status
238238
make ge-history
239239
```
240240

241-
## GitHub Actions(更像企业交付)
241+
## GitHub Actions
242242

243243
本仓库包含:
244244

245245
- `.github/workflows/ci.yml``pytest` + `terraform fmt -check`
246-
- `.github/workflows/terraform-manual.yml`:手动触发的 `plan/apply/destroy`企业版工作流
246+
- `.github/workflows/terraform-manual.yml`:手动触发的 `plan/apply/destroy`工作流
247247

248248
### terraform-manual:先配 Secrets 再运行
249249

@@ -272,7 +272,7 @@ ls -la configs/ups_shipping.yaml lambdas/transform/ups_shipping/handler.py dq/up
272272

273273
## E2E 验收清单(见截图)
274274

275-
目标:按顺序过一遍就能留存证据。每一步都有「要点 → 命令/控制台路径 → 通过标准(截图点)」。
275+
目标:按顺序过一遍就能留存证据。每一步都有「要点 → 命令/控制台路径 → 通过标准(截图)」。
276276

277277
建议先跑一键版(会依次执行多步 CLI 验证 + 造数 + 等待 Silver):
278278

@@ -286,112 +286,101 @@ ls -la configs/ups_shipping.yaml lambdas/transform/ups_shipping/handler.py dq/up
286286
- `make profile-audrey-tf`
287287
- 然后:`export AWS_PROFILE=audrey-tf`
288288

289-
### 0) 我是谁(Profile/Region
289+
### 0) Profile / Region
290290

291291
要点:确认当前命令行使用的 AWS 身份与区域。
292292

293293
- 命令:`make verify-whoami`
294294
- 通过:`Account=818466672474`,且 Arn 对应你预期的身份(可为 `user/audrey-tf` 或 Toolkit 登录的 session)。
295-
- 截图:终端输出整块(含 `AWS_PROFILE` / `AWS_REGION`)。
296295
![](<demo/0-我是谁(Profile:Region+Python环境).png>)
297296

298-
### 1) Terraform 输出就绪
297+
### 1) Terraform
299298

300299
要点:确保 TF 已部署并且能输出关键资源名/ARN。
301300

302301
- 命令:`make verify-tf-outputs`
303302
- 通过:输出里至少包含 `bronze_bucket` / `silver_bucket` / `queue_url` / `ingest_lambda` / `transform_lambda`
304-
- 截图:终端 output。
305303
![](<demo/1-Terraform用对了身份+Region.png>)
306304
![](<demo/1-Terraform用对了身份+Region-2.png>)
307305

308306

309-
### 2) S3 事件触发已就绪(bronze → ingest)
307+
### 2) S3 (bronze → ingest)
310308

311309
要点:S3 Event notification 指向 ingest Lambda,并且 prefix 为 `bronze/`
312310

313311
- 命令:`make verify-s3-notifications`
314312
- 控制台:S3 → `<bronze_bucket>` → Properties → Event notifications
315313
- 通过:事件存在且目标 ARN 为 ingest。
316-
- 截图:控制台 Event notification 卡片(或终端 table 输出)。
317314
![](<demo/2-S3事件触发已就绪(bronze→LambdaIngest).png>)
318315

319-
### 3) Lambda 存在且可读(ingest / transform)
316+
### 3) Lambda (ingest / transform)
320317

321318
- 命令:`make verify-lambdas`
322319
- 通过:输出 `OK ingest=...``OK transform=...`
323-
- 截图:终端输出;控制台 Lambda → Monitor → Logs
324320
![](<demo/3-Lambda正常(ingest-transform).png>)
325321

326-
### 4) 幂等表(DynamoDB) TTL(对象级别)
322+
### 4) Idempotency(DynamoDB)+ TTL
327323

328324
要点:本项目幂等粒度是 **S3 对象级别**`s3://bucket/key#etag`,不是 record/event_id 级别。
329325

330326
- 命令:`make verify-ddb`
331327
- 通过:TTL `ENABLED`;scan 能看到 `pk/status` 等字段。
332-
- 截图:终端 TTL 输出 + scan 输出(前几条)。
333328
![](<demo/4-幂等表-DynamoDB-TTL.png>)
334329

335-
### 5) SQS / DLQ 健康
330+
### 5) SQS / DLQ
336331

337332
- 命令:`make verify-sqs`
338333
- 通过:主队列消息数接近 0;DLQ 为 0。(消息“最老年龄”属于 CloudWatch 指标,不是 SQS attribute)
339-
- 截图:终端 `get-queue-attributes` 输出; SQS 控制台 Monitoring 图表。
340334
![](<demo/5-SQS-DLQ健康.png>)
341335

342-
### 6) 造数触发 E2E(S3 → ingest → SQS → transform → Silver)
336+
### 6) End to End(S3 → ingest → SQS → transform → Silver)
343337

344338
要点:上传一份 Bronze JSONL 触发整条链路。
345339

346340
- 命令:`make verify-seed`(会把本次上传写入 `$(E2E_LAST_SEED_FILE)`
347341
- 通过:上传成功(终端会打印 `s3://<bronze>/<key>`
348-
- 截图:终端输出 + S3 控制台里该对象 Key
349342
![](<demo/造数触发E2E(S3-ingest-SQS-transform-Silver).png>)
350343

351-
### 7) Silver 产出 Parquet(等待窗口)
344+
### 7) Silver Parquet
352345

353346
- 命令:`make verify-silver`
354347
- 通过:最近 `$(VERIFY_WINDOW_MINUTES)` 分钟内能观测到 `silver/shipments/` 下新增 parquet。
355-
- 截图:终端 OK 输出;或 S3 控制台显示 parquet 文件列表。
356348
![](<demo/6-造数触发整条链路(S3→ingest→SQS→transform→Silver).png>)
357349

358-
### 8) 幂等验收(同一对象重复触发会被跳过)
350+
### 8) Idempotency Validation - Exactly Once
359351

360352
要点:为了避免 S3 自动触发干扰,这一步会把对象上传到 `$(E2E_IDEMPOTENCY_PREFIX)/...`(不匹配 `bronze/` 通知),然后手动 invoke ingest 两次,第二次应 `skipped>=1`
361353

362354
- 命令:`make verify-idempotency`
363355
- 通过:第二次 invoke 输出里 `skipped>=1`,并打印 `OK: second invoke skipped`
364-
- 截图:终端 first/second 两段输出。
365356
![](<demo/7-幂等验收-profile-key-lambda-invoke.png>)
366357

367-
### 9) Glue / Athena(可选)
358+
### 9) Glue / Athena
368359

369360
前提:`glue_enabled=true`
370361

371362
- 命令:`make verify-glue`
372363
- 通过:crawler `LastCrawl=SUCCEEDED`;能看到 database 名称。
373-
- 截图:Glue 控制台表结构页 + Athena 查询结果(见下方 “Athena quick queries”)。
374364
![](<demo/8-GlueCatalog-Athena可查询.png>)
375365
![](<demo/Athena.png>)
376366

377-
### 10) GE 质量门禁(可选)
367+
### 10) Great Expectations Quality Gate
368+
378369

379370
前提:`ge_enabled=true``ge_workflow_enabled=true`
380371

381372
- 命令:`make verify-ge`(列出最近执行;手动触发用 `make ge-start`
382373
- 通过:能看到最近的 executions;或至少 state machine 存在。
383-
- 截图:Step Functions execution 详情(Glue task 绿勾)或终端 list-executions 输出。
384374
![](<demo/9-质量门禁-StepFunctions-GlueGEJob.png>)
385375
![](<demo/step-function-1.png>)
386376
![](<demo/step-function-2.png>)
387377

388-
### 11) CloudWatch Dashboard(可选)
378+
### 11) CloudWatch Dashboard
389379

390380
前提:`observability_enabled=true` 且账号允许 `cloudwatch:PutDashboard`
391381

392382
- 命令:`make verify-observability`
393383
- 通过:输出 `OK dashboard=...`
394-
- 截图:CloudWatch Dashboard 预览页。
395384

396385
## Quickstart (dev)
397386

0 commit comments

Comments
 (0)