Python使用全局变量避免重复判定阿里云区域

先导入

from aliyun.log import LogClient, GetLogsRequest
import time

然后写一个登入请求阿里云日志的方法

def get_iot_log_from_server(query, project, logstore, endpoint):
    # print('区域:' + endpoint)

    # 创建日志服务Client。
    client = LogClient(endpoint, access_key_id, access_key)

    # from_time和to_time表示查询日志的时间范围,UNIX时间戳格式。近15天数据
    from_time = int(time.time()) - 2592000
    to_time = time.time()

    request = GetLogsRequest(project, logstore, from_time, to_time, '', query=query, line=10, offset=0, reverse=True)

    return client.get_logs(request)

传参并选择对应的地区进行数据查询

def get_iot_logs(query):
    global global_server

    # 返回查询结果。
    if global_server == 0 or global_server == 1:
        response1 = get_iot_log_from_server(query, project_1, logstore_1, endpoint_1)
        if len(response1.get_logs()) > 0:
            global_server = 1
            return responseDL
    if global_server == 0 or global_server == 2:
        response2 = get_iot_log_from_server(query, projproject_2, logstore2, endpoint_2)
        if len(response2.get_logs()) > 0:
            global_server = 2
            return responseXJP
    if global_server == 0 or global_server == 3:
        response3 = get_iot_log_from_server(query, project_3, logstore_3, endpoint_3)
        if len(response3.get_logs()) > 0:
            global_server = 3
            return responseMX

    return None

用于重置全局变量

def reset_server():
    global global_server
    global_server = 0

判定地区

def server():
    if global_server == 1:
        print(Fore.GREEN + '\n【地区1】')
    elif global_server == 2:
        print(Fore.GREEN + '\n【地区2】')
    elif global_server == 3:
        print(Fore.GREEN + '\n【地区3】')
    else:
        print('全局变量global_server值异常')

开启我们的魔法时代

if __name__ == '__main__':
    while 1:
        data = input('需要查询的内容')

        reset_server()

        get_log = get_iot_logs(data_1)
        print(get_log)
        server()
        
        get_log = get_iot_logs(data_2)
        print(get_log)
        server()

摸索良久,凑出一个解决方案,记录于此

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值