Skip to content

feat(sns-discord): post CloudWatch alarms and AWS Budgets notifications in Korean - #210

Merged
lens0021 merged 4 commits into
mainfrom
feat/korean-alarm-messages
Oct 3, 2026
Merged

lens0021 merged 4 commits into
mainfrom
feat/korean-alarm-messages

Conversation

@lens0021

@lens0021 lens0021 commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

Alarm and budget posts in Discord now read in Korean, with times in KST. Today they pass AWS's English NewStateReason through, and the embed lists every raw key of the SNS message.

The CloudFront OK from 10:46 KST today becomes:

🟢 [CloudFront Requests] 해제, 10월 3일 10:46 KST. 5분 합계가 기준(60,000 초과)에 걸리지 않습니다. 최근 값 3,184(10:37), 2,856(10:32), 3,223(10:27).

A budget becomes [예산 lambda] 실제 비용이 알림 기준(> $0.01)을 넘었습니다. 실제 $0.02, 예산 $1.00.

  • The sentence comes from Trigger (statistic, period, comparison, threshold, evaluation periods). The datapoints are not a structured field in the SNS message, so they are read out of NewStateReason; if that text changes shape, the datapoints drop out and the rest stays.
  • The embed now carries AlarmDescription (none of the alarms set one yet) instead of the raw ARNs and actions. The chart no longer clears it.
  • Budgets text is parsed line by line (Budget Name: and so on). Any other non-JSON message is dumped as before.
  • hgtk (pure Python wheel, no dependencies) attaches 이/가 to the statistic name, in a new sns-discord dependency group.

Review commit by commit. Since uv.lock changes, merging redeploys all three functions, not only sns-discord; after it lands I send a _Test message through CloudWatch_Alarms_Topic.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NjZkQtRoTFu44uBp8tgofc

lens0021 and others added 4 commits October 3, 2026 10:55
Build the message from the alarm's Trigger and the datapoints in
NewStateReason instead of passing AWS's English reason through, and
label the chart's threshold line 기준.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NjZkQtRoTFu44uBp8tgofc
…elds

The embed listed every key of the SNS message, ARNs and actions
included, in AWS's English. It now carries the alarm's own
description, which the chart no longer clears.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NjZkQtRoTFu44uBp8tgofc
Budgets publish plain English text, which was posted as a code block
under an empty line. Read its Budget Name, Alert Type, Alert Threshold
and amount lines into one Korean sentence; anything else that is not
JSON is still dumped as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NjZkQtRoTFu44uBp8tgofc
The statistic names no longer carry 이/가 themselves. hgtk ships a pure
Python wheel, so the deploy's --only-binary install takes it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NjZkQtRoTFu44uBp8tgofc
@lens0021
lens0021 merged commit 076c5d8 into main Oct 3, 2026
6 checks passed
@lens0021
lens0021 deleted the feat/korean-alarm-messages branch October 3, 2026 02:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant