基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据

这篇具有很好参考价值的文章主要介绍了基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文尝试基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据。

一、用文心一言AI大模型将需求转化为样例代码

1、第一次对话:“python3写一段从rest服务器获取数据的样例代码”

华为分布式存储python,运维,存储,python,分布式,运维,python

同时生成了以下注解 

这段代码首先定义了一个函数 get_data_from_rest_server,该函数使用 requests.get 方法向指定的 URL 发送 GET 请求。如果请求成功(即响应的状态码为 200),则将响应的 JSON 数据返回。否则,它将打印出错误消息并返回 None。然后,我们调用这个函数来获取数据,并打印出获取到的数据。注意你需要将 url 替换为你的 REST 服务器的实际 URL。 

  2、第二次对话:“以上请求需带入服务器的认证参数”

华为分布式存储python,运维,存储,python,分布式,运维,python

同时生成了以下注解 

 在上述代码中,我们通过在 requests.get 方法中传递 auth=(username, password) 来提供服务器的认证参数。这样,当你发送请求时,requests 会自动将认证参数添加到请求中,从而完成身份验证过程。

3、第三次对话:“以上代码需代入请求消息头”

 华为分布式存储python,运维,存储,python,分布式,运维,python

import requests  
  
# 定义服务器认证参数的用户名和密码  
username = 'your_username'  
password = 'your_password'  
  
def get_data_from_rest_server():  
    # 将此 URL 替换为你的 REST 服务器 URL  
    url = 'http://example.com/api/data'  
  
    # 定义请求头,可以包含自定义的头部字段和值  
    headers = {  
        'Content-Type': 'application/json',  # 声明请求的内容类型为 JSON  
        'Authorization': f'Basic {username}:{password}',  # 添加基本的身份验证头部字段  
    }  
  
    # 使用 GET 方法请求数据,并携带服务器认证参数和请求头  
    response = requests.get(url, headers=headers)  
  
    # 检查响应的状态码,如果请求成功(状态码为 200),则处理响应的数据  
    if response.status_code == 200:  
        data = response.json()  
        return data  
    else:  
        print(f"请求失败,状态码: {response.status_code}")  
        return None  
  
# 调用函数获取数据  
data = get_data_from_rest_server()  
if data is not None:  
    print(data)

注解如下 :

在上述代码中,我们通过创建一个字典对象来定义请求头,其中包含了一个 Content-Type 字段和一个 Authorization 字段。Content-Type 字段声明了请求的内容类型为 JSON,而 Authorization 字段包含了基本的身份验证值。然后,我们将这个字典对象传递给 requests.get 方法的 headers 参数,从而将请求头添加到请求中。 

 通过和文心一言AI大模型的三次对话,我们大致了解了用python 的 requests 库从 REST 服务器获取数据的基本方法。

二、核查华为分布式块存储REST接口规范

1、RESTful API的请求必须包括如下消息头

华为分布式存储python,运维,存储,python,分布式,运维,python华为分布式存储python,运维,存储,python,分布式,运维,python

2、拟测试请求接口官方样例

查询存储池 接口描述
查询存储池。
URI 路径
https://${ip}:${port}/dsware/service/cluster/storagepool/queryStoragePool
访问方法
GET
执行实例
Request: /dsware/service/cluster/storagepool/queryStorageNodeInfo?poolId=0
Response: {
"result": 0,
"storagePools": [
{
"poolId": 0,
"totalCapacity": 675305,
"usedCapacity": 0,
"reductionInvolvedCapacity": 0,
"allocatedCapacity": 0,
"usedCapacityRate": 0.0,
"deduplicationSaved": 0,
"compressionSaved": 0,
"deduplicationRatio": 1.0,
"compressionRatio": 1.0,
"dataReductionRatio": 1.0,
"thinRate": 0,
"replicationFactor": 3,
"poolName": "rep3",
"poolServerType": 1,
"thinThreshold": 70,
"poolSpec": "normal_pool",
"redundancyPolicy": "replication",
"numDataUnits": 0,
"numParityUnits": 0,
"numFaultTolerance": 0,
"cellSize": 0,
"ecCacheMediaType": "false",
"ecCacheRate": "0",
"ecCacheWbCacheRate": "0",
"compressionAlgorithm": "performance",
"enableAdvanceVolume": "true",
"encryptType": 0,
"supportEncryptForMainStorageMedia": 0,
"serviceType": 1,
"storageMediaType": "ssd_card",
"physicalTotalCapacity": 482361,
"usedCapacityAfterDedup": 0,
"writableCapacity": 482361,
"markDelCapacity": 0,
"bbuInfo": "close",
"fastGcTime": 0
}
]
}

