Slack의 Reminder 기능을 Teams로 실현

2467 단어 슬랙파이썬
Slack에서 사용할 수 있는 reminder와 같은 기능을 Teams에서 실현하고 싶습니다만, 공식적으로는 없는 것 같다.

없는 것 같아서 AWS Lamda + cloud watch의 조합으로 실현했습니다
이번에는 파이썬으로 구현했습니다.

Microsoft의 Feeoback Forum에 똑같이 생각하는 사람도 있는 것 같다.
h tps : // 미 c로소 f는 아 ms. 우세 rゔぉ이세. 코 m / 푹신 ms / 555103 - 푸 b c / 헹굼 s 치온 s / 17062255
지금 만들고 있을까?
코멘트 본 한, 대망하고 있는 사람은 많을 것 같다.

작업 절차



①팀의 특정 채널에 incoming web hook을 설정하여 post 대상 URL을 작성
② 작성한 URL에 특정 문자열을 post하는 lamda 함수를 구현
③cloudwatch에 작성한 Lamda 함수를 호출하는 규칙을 추가
※아래의 「참고로 한 기사」에서 읽은 대로 작업했으므로, 자세한 것은 링크처의 기사를 참조해 주세요.

lamda 함수를 구현할 때 requests 모듈을 이용합니다만, Python의 표준 모듈이 아니기 때문에 pip 인스톨 한 프로젝트를 zip 형식으로 업해서 이용할 수 있도록 했습니다.

post 할 때, 문자 코드의 지정이 없기 때문에 화가납니다.data="Teamsに送信するテキスト".encode("utf-8"))상기와 같이, 문자 코드 지정해 두면 문제 없습니다.

구현 코드


import json
import requests

def lambda_handler(event, context):
    data = '{"text": "Teamsに送信するテキスト"}'.encode("utf-8")
    response = requests.post('https://outlook.office.com/webhook/f5~(この部分可変)', data=data)

Lamda 콘솔 이미지



구현한 소스와 requests 모듈을 설치했기 때문에 폴더가 몇 개 존재하고 있는 상태입니다.


참고한 기사



Teams에 Web Hook을 배포하는 방법



람다에 모듈 추가



post했을 때의 인코딩 에러 대응



claod watch의 시간 설정 방법

좋은 웹페이지 즐겨찾기