Twilio Autopilot을 만져 보았습니다.

9608 단어 twilioautopilotAWS
Twilio Autopilot 에서 AWS API Gateway를 호출해 보았습니다.

할 일



전화를 걸면 Twilio가 API Gateway를 통해 서버를 시작 중지하는 Lambda를 호출하는 메커니즘을 만듭니다.

주) 인증적인 것은 넣지 않습니다.

필요한 것


  • twilio 계정
  • AWS 계정

  • 절차 개요


  • [AWS] lambda 만들기
  • [AWS] api 만들기
  • [Twilio] virtual assistant 만들기
  • [Twilio] task 만들기
  • [Twilio] sample을 만들고 모델을 빌드합니다
  • [Twilio] 전화 번호에 virtual assistant를 연결
  • [Twilio] 테스트

  • 1. [AWS] lambda 생성


    import boto3
    import json
    
    INSTANCE_ID = 'I-*****************'
    ec2 = boto3.client('ec2')
    
    
    def lambda_handler(event, context):
        command = get_command(event)
        reply = ''
    
        if command == 'start':
            res = ec2.start_instances(
                InstanceIds=[INSTANCE_ID]
            )
            reply = 'The server is starting.'
        elif command == 'stop':
            res = ec2.stop_instances(
                InstanceIds=[INSTANCE_ID]
            )
            reply = 'The server is stopping'
        else:
            reply = 'Please tell me start or stop.'
    
        body = {
                'actions': [
                    {
                        'say': reply
                    }
                ]
            }
    
        return({
            'isBase64Encoded': False,
            'statusCode': 200,
            'headers': {},
            'body': json.dumps(body)
        })
    
    
    def get_command(event):
        try:
            command = event['pathParameters']['command']
        except KeyError as err:
            command = 'other'
        return command
    

    2. [AWS] api 생성



    API Gateway에서 api를 만들고 배포합니다.


    품목



    방법
    POST

    Lambda 프록시 통합 사용
    ON

    스테이지 이름
    prod




    3. [Twilio] virtual assistant 만들기



    twilio 콘솔에서 Autopilot > Create a New Assistant를 선택하여 virtual assistant를 만듭니다.


    4. [Twilio] task 만들기



    Task를 3개 작성합니다.


    initial


    {
        "actions": [
            {
                "say": "Do you want to strat a hoge server or stop a hoge server?"
            },
            {
                "listen": true
            }
        ]
    }
    

    시작


    {
        "actions": [
            {
                "redirect": "https://**********.execute-api.us-east-1.amazonaws.com/prod/start"
            }
        ]
    }
    

    stop


    {
        "actions": [
            {
                "redirect": "https://**********.execute-api.us-east-1.amazonaws.com/prod/stop"
            }
        ]
    }
    

    5. [Twilio] sample을 작성하여 모델 빌드









    6. [Twilio] 전화번호에 virtual assistant를 묶는다



    [Channels] - [Programmable Voice]의 VOICE URL을 복사합니다.



    아래 그림의 빨간색 테두리에 붙여넣어 전화 번호와 연결합니다.



    7. [Twilio] 테스트하기



    Twilio에서 구입한 전화번호로 전화하여 '시작' 또는 '중지'를 지시합니다.

    잡감



    그 1
    발음이 나쁜 것인지, stop의 분 밖에 인식해 주었습니다. 빨리 일본어에 대응하지 않을까. .

    그 2
    최근의 twilio는 SendGrid를 인수하거나 전화의 틀을 넘어 커뮤니케이션 분야 전체에 손을 펼치는 것처럼 보입니다. 그 중 Slack이나 Facebook을 삼키기도 하고. . .

    좋은 웹페이지 즐겨찾기