사용 라이브러리


<aside>

1. import datetime
=> 현재 날짜 및 시간을 가져오고 형식 변환

사용된 함수/메서드
-----------------
dateimte.datetime.today() - 현재 날짜 및 시간 가져옴
strftime("%Y-%m-01") - 날짜를 문자열로 변환

-------------------------------------------------------------------------------
2. import os
=> 환경 변수 값 가져옴

-------------------------------------------------------------------------------
3. import json
=> json데이터를 인코딩, 디코딩

사용된 함수/메서드
-----------------
json.loads(source) - json 문자열 -> python dictionary 변환

-------------------------------------------------------------------------------
4. urllib.request
=> HTTP 요청을 전송 및 응답 받음

사용된 함수/메서드
-----------------
urllib.request.urlopen(url) - URL에 GET 요청 전송
urllib.request.Request(TELEGRAM_URL, data=data) - Post 요청 생성
urllib.request.urlopen(req) - POST 요청 전송 및 응답 받기

-------------------------------------------------------------------------------
5. import urllib.parse as parse
=> URL에 포함될 데이터를 인코딩

사용된 함수/메서드
-----------------
parse.urlencode({...}).encode() - dictionary를 URL-encoded 문자열로 변환 후, UTF-8 인코딩

-------------------------------------------------------------------------------
6. import boto3
=> AWS 서비스와 상호작용

사용된 함수/메서드
-----------------
boto3.client("ce") - AWS Cost Explorer API 클라이언트 생성
client.get_cost_and_usage(...) - AWS 비용 데이터 갖고오기

-------------------------------------------------------------------------------
7. from dateutil import relativedelta
=> 날짜 간격을 쉽게 계산

사용된 함수/메서드
-----------------
relativedelta.relativedelta(months=1) - 한 달을 더하는 연산

</aside>

환경 변수 설정


<aside>

API_KEY = os.environ["API_KEY"]
TOKEN = os.environ["TOKEN"]
GROUP_ID = os.environ["GROUP_ID"]

</aside>

Telegram API URL


<aside>

TELEGRAM_URL = "<https://api.telegram.org/bot{}/sendMessage>".format(TOKEN)

환율 정보


<aside>

def get_exchange_rate(api_key):
    url = f"<https://v6.exchangerate-api.com/v6/{api_key}/pair/USD/KRW>"
    with urllib.request.urlopen(url) as response:
        source = response.read().decode("utf-8")
        data = json.loads(source)
        exchange_rate = data["conversion_rate"]
        return exchange_rate

AWS 비용 조회