SORACOM LTE-M Button과 Amazon Connect에서 도움을 받아 버튼을 만들었습니다.
8088 단어 AmazonConnect람다SORACOM그 버튼IoT
전체상
SORACOM 버튼 설정
이쪽에 여러가지 있으므로, 자세한 것은 이쪽을 참고로. SORACOM LTE-M Button powered by AWS를 사용한 개발 TIPS
이번에는 1-Click 설정에서 Lambda 함수를 호출하도록 했다.
Lambda 함수
여러 사람에게 전화를 순서대로 걸 수 있도록, 걸은 전화 번호를 lambda의 인수로 받고, 그 다음의 번호에 거는 것 같은 구조로 했습니다.
1-Click에서 호출되면
event["Details"]["Parameters"]["customer"]
는 존재하지 않으므로 0 번째 번호에 걸쳐 존재하면 다음 번호를 사용하는 것과 같은 구조입니다.(예외 처리나, 복수인에게 걸려도 안 되었을 경우의 대처는 어떻게 할까 고민할 곳. 적어도 착신은 하고 있기 때문에 나중에라도 눈치챈 수 있을 것.)
import boto3
import json
CALL_LIST = [
"+819011111111",
"+819022222222",
"+819033333333"
]
FLOW_ID = ""
INSTANCE_ID = ""
SOURCE_PHONE_NUMBER = ""
client = boto3.client('connect', region_name="ap-northeast-1")
def make_call(phone_number):
response = client.start_outbound_voice_contact(
DestinationPhoneNumber=phone_number,
ContactFlowId=FLOW_ID,
InstanceId=INSTANCE_ID,
SourcePhoneNumber=SOURCE_PHONE_NUMBER
)
print(response)
def lambda_handler(event, context):
print(json.dumps(event))
pos = 0
if "Details" in event and "Parameters" in event["Details"]:
for i in range(len(CALL_LIST)):
pos = i
if CALL_LIST[i] == event["Details"]["Parameters"]["customer"]:
pos = pos + 1
break
if pos >= len(CALL_LIST):
print("no more phone numbers")
return
print(CALL_LIST[pos])
make_call(CALL_LIST[pos])
return
문의 흐름 ARN
예) arn:aws:connect:ap-northeast-1:< ACCOUNT_NO >:instance/< INSTANCE_ID >/contact-flow/< FLOW_ID >
변수
설정값
CALL_LIST
전화 번호 목록 (+ 국가 번호 번호 형식)
FLOW_ID
문의 흐름 ARN의
INSTANCE_ID
문의 흐름 ARN의
SOURCE_PHONE_NUMBER
취득한 번호 아시아 태평양 (도쿄) 리전의 Amazon Connect 인스턴스 전화 번호를 얻는 방법
문의 흐름
start_outbound_voice_contact에서 호출하는 경우 문의 흐름이어야 합니다.
이 흐름에서는 전화를 걸어도 대응할 수 없는 경우는 다음 사람에게 전화를 걸고 싶었기 때문에, 사용자의 입력으로 분기해, 반복해 Lambda를 호출하도록 하고 있습니다.
흐름에 로깅 동작 설정을 넣으면 CloudWatch Logs에 로그가 출력되므로 디버깅에 유용합니다.
로그는 이런 식으로 각 블록의 로그가 출력됩니다.
요약
버튼을 누르면 전화가 걸려 오므로, 그 전화 번호를 연락처에 등록해 두면, 뭔가 있던 것은 바로 전해지게 되었습니다.
잔량의 체크를 추가해, 교환 시기를 알게 하는 것도 좋다고 생각합니다만, 잔량이나 늘어날수록 밀리는 상황은 가능하면 피하고 싶다고 하는 생각은 있습니다. .
AWS의 엄청난 비용감으로 (2019/1/4 시점)
비용은 구성에 따라 달라지므로 자세한 내용은 Amazon Connect 요금을 확인하십시오.
발신을 하기 위해서 전화번호의 취득이 필요하므로, 0.10 USD/day.
나가는 비용 0.1000 USD/day.
버튼을 누르지 않으면 $3/Month 정도로 유지할 수 있을 것 같네요
면책
발언 내용은 개인적인 의견이며 소속 기업을 대표하는 것은 아닙니다.
게재하고 있는 소스 코드는, 샘플 레벨의 물건이므로 동작을 보증하는 것은 아닙니다.
Reference
이 문제에 관하여(SORACOM LTE-M Button과 Amazon Connect에서 도움을 받아 버튼을 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sparkgene/items/9e07791738362cac432e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)