클라우드/NCP(클라우드)
[ NCP 서버이미지 ] 생성 및 삭제 알람 발송하기 ( python3 + slack )
블루빔
2023. 11. 23. 20:00
서버이미지를 자동 생성 및 삭제하게 되면 해당 작업이 실제로 정확하게 진행이 되었는지 확인하기 위해 작업 결과를 slack에 발송하는 스크립트를 추가하였습니다.
목차
▶ 서버이미지 생성 확인
▶ 서버이미지 삭제 확인
▶ 알림 발송 ( Slack )
▶ 서버이미지 생성 확인
rearrange_image_list()에는 해당 글 ⬅️중 서버이미지 리스트 확인 결과 값이 담겨 있습니다.
def create_check():
checkimg = rearrange_image_list()
####당일 생성한 서버이미지만 선택
checkimg = checkimg[checkimg["check"] == 0]
####당일 생성한 서버이미지가 없을 경우 생성 실패 메시지 출력
if checkimg.empty == True:
created_name = "생성 실패 :( "
else:
####오늘 생성한 서버이미지들을 챗방에 전송
created_name = "Success:\n" + '\n'.join(s for s in checkimg["image_name"].tolist())
webhook(f'오늘 생성한 이미지 : \n{created_name}')
▶ 서버이미지 삭제 확인
생성된 지 n일이 지난 행만 선택하고 싶으면 n-1을 기재해야 합니다.
def delete_check():
checkimg = rearrange_image_list()
####생성된지 7일 지난 행만 선택
checkimg = checkimg[checkimg["check"] > 6]
####해당 데이터가 없을 경우 삭제 성공 알림 출력
if checkimg.empty == True:
deleted_name = "삭제 성공!"
else:
####해당 데이터가 있을 경우 삭제안된 부분을 출력
deleted_name = "Fail:\n" + '\n'.join(s for s in checkimg["image_name"].tolist())
webhook(f'오늘 삭제한 이미지 : \n{deleted_name}')
▶ 알림 발송 ( Slack )
webhook을 이용한 Slack 알림 발송 설정을 합니다.
def webhook(message):
# Slack의 webhook url을 기재합니다.
url = "https://hooks.slack.com/~~~~~~"
payload = {"text": message}
requests.post(url, json=payload)