三、代码实写

 根据需求进行代码编写,并多次测试,最终通过的代码如下(以下代码存为名为“healthck.py”的文件):
#!/usr/bin/python3
#coding=utf-8

##__author__='daijianbing'

import requests
import json
  
def authenticate(username, password,url_auth):
    # 构建认证数据
    auth_data = {
        'user_name': username,
        'password': password
    }
  
    # 将认证数据转换为JSON格式
    auth_json = json.dumps(auth_data)
  
    #禁止未经验证的HTTPS
    requests.packages.urllib3.disable_warnings()
    # 发送POST请求到REST API进行身份验证
    response = requests.post(url_auth,verify = False, data=auth_json, headers={'Content-Type': 'application/json'})
  
    # 检查响应状态码,如果成功则返回认证令牌,否则抛出异常
    if response.status_code == 200:
        #print(response.json())
        return response.json()['data']['x_auth_token']
    else:
        connect = 0
        raise Exception('Authentication failed')
  
def queryStoragePool(token,url):
    # 构建认证数据
    headers = {
        'Connection': 'keep-alive',
        'X-Auth-Token': token
    }

    #print(headers)

    # 发送请求到REST API
    response = requests.get(url, verify = False, headers=headers)

    # 检查响应状态码,如果成功则返回认证令牌,否则抛出异常
    if response.status_code == 200:
        #print(response.json())
        return response.json()['storagePools']
    else:
        raise Exception('Authentication failed')

def queryPoolstatus(token,url,poolId):
    # 构建认证数据
    headers = {
        'Connection': 'keep-alive',
        'X-Auth-Token': token
    }
    params = {
        'poolId':str(poolId),
        'vbs': 'true'
    }

    params_json = json.dumps(params)
    #print("url:",url,"headers:",headers,"params_json:",params_json)

    # 发送T请求到REST API
    response = requests.get(url, verify = False, params=params, headers=headers)

    # 检查响应状态码,如果成功则返回认证令牌,否则抛出异常
    if response.status_code == 200:
        #print(response.json())
        return response.json()['status']
    else:
        raise Exception('Authentication failed')

def queryAlarms(token,url):
    # 构建认证数据
    headers = {
        'Connection': 'keep-alive',
        'X-Auth-Token': token
    }
    params = {
        'filter':"alarmStatus::1",
    }
    params_json = json.dumps(params)
    # 发送请求到REST API
    response = requests.get(url, verify = False, params=params, headers=headers)

    # 检查响应状态码,如果成功则返回认证令牌,否则抛出异常
    if response.status_code == 200:
        #print(response.json())
        return response.json()['data']
    else:
        raise Exception('Authentication failed')

# 使用示例  
username = 'zabbix'  
password = 'passwd'
hostip = '192.168.0.1'
port = '8088'
hostport = "https://"+hostip+":"+port
url_auth = hostport+'/api/v2/aa/sessions'
checkstatus = 1
requests.packages.urllib3.disable_warnings()
try:
    token = authenticate(username, password, url_auth)
    print('x_auth_token:', token)

    url_pool = hostport+'/dsware/service/resource/queryStoragePool'
    pools = queryStoragePool(token,url_pool)

    url_poolstatus=hostport+'/dsware/service/cluster/storagepool/queryStatus'
    for pool in pools:
       poolstatus=queryPoolstatus(token,url_poolstatus,pool['poolId'])

    url_alarms = hostport+'/api/v2/common/alarm_count'
    Alarms=queryAlarms(token,url_alarms)
    print('poolid:',pool['poolId'],'poolname:',pool['poolName'],'poolstatus:',poolstatus,'alarmcount:',Alarms['count'])
except:
    checkstatus = 0
finally:
    print("checkstatus:",checkstatus)
    print("chech over")

四、验证运行

实际运行:

# python3 --version
Python 3.9.9
# python3 healthck.py   
x_auth_token: MzMwMDE0OTkyNkEzMDAxNGUwOTcwMzE2
poolid: 0 poolname: Pool01 poolstatus: 0 alarmcount: 0
checkstatus: 1
chech over

本段代码实现了存储REST接口认证登录,查询全部的pool并列出poolid,poolname,pool状态,输出当前未恢复告警数并返回本次的检查状态(1为检查成功)。文章来源地址https://www.toymoban.com/news/detail-774466.html

到了这里,关于基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 体验文心一言AI模型董宇辉简介

    董宇辉,男,1993年出生于陕西省渭南市潼关县,祖籍湖北省十堰市郧西县。2015年毕业于西安外国语大学。现为东方甄选高级合伙人、新东方教育科技集团董事长文化助理、兼任新东方文旅集团副总裁、与辉同行(北京)科技有限公司法定代表人。 2016年,董宇辉加入西安新东

    2024年01月19日
    浏览(33)
  • 体验文心一言AI大模型生成中国城市简介

    宿迁,江苏省省辖市,位于江苏省北部、地处长江三角洲地区,是长三角城市群成员城市,也是淮海经济圈、沿海经济带、沿江经济带的交叉辐射区。宿迁获评全国文明城市,荣获国家卫生城市、国家环保模范城市、国家园林城市、中国优秀旅游城市、全国双拥模范城市、全

    2024年02月10日
    浏览(42)
  • 【AI语言大模型】文心一言功能使用介绍

    文心一言是一个知识增强的大语言模型,基于飞桨深度学习平台和文心知识增强大模型,持续从海量数据和大规模知识中融合学习具备知识增强、检索增强和对话增强的技术特色。 最近收到百度旗下产品【文心一言】的产品,抱着试一试的心态体验了一下,整体感觉:还行!

    2024年02月07日
    浏览(37)
  • 【大模型实践】基于文心一言的对话模型设计

    文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动、回答问题、协助创作,高效便捷地帮助人们获取信息、知识和灵感。文心一言从数万亿数据和数千亿知识中融合学习,得到预训练大模型,在此基础上采用有监

    2024年02月03日
    浏览(28)
  • 【AI接口】语音版、文心一言大模型和AI绘图、图片检测API

    基于国内主流AI大模型如阿里通义千问、百度文心一言等的语音版智能对话AI机器人API。该API支持多种功能,包括聊天对话、行业咨询、语言学习等,并且可以自定义真人音色。 1、接口 重要提示:建议使用https协议,当https协议无法使用时再尝试使用http协议。 请求方式:PO

    2024年01月19日
    浏览(53)
  • 体验文心一言AI大模型生成淄博和山东理工大学简介

    淄博,简称“淄”,位于中国华东地区、山东省中部,北纬35°55′20″~37°17′14″,东经117°32′15″~118°31′00″,市域面积为5965平方公里。淄博市地处黄河三角洲高效生态经济区、山东半岛蓝色经济区两大国家战略经济区与山东省会城市群经济圈交汇处,南依沂蒙山区与

    2024年02月15日
    浏览(33)
  • 体验文心一言AI大模型生成宁波、绍兴、织里和南宁报告

    宁波,简称“甬”,别称甬上、四明、明州,是浙江省辖地级市、副省级市、计划单列市、Ⅰ型大城,上海大都市圈重要城市。 宁波历史悠久,有7000余年的文明史、2100余年的建城史和1000余年的建县史,唐代以来,宁波对外通商口岸,海上丝绸之路和陆上丝绸之路的起点之一

    2024年02月11日
    浏览(40)
  • AI百度文心一言大语言模型接入使用(中国版ChatGPT)

    基于百度文心一言语言大模型的智能文本对话AI机器人API,支持聊天对话、行业咨询、语言学习、代码编写等功能. 重要提示:建议使用https协议,当https协议无法使用时再尝试使用http协议 请求方式: POST 序号 参数 是否必须 说明 1 ques 是 你的问题 2 appKey 是 唯一验证AppKey, 可前往官

    2024年02月12日
    浏览(42)
  • 体验百度文心一言AI大模型、通义千问AI大模型和讯飞星火AI大模型生成庄小威biography

    庄小威,1972年1月出生于中国江苏省如皋市,是一位生物物理学家,现为哈佛大学化学与化学生物、物理学双聘教授。在她的职业生涯中,庄小威获得了许多国内外奖项,展现了她的才华和风格。 她是美国国家科学院院士、美国艺术与科学学院院士、美国国家医学科学院院士

    2024年01月16日
    浏览(45)
  • 体验百度文心一言AI模型生成约翰·特拉沃尔塔、 杰米·法伦秀

    约翰·特拉沃尔塔(John Travolta),1954年2月18日出生于美国新泽西州,美国演员、制片人。他的演艺生涯跨越了多个领域,从歌舞片到动作片,再到犯罪片,都有他的身影。他的代表作包括《周末夜狂热》、《龙飞凤舞》、《至善至美》、《矮子当道》和《变脸》等。同时,他

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包