Lambda (Python)에서 Chatwork에 알림 보내기

소개



특히 새로운 내용은 아니지만 비망록으로 기재해 둡니다.

이 기사의 속편입니다.

· AWS MediaLive 채널 정지를 잊지 않도록 자동 알림 설정
htps : // 이 m / k 치치 / ms / 74125df4 예 79c97d5d

이전에 작성한 Lambda의 알림 대상으로 Chatwork를 추가했습니다.
SNS는 사용하지 않고 Lambda에서 메시지를 직접 채팅으로 건너 뜁니다.

구성도





절차



Chatwork에 알리는 쉬운 방법을 찾고 있었는데,
requests 모듈의 POST 메소드를 이용하는 방법에 도달했기 때문에, 그 방법을 채용하기로 했습니다.

Lambda의 설정 부분만 기재합니다.

requests 모듈 설치



먼저 아래 문서에 따라 requests 모듈을 설치합니다.
htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / ぁ mb다 / ㅁ st / dg / py 텐 빠 c 가게. html #py

Chatwork API



Chatwork에 메시지를 보내려면 다음 두 가지 정보가 필요합니다.
취득 방법의 링크처를 붙여 둡니다.

・룸 ID
htps : // 에 lp. 제대로 rk. 코 m/hc/쟈/아르치 cぇs/360000142942

· API 토큰
htps : // 에 lp. 제대로 rk. 코 m/hc/쟈/아르치 cぇs/115000172402

Lambda 코드



이번에 추가한 내용은 후반 부분이 됩니다.

lambda_function.py
import boto3
import requests

medialive = boto3.client('medialive')
sns = boto3.client('sns')

def lambda_handler(event, context):
    channels = medialive.list_channels()
    channel_list = []

    for Channels in channels['Channels'] :
        if Channels['State'] == 'RUNNING':
            name = Channels['Name']
            id = Channels['Id']
            state = Channels['State']
            channel_list.append("| " + name + " | " + id + " | " + state + " |")

    print('\n'.join(channel_list))

    if channel_list == []:
        pass

    else:

        #to_SNS
        request = {
            'TopicArn': "<SNSトピックのARN>",
            'Message': ('\n'.join(channel_list)),
            'Subject': "Running MediaLive Channels"
            }
        sns.publish(**request)

        #to_Chatwork
        apiurl = 'https://api.chatwork.com/v2'
        roomid   = 'xxxxxxxx'
        message  =  ('\n'.join(channel_list))
        apikey   = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

        post_message_url = '{}/rooms/{}/messages'.format(apiurl, roomid)

        headers = { 'X-ChatWorkToken': apikey }
        params = { 'body': message }
        r = requests.post(post_message_url,headers=headers,params=params)
        print(r)

실행 결과





참고



htps : //가 되어-t. 코 m / py 텐 쵸토 rk /
htps : //는 ck에서. jp / 아 r ゔ ぇ s / 48083 /

좋은 웹페이지 즐겨찾기