feat: Sfnに渡すパラメータを最適化

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2022-11-16 11:06:23 +09:00
parent cb6adbb45d
commit deac56ef50

View File

@ -16,7 +16,6 @@ SECURITY_GROUP_ID_ECSDATAIMPORT = os.environ["SECURITY_GROUP_ID_ECSDATAIMPORT"]
MODE = os.environ["MODE"]
# クラス変数
ecs_client = boto3.client('ecs')
sfn_client = boto3.client('stepfunctions')
@ -38,73 +37,24 @@ def lambda_handler(event, context):
stateMachineArn=SFN_STATE_MACHINE_ARN,
input=json.dumps(
{
'inputParams': {
'ecs': {
'Cluster': CLUSTER_NAME,
'TaskDefinition': TASK_NAME,
'network': {
# TODO: 配列もパラメータから組めるなら、StepFunctions側で組み立てる
"Subnets": [
SUBNET_ID_AP_NORTHEAST_1A,
SUBNET_ID_AP_NORTHEAST_1D,
],
"SecurityGroups": [
SECURITY_GROUP_ID_ECSALL,
SECURITY_GROUP_ID_ECSDATAIMPORT,
],
},
'overrides': {
"ContainerName": CONTAINER_NAME,
"Environment": [
# TODO: 環境変数以外でも使いたいので、外出しする
{"Name": 'BUCKET_NAME', "Value": event_bucket_name},
{"Name": 'TARGET_KEY', "Value": event_object_key},
{"Name": 'DATA_SOURCE_NAME', "Value": event_data_source_name},
{"Name": 'FILE_NAME', "Value": event_file_name},
{"Name": 'MODE', "Value": MODE},
],
},
},
'InputParams': {
'ClusterName': CLUSTER_NAME,
'TaskName': TASK_NAME,
'SubNetIdApNorthEast1A': SUBNET_ID_AP_NORTHEAST_1A,
'SubNetIdApNorthEast1D': SUBNET_ID_AP_NORTHEAST_1D,
'SecurityGroupIdECSAll': SECURITY_GROUP_ID_ECSALL,
'SecurityGroupIdECSDataImport': SECURITY_GROUP_ID_ECSDATAIMPORT,
'ContainerName': CONTAINER_NAME,
'BucketName': event_bucket_name,
'TargetKey': event_object_key,
'DataSourceName': event_data_source_name,
'FileName': event_file_name,
'Mode': MODE
}
}
)
)
# # ECSを起動する
# response = ecs_client.run_task(
# launchType='FARGATE',
# cluster=CLUSTER_NAME,
# taskDefinition=TASK_NAME,
# networkConfiguration={
# "awsvpcConfiguration": {
# "subnets": [
# SUBNET_ID_AP_NORTHEAST_1A,
# SUBNET_ID_AP_NORTHEAST_1D,
# ],
# "securityGroups": [
# SECURITY_GROUP_ID_ECSALL,
# SECURITY_GROUP_ID_ECSDATAIMPORT,
# ],
# }
# },
# overrides={
# "containerOverrides": [
# {
# "name": CONTAINER_NAME,
# "environment": [
# {"name": 'BUCKET_NAME', "value": event_bucket_name},
# {"name": 'TARGET_KEY', "value": event_object_key},
# {"name": 'DATA_SOURCE_NAME', "value": event_data_source_name},
# {"name": 'FILE_NAME', "value": event_file_name},
# {"name": 'MODE', "value": MODE},
# ],
# },
# ],
# },
# )
# TODO: コメントと設計修正
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} Info I-5 ECS起動レスポンス{str(response)}')
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} Info I-5 StepFunctions起動レスポンス{str(response)}')
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} Info I-6 駆動処理終了')