开发者社区> 问答> 正文

阿里云OpenAPI获取操作系统信息不对,您看看是哪个参数有问题?

阿里云OpenAPI获取操作系统信息不对,您看看是哪个参数有问题?bcc767a7b0f77d0d141534d7954735d3.png

展开
收起
cuicuicuic 2024-01-04 11:17:25 20 0
2 条回答
写回答
取消 提交回答
  • 根据您提供的代码,我发现以下几个问题:

    1. 在获取操作系统信息时,os_info = describe_response_dict.get(OSName',Unknown’) 这一行代码中的引号使用不正确。应该将 OSName',Unknown’ 修改为 'OSName', 'Unknown'

    2. 在创建新的sheet时,sheet.append([Instance ID',Hostname’,‘OS’]) 这一行代码中的引号使用不正确。应该将 Instance ID',Hostname’,‘OS’ 修改为 'Instance ID', 'Hostname', 'OS'

    3. 在添加数据到sheet时,sheet.append([instance_id,hostname, os_info]) 这一行代码中的变量名应该与之前定义的变量名保持一致。将 os_info 修改为 os_name

    修改后的代码如下:

    for instance in instances:
        instance_id = instance['InstanceId']
        # 获取实例的详细信息,包括主机名和操作系统信息
        describe_request = DescribeInstanceAttributeRequest.DescribeInstanceAttributeRequest()
        describe_response = client.do_action_with_exception(describe_request)
        describe_request.set_InstanceId(instance_id)
        describe_response_dict = json.loads(describe_response.decode('utf-8'))
        # 解析describe_response获取主机名和操作系统信息
        hostname = describe_response_dict['HostName']
        os_name = describe_response_dict.get('OSName', 'Unknown')
        # 获取操作系统名称
        # 检查是否已存在对应别名的sheet,如果不存在则创建新的sheet
        if alias not in workbook.sheetnames:
            workbook.create_sheet(title=alias)
        else:
            sheet = workbook[alias]
            sheet.append(['Instance ID', 'Hostname', 'OS'])
            sheet = workbook[alias]
            sheet.append([instance_id, hostname, os_name])
    
    2024-01-05 16:43:45
    赞同 展开评论 打赏
  • 这个接口不会返回OSName,DescribeInstances接口可以d0548516efb1aaaca1120c4a35852f89.png
    你换成DescribeInstancesRequest ,此回答整理自钉群“OpenAPI 开发者门户 - 值班服务群3群”

    2024-01-04 12:28:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云云原生 Serverless 技术实践营 PPT 演讲 立即下载
阿里云产品十月刊 立即下载
基于阿里云构建博学谷平台实时湖仓 立即下载