Skip to content

Instantly share code, notes, and snippets.

@kennygt51
Created August 4, 2018 11:45
Show Gist options
  • Save kennygt51/cab78e356176509998370562675da637 to your computer and use it in GitHub Desktop.
Save kennygt51/cab78e356176509998370562675da637 to your computer and use it in GitHub Desktop.
AmazonConnectから呼ぶLambda(時間帯によって転送先を切り替える為の関数)
from datetime import datetime,timezone
import os
def lambda_handler(event, context):
# 転送先Aに転送する時間帯の開始時刻・終了時刻をUTCで定義
time_A_start_s = os.environ['time_A_start_s']
time_A_end_s = os.environ['time_A_end_s']
res = {'TransferBase' : switch_call_transfer(time_A_start_s,time_A_end_s)}
print(res)
return res
def switch_call_transfer(time_A_start_s,time_A_end_s):
'''
A拠点転送開始時刻、A拠点転送終了時刻を引数(UTC時刻)で渡し、コール転送先の振り分けに必要な文字列を返す
Parameters
----------
time_A_start_s: str
hh:mm:ss 形式の文字列(A拠点転送開始時刻)
time_A_end_s : str
hh:mm:ss 形式の文字列(A拠点転送終了時刻)
Returns
-------
base_transfer: str
現在のコール転送先を文字列で返す(A/B)
'''
# 関数起動時刻
time_now = datetime.now(timezone.utc).time()
# 拠点A転送開始をtime型変換
time_A_start = datetime.strptime(time_A_start_s, '%H:%M:%S')
time_A_start.isoformat()
time_A_start = time_A_start.time()
# 拠点A転送終了をtime型変換
time_A_end = datetime.strptime(time_A_end_s, '%H:%M:%S')
time_A_end.isoformat()
time_A_end = time_A_end.time()
if time_A_start < time_now < time_A_end:
return 'A'
else:
return 'B'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment