フォーラム
Outgoing Webhook 会議履歴のリクエスト処理方法(実装)について
10 months ago by 菊永 太志
チュートリアルに倣って、app/main.py を以下のように実装しています。
import logging
from aws_lambda_powertools import Logger
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import PlainTextResponse
from mangum import Mangum
from app.schema import OutgoingWebhookPayload
logger = Logger(service="mangum")
logger.setLevel(logging.INFO)
app = FastAPI(docs_url=None, redoc_url=None, openapi_url=None)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/hello")
def read_root():
return {"Hello": "World"}
@app.post("/outgoing-webhook")
def outgoing_webhook(data: OutgoingWebhookPayload):
# DEBUG: Input Data Check.
logger.info(data)
if data.challenge:
# ヘッダーを {'Content-Type':'text/plain'} とした 200 レスポンスで 'hex_token' 値を返す
return PlainTextResponse(data.challenge, status_code=200)
_video = data.video
logger.info(f"[id]: {_video.id}")
logger.info(f"[title]: {_video.title}")
logger.info(f"[platform]: {_video.platform}")
logger.info(f"[starts_at]: {_video.starts_at}")
logger.info(f"[ends_at]: {_video.ends_at}")
logger.info(f"[host]: {_video.host.user_name} ({_video.host.login_id})")
logger.info(f"[analysis](overlap_count): {_video.analysis.overlap_count}")
logger.info(f"[analysis](silence_count): {_video.analysis.silence_count}")
for participant in _video.participants:
logger.info(
f"[participant]: {participant.display_name} ({participant.login_id})"
)
logger.info(f"[speech_recognition](raw): {_video.speech_recognition.raw}")
logger.info(f"[speech_recognition](summary): {_video.speech_recognition.summary}")
return {"Outgoing Webhook": "Success"}
handler = Mangum(app, "off")
これらを含めて Lambda へデプロイし、Postman, curl コマンド等で Challenge Response 応答やテスト用のダミーイベント JSON を使用してコードが正常に実行されることは確認済みです。
ただ、MiiTel 側から Webhook を Call された場合、CloudWatch に Challenge Response のログは残っていますが、それ以降の例えば上記でいえば video の内容がログに出力されません。
outgoing-webhook の Call のされ方?(シーケンス)等を教えて下さい。
もしくは app/schema.py に問題がありそうとのことであれば別途提示いたします。
アドバイス頂けると助かります。