|
@@ -367,8 +367,6 @@ def remove_servers_from_server_group(alb_client, server_group_id, instance_id):
|
|
|
logging.error(f"Failed to remove server {instance_id} from server group {server_group_id}: {str(e)}")
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
def send_file_to_ecs(ecs_client, instance_id_list, target_dir, name, content):
|
|
|
"""
|
|
|
发送文件到ecs
|
|
@@ -379,9 +377,14 @@ def send_file_to_ecs(ecs_client, instance_id_list, target_dir, name, content):
|
|
|
:param content: 文件内容 type-string
|
|
|
:return:
|
|
|
"""
|
|
|
+ if not instance_id_list:
|
|
|
+ logging.warning("实例ID列表为空,无法发送文件。")
|
|
|
+ return
|
|
|
+
|
|
|
for i in range(len(instance_id_list) // 50 + 1):
|
|
|
instance_ids = instance_id_list[i * 50:(i + 1) * 50]
|
|
|
if len(instance_ids) == 0:
|
|
|
+ logging.info("没有更多的实例ID可供处理,退出。")
|
|
|
return
|
|
|
request = SendFileRequest()
|
|
|
request.set_Content(content)
|
|
@@ -389,7 +392,35 @@ def send_file_to_ecs(ecs_client, instance_id_list, target_dir, name, content):
|
|
|
request.set_Name(name)
|
|
|
request.set_Overwrite(True)
|
|
|
request.set_InstanceIds(instance_ids)
|
|
|
- response = send_request(ecs_client=ecs_client, request=request)
|
|
|
+ try:
|
|
|
+ logging.info(f"正在向实例 {instance_ids} 发送文件 '{name}' 到目录 '{target_dir}'")
|
|
|
+ response = send_request(ecs_client=ecs_client, request=request)
|
|
|
+ logging.info(f"成功发送文件到实例 {instance_ids},响应: {response}")
|
|
|
+ except Exception as e:
|
|
|
+ logging.error(f"发送文件到实例 {instance_ids} 失败,错误: {str(e)}")
|
|
|
+
|
|
|
+
|
|
|
+# def send_file_to_ecs(ecs_client, instance_id_list, target_dir, name, content):
|
|
|
+# """
|
|
|
+# 发送文件到ecs
|
|
|
+# :param ecs_client:
|
|
|
+# :param instance_id_list: 最多能指定50台ECS实例ID
|
|
|
+# :param target_dir: 文件存放目录 type-string
|
|
|
+# :param name: 文件名 type-string
|
|
|
+# :param content: 文件内容 type-string
|
|
|
+# :return:
|
|
|
+# """
|
|
|
+# for i in range(len(instance_id_list) // 50 + 1):
|
|
|
+# instance_ids = instance_id_list[i * 50:(i + 1) * 50]
|
|
|
+# if len(instance_ids) == 0:
|
|
|
+# return
|
|
|
+# request = SendFileRequest()
|
|
|
+# request.set_Content(content)
|
|
|
+# request.set_TargetDir(target_dir)
|
|
|
+# request.set_Name(name)
|
|
|
+# request.set_Overwrite(True)
|
|
|
+# request.set_InstanceIds(instance_ids)
|
|
|
+# response = send_request(ecs_client=ecs_client, request=request)
|
|
|
|
|
|
|
|
|
def stop_instances(ecs_client, instance_ids, force_stop=False):
|