• [热门活动] 第一次发帖试试
    第一次发帖试试第一次发帖试试
  • 云能一把梭
    华为云:引领数字化变革的力量在当今数字化浪潮汹涌澎湃的时代,云计算已成为推动企业创新与发展的核心引擎。华为云,作为全球领先的云服务提供商,凭借其卓越的技术实力、广泛的全球布局和丰富多样的产品服务,在云计算领域绽放出耀眼光芒,为众多企业的数字化转型之路铺就坚实基石。华为云提供了全方位、多层次的产品与服务体系,涵盖计算、存储、网络、数据库、容器以及人工智能等多个关键领域。在计算服务方面,弹性云服务器 ECS 如同一位随叫随到的智能助手,可根据企业业务需求灵活调配计算资源,无论是小型电商网站的日常运营,还是大型企业级应用系统的稳定支撑,它都能轻松胜任;而裸金属服务器 BMS 则为对性能和安全有极致要求的关键业务场景保驾护航,给予企业物理隔离的专属计算空间,确保数据处理的高效与安全。存储服务领域,对象存储服务 OBS 宛如一个容量近乎无限的数字仓库,能够安全可靠地收纳海量的图片、视频、文档等非结构化数据,企业无需担忧数据存储容量的瓶颈,并且借助便捷的 RESTful API,数据的上传、下载与管理如同在本地硬盘操作般轻松自如;弹性文件服务 SFS 则专注于为多台云服务器之间搭建起高效的数据共享桥梁,支持多种常见协议,让企业内部不同业务模块之间的协同工作更加顺畅无间。网络服务上,虚拟私有云 VPC 为企业在云端构建起一座座专属的 “网络城堡”,企业能够依据自身业务架构与安全策略,自主定制子网、精心规划路由表、合理设置安全组,实现云资源之间的安全隔离与灵活部署,仿佛在云端拥有了一片完全属于自己的网络领地;弹性公网 IP EIP 则像是打开城堡大门与外界连接的钥匙,赋予云资源独立的公网访问身份,确保企业业务能够在全球互联网的舞台上自由驰骋。数据库服务层面,关系型数据库 RDS 为企业数据的存储与管理提供了稳定可靠的解决方案,支持多种主流数据库引擎,无论是数据的结构化存储、高效查询,还是复杂业务逻辑的处理,都能应对自如;分布式数据库中间件 DDM 则专为应对大数据时代的海量数据挑战而生,助力企业构建大规模分布式数据库集群,实现数据的横向扩展与读写性能的大幅提升,轻松应对高并发业务场景下的数据处理压力。华为云的优势不仅仅体现在其丰富的产品服务上,更在于其深厚的技术底蕴、广泛的全球影响力以及完善的生态系统。华为长期以来在通信和信息技术领域的深耕细作,积累了雄厚的技术资本,这些技术优势源源不断地注入到华为云服务中,确保了云服务的高性能、高可靠性与顶尖的安全防护水平。华为云的数据中心和节点遍布全球各地,形成了一张庞大而高效的云服务网络,能够为不同地区的企业提供低延迟、高可用的云服务体验,有力地支持了跨国企业的全球化业务拓展战略。此外,华为云积极携手广大软件开发商、系统集成商、咨询服务提供商等合作伙伴,共同构建起一个充满活力与创新的云生态系统,在这个生态系统中,各方资源相互交融、优势互补,为企业用户提供了从行业解决方案设计到专业技术服务支持的一站式服务,极大地提升了企业数字化转型的效率与成功率。在实际应用场景中,华为云更是展现出了其强大的适应性与变革性力量。对于传统企业而言,华为云成为了它们数字化转型的得力伙伴,助力企业将传统 IT 架构逐步迁移至云端,实现了 IT 资源的弹性伸缩与成本的精细化管理,让企业能够更加敏捷地响应市场变化,快速推出创新产品与服务;在互联网应用开发与部署领域,华为云为互联网企业提供了充足的计算与存储资源,无论是热门社交应用的海量用户数据处理,还是新兴电商平台的高并发交易支撑,华为云都能确保应用的稳定运行与快速迭代,帮助互联网企业在激烈的市场竞争中抢占先机;在大数据与数据分析场景下,华为云凭借其强大的存储与计算能力,帮助企业轻松应对数据洪流的挑战,实现对海量数据的深度挖掘与精准分析,为企业决策提供了科学依据与数据洞察,让企业在复杂多变的市场环境中能够做出更加明智的战略选择;而在人工智能与机器学习领域,华为云的一站式 AI 开发平台 ModelArts 与强大的昇腾 AI 计算能力相结合,为企业开启了智能化升级的新通道,无论是图像识别技术在安防监控领域的应用,还是自然语言处理技术在智能客服系统中的落地,华为云都在加速推动人工智能技术从实验室走向实际业务场景的进程,助力企业实现智能化转型与创新发展。展望未来,华为云将继续秉持创新与开放的理念,不断深化技术研发与产品创新,持续拓展全球市场与生态合作,为更多企业的数字化转型与创新发展注入源源不断的动力,引领全球云计算产业迈向更加辉煌的未来。create_block_store.py# coding: utf-8import osfrom huaweicloudsdkcore.auth.credentials import BasicCredentialsfrom huaweicloudsdkevs.v2.region.evs_region import EvsRegionfrom huaweicloudsdkcore.exceptions import exceptionsfrom huaweicloudsdkevs.v2 import *if __name__ == "__main__":    # 从环境变量中获取 AK 和 SK    ak = "79FWNEEYJ5FPOIMQVCHZ"    sk = "n6MRBpTarQvjBrRmKH1vE6W3o093BQ4PmKc5Ci7U"    if not ak or not sk:        print("请先设置环境变量 CLOUD_SDK_AK 和 CLOUD_SDK_SK")        exit(1)    credentials = BasicCredentials(ak, sk)    client = EvsClient.new_builder() \        .with_credentials(credentials) \        .with_region(EvsRegion.value_of("cn-north-4")) \        .build()    try:        # 列出所有卷        request = ListVolumesRequest()        response = client.list_volumes(request)        # 查找名为 chinaskills_volume 的卷        volume_id_to_delete = None        for volume in response.volumes:            if volume.name == "chinaskills_volume":                volume_id_to_delete = volume.id                print(f"找到卷: {volume.name},ID: {volume.id}")                break        # 如果找到对应的卷 ID,则删除该卷        if volume_id_to_delete:            delete_request = DeleteVolumeRequest(volume_id_to_delete)            client.delete_volume(delete_request)            print(f"卷 {volume_id_to_delete} 已删除")        else:            print("未找到名为 chinaskills_volume 的卷,无需删除")        request = CreateVolumeRequest()        listMetadataVolume = {            "__system__cmkid": "4f765277-a00e-4c3a-81f8-2cbaa0856e18",            "__system__encrypted]": "1"        }        volumebody = CreateVolumeOption(            availability_zone="cn-north-4a",            metadata=listMetadataVolume,            multiattach=True,            name="chinaskills_volume",            size=100,            volume_type="SSD"        )        request.body = CreateVolumeRequestBody(            volume=volumebody        )        response = client.create_volume(request)        print(response)    except exceptions.ClientRequestException as e:        print(f"HTTP状态码: {e.status_code}")        print(f"请求ID: {e.request_id}")        print(f"错误码: {e.error_code}")        print(f"错误信息: {e.error_msg}")----------------------------------------------------------------------------------------------------------------create_keypair.py# coding: utf-8from huaweicloudsdkcore.auth.credentials import BasicCredentialsfrom huaweicloudsdkkps.v3.region.kps_region import KpsRegionfrom huaweicloudsdkcore.exceptions import exceptionsfrom huaweicloudsdkkps.v3 import *credentials = BasicCredentials("79FWNEEYJ5FPOIMQVCHZ", "n6MRBpTarQvjBrRmKH1vE6W3o093BQ4PmKc5Ci7U") \client = KpsClient.new_builder() \        .with_credentials(credentials) \        .with_region(KpsRegion.value_of("cn-north-4")) \        .build()def create_key(name):    request = ListKeypairsRequest()    response = client.list_keypairs(request).to_json_object()    for i in response['keypairs']:        if i['keypair']['name']  == name:            request = DeleteKeypairRequest()            request.keypair_name = name            response = client.delete_keypair(request)    try:        request = CreateKeypairRequest()        encryptionKeyProtection = Encryption(            type="default"        )        keyProtectionKeypair = KeyProtection(            encryption=encryptionKeyProtection        )        keypairbody = CreateKeypairAction(            name=name,            key_protection=keyProtectionKeypair        )        request.body = CreateKeypairRequestBody(            keypair=keypairbody        )        response = client.create_keypair(request)        print(response)    except exceptions.ClientRequestException as e:        print(e.status_code)        print(e.request_id)        print(e.error_code)        print(e.error_msg)if __name__ == "__main__":    create_key('chinaskills_keypair')----------------------------------------------------------------------------------------------------------------ecs_manager.pyimport osimport jsonimport timeimport argparsefrom huaweicloudsdkcore.auth.credentials import BasicCredentialsfrom huaweicloudsdkecs.v2.region.ecs_region import EcsRegionfrom huaweicloudsdkecs.v2 import *ak = "79FWNEEYJ5FPOIMQVCHZ"sk = "n6MRBpTarQvjBrRmKH1vE6W3o093BQ4PmKc5Ci7U"cloud_vpc_id = "b3833f32-f263-4094-b31a-d9ef1d4c5828"cloud_subnet_id = "8e2a2942-29d7-4e83-92a9-c3eb631e5bba"credentials = BasicCredentials(ak, sk)client = EcsClient.new_builder() \    .with_credentials(credentials) \    .with_region(EcsRegion.value_of("cn-north-4")) \    .build()def create_ecs(name, image_id):    request = CreatePostPaidServersRequest()    rootVolumeServer = PostPaidServerRootVolume(volumetype="SSD")    listNicsServer = [PostPaidServerNic(subnet_id=cloud_subnet_id)]    serverbody = PostPaidServer(        flavor_ref="c7.large.2",        image_ref=image_id,        name=name,        nics=listNicsServer,        root_volume=rootVolumeServer,        vpcid=cloud_vpc_id    )    request.body = CreatePostPaidServersRequestBody(server=serverbody)    response = client.create_post_paid_servers(request)    print(response.to_dict())def get(name, output_file=None):    max_retries = 5    wait_time = 5    for _ in range(max_retries):        request = ListServersDetailsRequest()        response = client.list_servers_details(request)        servers = response.to_dict().get('servers', [])        for server in servers:            if server['name'] == name:                print(f"服务器名称: {server['name']}, 服务器ID: {server['id']}")                server_dict = server.to_dict() if hasattr(server, 'to_dict') else dict(server)                if output_file:                    try:                        with open(output_file, 'w') as f:                            json.dump(server_dict, f, indent=4, default=str)                        print(f"服务器信息已保存到 {output_file}")                    except Exception as e:                        print(f"保存文件时发生错误: {e}")                return        print(f"未找到名称为 {name} 的服务器,等待 {wait_time} 秒后重试...")        time.sleep(wait_time)    print(f"未能找到名称为 {name} 的服务器,已达到最大重试次数。")def getall(output_file=None):    request = ListServersDetailsRequest()    response = client.list_servers_details(request)    servers = response.to_dict().get('servers', [])    serializable_servers = []    for server in servers:        server_dict = server.to_dict() if hasattr(server, 'to_dict') else dict(server)        serializable_servers.append(server_dict)    if output_file:        try:            with open(output_file, 'w') as f:                json.dump(serializable_servers, f, indent=4, default=str)            print(f"所有服务器信息已保存到 {output_file}")        except Exception as e:            print(f"保存文件时发生错误: {e}")    else:        print(serializable_servers)def delete(name):    request = ListServersDetailsRequest()    response = client.list_servers_details(request)    servers = response.to_dict().get('servers', [])    for server in servers:        if server['name'] == name:            print(f"服务器名称: {server['name']}, 服务器ID: {server['id']}")            request = DeleteServersRequest()            listServersbody = [ServerId(id=server['id'])]            request.body = DeleteServersRequestBody(servers=listServersbody)            response = client.delete_servers(request)            print(response)            return    print(f"没有找到名称为 {name} 的服务器。")if __name__ == "__main__":    parser = argparse.ArgumentParser(description="ECS 云主机管理")    subparsers = parser.add_subparsers(dest="command")    create_parser = subparsers.add_parser("create")    create_parser.add_argument("-i", "--input", required=True, help="云主机名称和镜像 ID,JSON 格式")    get_parser = subparsers.add_parser("get")    get_parser.add_argument("-n", "--name", required=True, help="指定要查询的云主机名称")    get_parser.add_argument("-o", "--output", help="输出文件名,格式为 JSON")    getall_parser = subparsers.add_parser("getall")    getall_parser.add_argument("-o", "--output", help="输出文件名,格式为 JSON")    delete_parser = subparsers.add_parser("delete")    delete_parser.add_argument("-n", "--name", required=True, help="指定要删除的云主机名称")    args = parser.parse_args()    if args.command == "create":        input_data = json.loads(args.input)        create_ecs(input_data['name'], input_data['imagename'])    elif args.command == "get":        get(args.name, args.output)    elif args.command == "getall":        getall(args.output)    elif args.command == "delete":        delete(args.name)----------------------------------------------------------------------------------------------------------------------------------Huawei_centos7.9_ID.txt02a17486-1214-4e42-8da7-7d200cac585e---------------------------------------------------------------------------------------------------------------------------------main.py#!/usr/bin/env python3# -*- coding: utf-8 -*-# @author YWLBTWTK# @date 2023/9/18from fastapi import FastAPIimport uvicornfrom huaweicloudsdkcore.auth.credentials import BasicCredentialsfrom huaweicloudsdkvpc.v2.region.vpc_region import VpcRegionfrom huaweicloudsdkcore.exceptions import exceptionsfrom huaweicloudsdkvpc.v2 import *app = FastAPI()ak = "79FWNEEYJ5FPOIMQVCHZ"sk = "n6MRBpTarQvjBrRmKH1vE6W3o093BQ4PmKc5Ci7U"g_region = "cn-north-4"def api_list_vpc(name):    credentials = BasicCredentials(ak, sk)    client = VpcClient.new_builder() \        .with_credentials(credentials) \        .with_region(VpcRegion.value_of(g_region)) \        .build()    try:        request = ListVpcsRequest()        response = list(map(lambda x: {'name': x['name'], 'id': x['id']}, client.list_vpcs(request).to_dict()['vpcs']))        for i in response:            if i['name'] == name:                print(i['id'])                return i['id']        return None    except Exception:        return None@app.post('/cloud_vpc/create_vpc')def api_create_vpc(data: dict):    credentials = BasicCredentials(ak, sk)    client = VpcClient.new_builder() \        .with_credentials(credentials) \        .with_region(VpcRegion.value_of(g_region)) \        .build()    try:        request = CreateVpcRequest()        vpcbody = CreateVpcOption(            cidr=data['cidr'],            name=data['name']        )        request.body = CreateVpcRequestBody(            vpc=vpcbody        )        response = client.create_vpc(request)        print(response)        return response    except exceptions.ClientRequestException as e:        print(e.status_code)        print(e.request_id)        print(e.error_code)        print(e.error_msg)        return e    except Exception as e:        return e@app.get('/cloud_vpc/vpc/{vpc_name}')def api_get_vpc(vpc_name: str):    credentials = BasicCredentials(ak, sk)    client = VpcClient.new_builder() \        .with_credentials(credentials) \        .with_region(VpcRegion.value_of(g_region)) \        .build()    try:        request = ShowVpcRequest()        request.vpc_id = api_list_vpc(vpc_name)        response = client.show_vpc(request)        print(response)        return response    except exceptions.ClientRequestException as e:        print(e.status_code)        print(e.request_id)        print(e.error_code)        print(e.error_msg)        return e    except Exception as e:        return e@app.get('/cloud_vpc/vpc')def api_get_list_vpc():    credentials = BasicCredentials(ak, sk)    client = VpcClient.new_builder() \        .with_credentials(credentials) \        .with_region(VpcRegion.value_of(g_region)) \        .build()    try:        request = ListVpcsRequest()        response = client.list_vpcs(request).to_dict()        print(response)        return response    except Exception as e:        return e@app.put('/cloud_vpc/update_vpc')def api_update_vpc(data: dict):    credentials = BasicCredentials(ak, sk)    client = VpcClient.new_builder() \        .with_credentials(credentials) \        .with_region(VpcRegion.value_of(g_region)) \        .build()    try:        request = UpdateVpcRequest()        request.vpc_id = api_list_vpc(data['old_name'])        vpcbody = UpdateVpcOption(            name=data['new_name']        )        request.body = UpdateVpcRequestBody(            vpc=vpcbody        )        response = client.update_vpc(request)        print(response)        return response.to_dict()    except Exception as e:        return e@app.delete('/cloud_vpc/delete_vpc')def api_delete_vpc(data: dict):    credentials = BasicCredentials(ak, sk)    client = VpcClient.new_builder() \        .with_credentials(credentials) \        .with_region(VpcRegion.value_of(g_region)) \        .build()    try:        request = DeleteVpcRequest()        request.vpc_id = api_list_vpc(data['vpc_name'])        response = client.delete_vpc(request)        print(response)        return response.to_dict()    except Exception as e:        return eif __name__ == '__main__':    uvicorn.run(app='main:app', host='0.0.0.0', port=7045, reload=True)------------------------------------------------------------------------------------------------------------------------------------------python3.txt#!/bin/bashrm -rf /etc/yum.repos.d/*cat << EOF > /etc/yum.repos.d/centos.repo[os]name=Qcloud centos os - \$basearchbaseurl=http://mirrors.cloud.tencent.com/centos/\$releasever/os/\$basearch/enabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[updates]name=Qcloud centos updates - \$basearchbaseurl=http://mirrors.cloud.tencent.com/centos/\$releasever/updates/\$basearch/enabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[extras]name=Qcloud centos extras - \$basearchbaseurl=http://mirrors.cloud.tencent.com/centos/\$releasever/extras/\$basearch/enabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[epel]name=EPEL for redhat/centos \$releasever - \$basearchbaseurl=http://mirrors.cloud.tencent.com/epel/\$releasever/\$basearch/failovermethod=priorityenabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/epel/RPM-GPG-KEY-EPEL-7EOFyum install python3 -ypip3 install -i https://mirrors.cloud.tencent.com/pypi/simple --upgrade pippip3 config set global.index-url https://mirrors.cloud.tencent.com/pypi/simplepip3  install huaweicloudsdkcore huaweicloudsdkecs huaweicloudsdkvpc  huaweicloudsdkswr  huaweicloudsdkcce  huaweicloudsdkrds huaweicloudsdkims uvicorn fastapi----------------------------------------------------------------------------------------------------------------------------------date.yamlapiVersion: batch/v1kind: CronJobmetadata:  name: date  namespace: defaultspec:  schedule: "* * * * *"  jobTemplate:    spec:      template:        spec:          containers:          - name: hello            image: busybox            command:              - "sh"              - "-c"              - "date"          restartPolicy: OnFailure----------------------------------------------------------------------------------------------------------------------nginx.yamlapiVersion: v1kind: Podmetadata:  name: lifecycle-demo  namespace: defaultspec:  containers:  - name: nginx-container    image: nginx:latest    lifecycle:      postStart:        exec:          command: ["sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]      preStop:        exec:          command: ["sh", "-c", "nginx -s quit; while killall -0 nginx; do sleep 1; done"]    ports:    - containerPort: 80---------------------------------------------------------------------------------------------------------------------kubeedge-master.sh#!/bin/bashmaster_ip="139.9.74.141"wget https://216-216.obs.cn-south-1.myhuaweicloud.com/kubernetes_kubeedge.tar.gzecho -e "139.9.74.141 master\n192.168.216.79 edge-node1\n192.168.216.80 edge-node2" >> /etc/hoststar -zxvf kubernetes_kubeedge.tar.gz -C /opt/kubectl patch daemonset kube-proxy -n kube-system -p '{"spec": {"template": {"spec": {"affinity": {"nodeAffinity": {"requiredDuringSchedulingIgnoredDuringExecution": {"nodeSelectorTerms": [{"matchExpressions": [{"key": "node-role.kubernetes.io/edge", "operator": "DoesNotExist"}]}]}}}}}}}'kubectl patch daemonset kube-flannel-ds -n kube-system -p '{"spec": {"template": {"spec": {"affinity": {"nodeAffinity": {"requiredDuringSchedulingIgnoredDuringExecution": {"nodeSelectorTerms": [{"matchExpressions": [{"key": "node-role.kubernetes.io/edge", "operator": "DoesNotExist"}]}]}}}}}}}'mv /opt/kubeedge/keadm /usr/bin/keadmcd /opt/k8simage/bash load.shcd /opt/kubeedgedocker load  -i cloudcore.tardocker load -i installation.tardocker load -i mosquitto.tardocker load -i pause.tartar -zxvf /opt/kubeedge/kubeedge-1.11.1.tar.gz# tar -xzvf /opt/kubeedge/kubeedge-v1.11.1-linux-amd64.tar.gzmkdir /etc/kubeedge/cp -rvf /opt/kubeedge/kubeedge-v1.11.1-linux-amd64.tar.gz  /etc/kubeedge/cp -rvf /opt/kubeedge/kubeedge-1.11.1/build/crds/   /etc/kubeedge/cp -rvf /opt/kubeedge/kubeedge-1.11.1/vendor/k8s.io/kubernetes/pkg/kubelet/checkpointmanager/checksum /etc/kubeedge/cp /opt/kubeedge/kubeedge-1.11.1/build/tools/* /etc/kubeedge/cd /etc/kubeedge/pwdsleep 5keadm deprecated init --advertise-address=$master_ip --kubeedge-version=1.11.1# ss -ntplnetstat  -ntpl |grep cloudcoresleep 5sed -i '/cloudStream:/ {N; s/enable: false/enable: true/}' /etc/kubeedge/config/cloudcore.yamlsed -i '/router:/,+2 s/enable: false/enable: true/' /etc/kubeedge/config/cloudcore.yamlkill -9 $(ps aux | grep cloudcore | awk 'NR==1{print $2}')cp /etc/kubeedge/cloudcore.service /etc/systemd/system/cloudcore.servicechmod +x /etc/systemd/system/cloudcore.servicesystemctl daemon-reloadsystemctl start cloudcoresystemctl enable cloudcore.servicesleep 3export CLOUDCOREIPS=$master_ipcd /etc/kubeedge/./certgen.sh streamiptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -Xsleep 5keadm gettoken-------------------------------------------------------------------------------------------------------------------------------------------kubeedge-node.sh#!/bin/bashtoken=""master_ip="139.9.74.141"centos=http://192.168.216.10:81/centos7.9/echo -e "139.9.74.141 master\n192.168.216.79 edge-node1\n192.168.216.80 edge-node2" >> /etc/hoststar -zxvf kubernetes_kubeedge.tar.gz -C /opt/rm -rf /etc/yum.repos.d/*cat >> /etc/yum.repos.d/local.repo << EOF[local]name=localbaseurl=file:///opt/yumenabled=1gpgcheck=0[centos]name=localbaseurl=$centosenabled=1gpgcheck=0EOFyum -y install docker-cesystemctl restart dockerdocker --versionmv /opt/kubeedge/keadm /usr/bin/keadmcd /opt/k8simage/bash load.shcd /opt/kubeedgedocker load  -i cloudcore.tardocker load -i installation.tardocker load -i mosquitto.tardocker load -i pause.tarkeadm join --cloudcore-ipport=$master_ip:10000 --token=$tokensed -i '/edgeStream:/ {N; s/enable: false/enable: true/}' /etc/kubeedge/config/edgecore.yamlsed -i '/serviceBus:/ {N; s/enable: false/enable: true/}' /etc/kubeedge/config/edgecore.yamlsystemctl restart edgecoresystemctl status edgecore-------------------------------------------------------------------------------------------------------------------------------------node.sh#!/bin/bashHOST_IP="192.168.216.15"SQL1="192.168.216.16"rm -rf /etc/yum.repos.d/*cat << EOF > /etc/yum.repos.d/centos.repo[os]name=Qcloud centos os - \$basearchbaseurl=http://mirrors.cloud.tencent.com/centos/\$releasever/os/\$basearch/enabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[updates]name=Qcloud centos updates - \$basearchbaseurl=http://mirrors.cloud.tencent.com/centos/\$releasever/updates/\$basearch/enabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[extras]name=Qcloud centos extras - \$basearchbaseurl=http://mirrors.cloud.tencent.com/centos/\$releasever/extras/\$basearch/enabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[epel]name=EPEL for redhat/centos \$releasever - \$basearchbaseurl=http://mirrors.cloud.tencent.com/epel/\$releasever/\$basearch/failovermethod=priorityenabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/epel/RPM-GPG-KEY-EPEL-7EOFtar -zxvf node-v12.16.1-linux-x64.tar.gzecho "export PATH=/usr/local/node/bin:$PATH"  >> /etc/profilemv node-v12.16.1-linux-x64 /usr/local/nodesource /etc/profileyum install -y gcc-c++ makeyum install -y GraphicsMagick# 配置 npmsource /etc/profilenpm config set registry http://registry.npm.taobao.org/npm config set electron_mirror http://npm.taobao.org/mirrors/electron/# 解压 Rocket.Chat 安装包tar -zxvf rocket.chat-3.2.2.tgz# 进入服务器程序目录并安装依赖cd bundle/programs/servernpm install# 移动安装包到 /opt/Rocket.Chat 目录mv /root/bundle /opt/Rocket.Chat# 创建 Rocketchat 用户并设置权限useradd -M rocketchat && usermod -L rocketchatchown -R rocketchat:rocketchat /opt/Rocket.Chat# 创建 systemd 服务配置文件cat >> /lib/systemd/system/rocketchat.service << EOF[Unit]Description=The Rocket.Chat serverAfter=network.target remote-fs.target nss-lookup.target nginx.service mongod.service[Service]ExecStart=/usr/local/node/bin/node  /opt/Rocket.Chat/main.jsStandardOutput=syslogStandardError=syslogSyslogIdentifier=rocketchatUser=rocketchatEnvironment=MONGO_URL=mongodb://$SQL1:27017/rocketchat?replicaSet=cloud MONGO_OPLOG_URL=mongodb://$SQL1:27017/local?replicaSet=cloud ROOT_URL=http://$HOST_IP:3000/ PORT=3000[Install]WantedBy=multi-user.targetEOF# 启动 Rocket.Chat 服务并检查状态systemctl restart rocketchatsleep 15systemctl status rocketchat-----------------------------------------------------------------------------------------------------------------------------------------------------------sql-1.1.sh#!/bin/bashrm -rf /etc/yum.repos.d/*cat << EOF > /etc/yum.repos.d/centos.repo[os]name=Qcloud centos os - \$basearchbaseurl=http://mirrors.cloud.tencent.com/centos/\$releasever/os/\$basearch/enabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[updates]name=Qcloud centos updates - \$basearchbaseurl=http://mirrors.cloud.tencent.com/centos/\$releasever/updates/\$basearch/enabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[extras]name=Qcloud centos extras - \$basearchbaseurl=http://mirrors.cloud.tencent.com/centos/\$releasever/extras/\$basearch/enabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[epel]name=EPEL for redhat/centos \$releasever - \$basearchbaseurl=http://mirrors.cloud.tencent.com/epel/\$releasever/\$basearch/failovermethod=priorityenabled=1gpgcheck=1gpgkey=http://mirrors.cloud.tencent.com/epel/RPM-GPG-KEY-EPEL-7EOFyum -y install vsftpdecho "anon_root=/opt" >> /etc/vsftpd/vsftpd.confsystemctl restart vsftpdtar -xvf yum.tar.gz -C /optcat >> /etc/yum.repos.d/ftp.repo  << EOF[local]name=localbaseurl=file:///opt/yumenabled=1gpgcheck=0EOFyum install mongodb-org -yrm -rf /etc/mongod.confcat >> /etc/mongod.conf  << EOF# mongod.conf# for documentation of all options, see:#   http://docs.mongodb.org/manual/reference/configuration-options/# where to write logging data.systemLog:  destination: file  logAppend: true  path: /var/log/mongodb/mongod.log# Where and how to store data.storage:  dbPath: /var/lib/mongo  journal:    enabled: true# how the process runsprocessManagement:  fork: true  # fork and run in background  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile  timeZoneInfo: /usr/share/zoneinfo# network interfacesnet:  port: 27017  bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.#security:#operationProfiling:replication:  replSetName: cloud#sharding:## Enterprise-Only Options#auditLog:#snmp:EOFsystemctl restart mongod.servicesystemctl status mongod.service------------------------------------------------------------------------------------------------------------------------------------sql-1.2.sh#!/bin/bashSQL1_IP="192.168.216.16"SQL2_IP="192.168.216.17"SQL3_IP="192.168.216.18"mongo --host "$SQL1_IP" --port 27017 --eval "rs.initiate({  _id: 'cloud',  members: [    { _id: 0, host: '$SQL1_IP' },    { _id: 1, host: '$SQL2_IP' },    { _id: 2, host: '$SQL3_IP' }  ]});"------------------------------------------------------------------------------------------------------------------------------------sql-2.sh#!/bin/bashSQL1_ip="192.168.216.16"rm -rf /etc/yum.repos.d/*cat >> /etc/yum.repos.d/ftp.repo  << EOF[local]name=localbaseurl=ftp://$SQL1_ip/yumenabled=1gpgcheck=0EOFyum install mongodb-org -yrm -rf /etc/mongod.confcat >> /etc/mongod.conf  << EOF# mongod.conf# for documentation of all options, see:#   http://docs.mongodb.org/manual/reference/configuration-options/# where to write logging data.systemLog:  destination: file  logAppend: true  path: /var/log/mongodb/mongod.log# Where and how to store data.storage:  dbPath: /var/lib/mongo  journal:    enabled: true# how the process runsprocessManagement:  fork: true  # fork and run in background  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile  timeZoneInfo: /usr/share/zoneinfo# network interfacesnet:  port: 27017  bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.#security:#operationProfiling:replication:  replSetName: cloud#sharding:## Enterprise-Only Options#auditLog:#snmp:EOFsystemctl restart mongod.servicesystemctl status mongod.service----------------------------------------------------------------------------------------------------------------------------------delete-test.txt#!/bin/bash# 删除 WordPress 实例helm uninstall wordpress# 删除 PV 资源kubectl delete pvc data-wordpress-mariadb-0kubectl delete -f wordpress-pv.yamlkubectl delete -f mariadb-pv.yaml# 删除 ChartMuseum 的 Service 和 Deploymentkubectl delete -f chartmuseum-service.yamlkubectl delete -f chartmuseum-deployment.yamlrm -rf /mnt/data/wordpressrm -rf /mnt/data/mariadb# 删除命名空间kubectl delete namespace chartmuseumrm -rf chartmuseum-deployment.yaml chartmuseum-service.yaml linux-amd64 mariadb-pv.yaml wordpress wordpress-pv.yaml-----------------------------------------------------------------------------------------------------------------------------------------wordpress.sh#!/bin/bash# 安装 Helmtar -zxvf helm-v3.3.0-linux-amd64.tar.gzmv linux-amd64/helm /usr/bin# 创建 ChartMuseum 命名空间kubectl create namespace chartmuseum# 部署 ChartMuseum 的 YAML 文件cat <<EOF > chartmuseum-deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata:  name: chartmuseum  namespace: chartmuseumspec:  replicas: 1  selector:    matchLabels:      app: chartmuseum  template:    metadata:      labels:        app: chartmuseum    spec:      containers:        - name: chartmuseum          image: registry.cn-hangzhou.aliyuncs.com/starsleap/chartmuseum:latest          ports:            - containerPort: 8080          volumeMounts:            - name: chart-storage              mountPath: /charts          env:            - name: STORAGE              value: local            - name: STORAGE_LOCAL_ROOTDIR              value: /charts      volumes:        - name: chart-storage          hostPath:            path: /data/charts            type: DirectoryOrCreateEOFcat <<EOF > chartmuseum-service.yamlapiVersion: v1kind: Servicemetadata:  name: chartmuseum  namespace: chartmuseumspec:  type: ClusterIP  selector:    app: chartmuseum  ports:    - protocol: TCP      port: 8080      targetPort: 8080EOF# 应用 ChartMuseum 的配置kubectl apply -f chartmuseum-deployment.yamlkubectl apply -f chartmuseum-service.yaml# 解压 WordPress charttar -zxvf wordpress-13.0.23.tgz# 修改 values.yaml,将命名空间改为 chartmuseum,并更改 service 类型sed -i 's/type: LoadBalancer/type: NodePort/' wordpress/values.yaml# 创建 WordPress 和 MariaDB 的 PV 目录及设置权限mkdir -p /mnt/data/wordpresschmod 777 /mnt/data/wordpressmkdir -p /mnt/data/mariadbchmod 777 /mnt/data/mariadb# 创建 WordPress 和 MariaDB 的 PV YAML 文件cat <<EOF > wordpress-pv.yamlapiVersion: v1kind: PersistentVolumemetadata:  name: wordpress-pvspec:  capacity:    storage: 10Gi  accessModes:    - ReadWriteOnce  persistentVolumeReclaimPolicy: Retain  storageClassName: ""  hostPath:    path: "/mnt/data/wordpress"EOFcat <<EOF > mariadb-pv.yamlapiVersion: v1kind: PersistentVolumemetadata:  name: mariadb-pvspec:  capacity:    storage: 8Gi  accessModes:    - ReadWriteOnce  persistentVolumeReclaimPolicy: Retain  storageClassName: ""  hostPath:    path: "/mnt/data/mariadb"EOF# 应用 PV 的配置kubectl apply -f wordpress-pv.yamlkubectl apply -f mariadb-pv.yaml# 安装 WordPress 到 chartmuseum 命名空间helm install wordpress ./wordpress# 获取 WordPress 服务的 NodePort 和 IPexport NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services wordpress)export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")echo "WordPress URL: http://$NODE_IP:$NODE_PORT/"sleep 55kubectl port-forward --namespace default service/wordpress $(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services wordpress):80 &curl -L 127.0.0.1:$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services wordpress)/wp-admin----------------------------------------------------------------------------------------------------------------------------------------------------------------1.txthelm install mariadb-test mariadb-7.3.14.tgz \  --set mariadb.rootPassword="chinaskill" \  --set service.type=ClusterIP \  --set replication.enabled=false---------------------------------------------------------------------------------------------------------------------------------------------------------------------使用kubectl操作集群您需要先下载kubect1以及配置文件,拷贝到您的客户端机器,完成配置后,即可以使用访问kubernetes集群。● 下载kubectl请到kubernetes版本发布页面下载与集群版本对应的或者更新的kubectl。●下载kubectl配置文件请点击此处下载(公网apiserver地址变更后请重新下载)● 安装和配置kubectl以下操作以linux环境为例,更多详细信息,请参见安装和配置kubectl1.拷贝kubect1及其配置文件到您客户端机器的/home目录下2.登录到您的客户端机器,配置kubect11. cd /home2. chmod +x kubectl3. mv -f kubectl /usr/local/bin4. mkdir -p $HOME/.kube5. mv -f kubeconfig.json $HOME/.kube/config图8部署kubectl工具点击图8中的“此处”连接,将kubectl的配置文件kubeconfig.json下载下来。使用CRT等SSH连接工具,通过上面绑定的弹性公网IP地址访问CCE集群的控制节点,将刚刚下载下来的配置文件kubeconfig.json上传到该节点中,并执行mkdir-p $HOME/.kube与mv-f kubeconfig.json $HOME/.kube/config这两个步骤,就完成kubectl工具的部署了。kubectl工具部署完成后,执行kubectl cluster-info命令查看集群信息。[root@k8s-chinaskill-controller ~]# mkdir -p $HOME/.kube[root@k8s-chinaskill-controller ~]# mv -f kubeconfig.json $HOME/.kube/config[root@k8s-chinaskill-controller ~]# kubectl cluster-infoKubernetes control plane is running at https://192.168.0.178:5443CoreDNS is running at https://192.168.0.178:5443/api/v1/namespaces/kube-system/services/coredns:dns/proxyTo further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
  • [问题求助] cc-gateway连接cti失败,输出日志看不懂
    根据产品文档AICC 23.200.0在cc-gateway与cti的连接上输出的日志出现类似乱码的情况,在用AgentDemo链接时会长时间的卡主,并不能话务员工号登录。但是监控台的提示是正常的!
  • [问题求助] CC-gateway 安装所需证书证书问题?
    版本:AICC 23.200.0 跟教程需要安装生成指定的证书,但是教程中却好像没有对应的生成方法!采取此阶段生成的tomcatKeyStore文件,放入后依旧无法启动!./startup.sh之后依旧无法启动
  • 转载【捉虫计划】第1期 邀你来一场云上体验捉虫行动,回帖反馈赢开发者定制礼品
    转载自【捉虫计划】第1期 邀你来一场云上体验捉虫行动,回帖反馈赢开发者定制礼品-云社区-华为云 (huaweicloud.com)
  • [活动公告] 华为请关注你的支持者
    每天都抢,总是失望!本来带着支持国货,支持华为的想法。可是华为这么吊胃口的操作让人有点反感!劝诫华为不要再这么做了,你货源不足可以晚卖一段时间,等你攒足了再发布。但是你不可以这么戏耍支持你的人。要知道苹果手机随时可以购买,千万不要把市场搞坏了!
  • [热门活动] HCDG城市行贵安站——华为云人工智能应用创新论坛举行
    11月21日,HCDG(华为开发者组织)城市行贵安站——华为云人工智能应用创新论坛在贵安华为云数据中心·云上屯举行。来自华为及其生态伙伴、高校以及开发者社区等各界人士、技术精英与行业翘楚齐聚一堂,通过分享开发工具与实践经验、提供现场实操体验及参与圆桌讨论等多种形式,共同探讨如何携手拥抱人工智能,加速上云,共建繁荣的开发者生态,助力贵州数字经济高质量发展。赛事引领 激发开发者创新热情如今,随着技术融合推动基础设施升级,催生新应用及产业不断浮现。对开发者和创新者而言,这是机遇与挑战并存的到来。当天,论坛现场举行了2024华为开发者大赛和鲲鹏应用创新大赛贵州赛区颁奖仪式。据悉,2024年华为开发者大赛是华为ICT领域面向全球的顶级开发者赛事,鲲鹏应用创新大赛则是面向基础软硬件开发者的顶级赛事。两项赛事自启动以来,均吸引了贵州众多优秀团队和开发者积极参与,探索出了具有创新性、实用性、原创性的,且结合自身业务场景的解决方案。“我们的方案在贵州赛区脱颖而出,并成功晋级2024华为开发者大赛·中国区半决赛。”上海爱聚网络科技有限公司CEO吴春芳介绍,爱聚鸿蒙生态智慧文旅方案是基于鸿蒙生态技术底座及创新能力,围绕消费者出游前中后的各类场景打造文旅鸿蒙生态智慧文旅SaaS平台。据介绍,在该方案的助力下,AI将感知用户意图,通过系统级的智慧场景推荐显示相应原生应用或者元服务的卡片,如景区介绍、出行路线等。“目前,我们公司也有意在贵州落地。希望以数智力量,赋能贵州文旅产业发展。”吴春芳说。搭建平台 开发者社区持续壮大论坛期间,贵州大科城大数据产业发展有限公司和贵州工匠行科技有限公司宣布加入贵州华为云开发者社区组织,并举行了授旗仪式。据了解,HCDG华为云开发者社区组织是基于城市圈和技术圈,由开发者核心组自发开展的开放、创新、多元的社区技术交流组织。该组织致力于帮助开发者学习提升、互动交流、挖掘合作,推动技术应用与本地产业结合、数智化转型和开发者文化发展。“加入贵州开发者社区组织后,我们将充分发挥自身优势,整合资源力量,推动技术应用与本地产业结合,助力贵安新区打造全省科技创新中心,为贵州大数据产业发展蓄势赋能。”贵州大科城大数据产业发展有限公司办公室主任张晓丽说。近年来,华为通过举办企业沙龙、高校训练营、技术分享会等活动,聚集了众多优秀的贵州开发者加入HCDG华为云开发者社区组织,并于今年7月,成立贵州华为云开发者社区组织,迅速成为了贵州开发者交流思想、共享技术、提升能力的热门聚集地,助力产业发展。同时,为给开发者提供更好更全面的成长体验,让根技术触手可及。当前,华为云还为开发者打造了专属案例中心,涵盖了人工智能、数据库、鲲鹏等多个领域的实践场景,助力开发者快速掌握华为根技术,推动应用创新。AI赋能 助力贵州产业生态构建作为新一代信息技术的核心,人工智能已广泛渗透到制造业的各个环节中,成为满足消费者需求并引领产业实现创新的关键驱动力。论坛期间,各领域的专家、学者及企业代表齐聚一堂,共同探讨了人工智能在制造业及其他行业中的应用与前景。期间,华为云AI原生应用引擎高级解决方案架构师赵雷以“华为云AI原生应用引擎,面向千行百业,加速AI原生应用创新”为题进行了分享。他介绍,华为云基于自身实践出发,秉承”经验即服务”的理念,推出了AI原生应用引擎这一产品,构建了智能架构-分钟级智能生成Agent应用、一致体验-标准化API兼容业界主流模型、超高效率-企业知识库周级创建&天级更新、广域生态-沉淀千行万业Know-How、安全可信-“3+1”AI应用安全管控体系等五大核心竞争力,在医疗、制造、政务等行业都有着优秀的实践案例,帮助企业重塑生产力、创新增长模式、实现降本增效,完成从传统应用到智能应用的竞争力转型,使能千行万业智能应用创新。随后,贵州工匠行科技有限公司产品总监杜廷波作为企业代表,围绕“工匠行在华为云上的AI应用场景实践”,上台进行了经验分享。“作为一家主营大数据、人工智能等领域的高新技术规上企业,我们与华为云深度合作,充分利用其昇腾算力服务器资源优势,融合盘古通用大模型优势,实现了多种应用场景的搭建,提升企业综合管理能力水平,让AI应用场景更好地赋能千企万岗。”杜廷波说。抢抓人工智能发展“窗口期”,是面向高质量发展的贵州各界共识。今年9月起,贵州省已面向全国创新型人工智能科技企业提供昇腾云适配政策,华为云则提供昇腾云适配技术、商务和服务支持,助力企业进行国产化算力适配,极大降低了企业的适配成本,激发企业使用国产算力意愿。“在数字经济转型发展的新征程上,我们期待更多伙伴加入华为开发者生态圈,贡献更多智慧和力量。未来,我们将在贵州构建昇腾计算生态、行业大模型生态及人工智能人才培养生态。”华为数字经济创新展现总经理徐暄和说,依托贵州昇腾云适配中心,未来,华为云将会加快实施一批具有引领示范作用的重点适配项目,逐步建立起立足贵州,服务全国的人工智能产业发展新模式,助力贵州打造人工智能国产算力生态高地。”HCDG(Huawei Cloud Developer Group 华为云开发者社区组织),是基于城市圈和技术圈,由开发者核心组自发开展的开放、创新、多元的社区技术交流组织,致力于帮助开发者学习提升、互动交流、挖掘合作,推动技术应用与本地产业结合、数智化转型和开发者文化发展。
  • [问题求助] 还不更新
    4个多月没版本更新了年前能来个大版本吗
  • [课程学习] 云技术精髓活动笔记分享 - 云上的存储
    云技术精髓活动笔记分享 - 云上的存储引言在云计算的生态系统中,数据存储是核心的组成部分。为了帮助入门级开发者更好地理解和应用云存储技术,本笔记将详细记录华为云技术精髓认证课程中“云上的存储”章节的学习内容和心得体会。目录存储云服务概览对象存储服务OBS云硬盘服务EVS与本地磁盘弹性文件服务SFS1. 存储云服务概览云存储服务是一种通过网络提供可扩展、灵活、按需访问的数据存储解决方案。它允许用户存储和检索数据,而无需直接管理底层硬件。1.1 云存储的类型块存储:提供块级别的数据存储,适用于虚拟机实例。文件存储:提供文件级别的数据存储,适用于需要文件系统接口的应用。对象存储:提供非结构化数据的存储,适用于大容量数据。1.2 云存储的优势可扩展性:根据需求动态调整存储容量。高可用性:数据在多个位置复制,确保数据不会丢失。成本效益:按使用量付费,无需前期大量投资。2. 对象存储服务OBS对象存储服务(OBS)是一种适用于存储非结构化数据的服务,例如图片、视频和日志文件。2.1 OBS的特点高可靠性:数据多副本存储。可扩展性:自动扩展存储容量。低成本:按实际使用量付费。2.2 OBS的使用场景大数据分析:存储大量非结构化数据。网站托管:提供静态网站内容。备份与归档:长期存储备份数据。3. 云硬盘服务EVS与本地磁盘云硬盘服务(EVS)是一种高性能的块存储服务,它提供持久化的数据存储,适用于数据库和高性能计算场景。3.1 EVS的特点高性能:低延迟,高IOPS。持久性:数据持久存储,实例删除后数据依然保留。灵活性:支持在线扩展容量和快照功能。3.2 EVS与本地磁盘的比较性能:EVS通常提供更高的IOPS和吞吐量。成本:本地磁盘成本较低,但可扩展性差。持久性:EVS提供数据持久性,本地磁盘则不具备。4. 弹性文件服务SFS弹性文件服务(SFS)是一种分布式文件存储服务,它支持标准的文件系统接口,适用于需要共享文件存储的应用场景。4.1 SFS的特点高性能:支持高并发访问。易用性:兼容POSIX标准,易于集成现有应用。弹性:按需扩展文件系统容量。4.2 SFS的使用场景多媒体处理:存储和处理大量视频和音频文件。分布式应用:需要共享文件存储的分布式应用。开发和测试环境:提供灵活的文件存储解决方案。实验心得通过实验,我深刻理解了不同云存储服务的使用场景和配置方法。在实践中,我学会了如何根据不同的应用需求选择合适的存储服务。例如,对于需要高IOPS的数据库应用,我会选择EVS;而对于需要大容量、低成本存储的媒体文件,我会选择OBS。学习方法分享理论结合实践:通过实际操作来加深对理论知识的理解。多资源学习:利用官方文档、在线课程和社区论坛等多种资源。案例分析:研究实际案例,理解不同存储服务在现实世界中的应用。结语云存储是云计算中不可或缺的一部分,它为数据的存储、管理和分析提供了强大的支持。通过本课程的学习,我们不仅掌握了云存储的基础知识,还学会了如何在实际应用中选择合适的存储服务。希望这份笔记能为其他学员的学习提供参考和帮助。
  • [第5期高维向量数据] 11期同 wrap 代价计算
    请问如果 A,B 在同一个 wrap,且 A 到 B 的方向与 wrap 正方向一致,那么从 A 到 B 移动一定是按照慢速 2m/s 吗?如果 A 和 B 相距较远,不能从 A 先以 8m/s 移动到离 B 最近的 anchor,再从 anchor 以 2m/s 移动到 B 吗?
  • [热门活动] HCDG城市行深圳站--企业数智化高质量发展论坛
    9月21日,华为云开发者社区组织HCDG联合深圳市互联网学会、中国电信深圳分公司主办的企业数智化高质量发展论坛在福田创智云中心举办。来自华为、中国电信、深圳清华大学研究院、深圳标准研究院、众信中心等业界巨头的众多精英汇聚一堂,围绕“新时代·新技术·新商业”主题深入探讨数智经济的发展现状、挑战与机遇,助力企业加速智能化进程,在时代大变局中快速发展、迈向新高度。深圳标准技术研究院、深圳市众信电子商务交易保障促进中心主任张喜会在致辞中表示,数智化的核心在于推动企业从“人力密集型”向“数据驱动型”转变、从“依赖经验”到“智能决策”的跨越,过程中离不开大数据、人工智能、云计算等前沿技术的支撑。借助数智化,企业能够洞见市场先机、把握客户需求,在产品创新、供应链优化、客户体验提升等方面实现全面升级,迈向高质量发展的新阶段。中国电信集团公司产业数字化专家李静在视频讲话中指出,深圳市互联网学会一直以来致力于为企业与企业家之间搭建平台,推动企业在数字化应用中取得长足进步。李静表示,中国电信将携手深圳市互联网学会联合发起企业数智化联盟,呼吁业内领先企业、技术服务商和学术机构共同参与发起组建联盟,通过数智化手段提升企业竞争力,帮助企业在全球大变局中实现高效运作和可持续发展。华为云深圳AI技术总监邵荣防围绕“人工智能发展趋势和行业应用”作主题演讲,详细阐述了AI技术的最新进展,包括深度学习、自然语言处理、计算机视觉等领域的突破,并分享了AI在智能制造、智慧城市、生物医药、医疗健康等多个行业的应用案例,展现AI技术如何赋能传统产业,推动产业升级和经济社会高质量发展。源算法科技合伙人唐嘉利就“AI营销开启数智化营销新时代”主题进行分享,认为目前人工智能仍然处于弱人工智能阶段,在特定领域有出色表现,随着科技的进步,将逐步迈向强人工智能时代,并深入剖析了传统营销模式的局限性。通过大数据分析、用户画像构建、个性化推荐,整套营销闭环等手段,AI营销能够实现面向客户自动精准推送爆款内容,为企业带来前所未有的营销效果。文交科技副总经理何青以“数智化时代——企业的最佳增长引擎路径”为主题剖析数字资产与数据资产七大核心差异。何青强调,中国商业已率先迈入5.0时代,全球正步入第三次亿万级增长的赛道,标志着数据已成为推动经济增长的关键力量。数据向数据资产转化的过程能够显著增强企业的净资产实力,助力债务结构优化,大幅提升企业估值,增强市场信用评分,为企业创造多元化价值。十方数链副总裁戴威针对“AI趋势下的企业IP经济新趋势”深入剖析数字版权的独特优势,表示数字版权与商标、专利、软件著作权之间存在异同边界,在当今AI技术日新月异的时代背景下,每个个体都已成为潜在的创作者。未来生产模式将会发生巨大变革,向高度个性化定制方向迈进,数字版权将作为核心驱动力赋能千行百业,激发更多的商业价值。在随后的分组讨论环节,首批受聘企业数智化专家与参会嘉宾围绕主题进行深入地交流与讨论,并为企业数智化的落地应用提供更多实践性的建议。华为云将继续携手各城市HCDG核心组成员,与广大企业及开发者,共建产业新生态,为企业及开发者提供“新技术、新体验、新机会”全方位支撑,赋能更多的企业数字化转型。HCDG(Huawei Cloud Developer Group 华为云开发者社区组织),是基于城市圈和技术圈,由开发者核心组自发开展的开放、创新、多元的社区技术交流组织,致力于帮助开发者学习提升、互动交流、挖掘合作,推动技术应用与本地产业结合、数智化转型和开发者文化发展。
  • [软件平台] MViz
    MViz cannot start because the current operating system (Kylin) is not Ubuntu.  
  • [交流吐槽] 华为云开发者云主机这么怎会卡啊?
    云主机这么怎会卡啊?老是需要重连
  • [技术干货] 如何在MQTT协议中实施访问控制和身份验证机制?
    在MQTT协议中实施访问控制和身份验证机制是确保通信安全性的重要步骤。以下是关于如何在MQTT协议中实现这些机制的详细步骤和考虑因素:一、身份验证机制用户名和密码认证: MQTT协议支持通过用户名和密码进行客户端的身份验证。在连接MQTT Broker之前,客户端需要提供这些凭据以进行身份验证。 这种方法简单直接,但可能存在一定的安全隐患,因此通常与其他身份认证手段结合使用以强化安全性。 TLS/SSL证书认证: 使用TLS/SSL协议对MQTT通信进行加密,并提供基于证书的身份验证。客户端和MQTT Broker之间的数据传输会被加密,确保数据的机密性和完整性。 TLS/SSL证书不仅对数据加密,还可完成服务器和客户端的相互身份验证,为通信双方提供了双向认证的保证。 OAuth等外部认证系统集成: MQTT可以与外部认证系统集成,如OAuth等单点登录(SSO)系统,进一步提升身份验证的安全性。 在这种模式下,认证服务负责处理凭证,并且能够实现跨系统的用户验证,简化了用户管理,同时提升了安全度。 二、访问控制机制IP过滤: MQTT Broker可以通过IP过滤来限制客户端的访问,确保安全性和可控性。只允许来自特定IP地址或IP地址范围的客户端连接到MQTT Broker。 ACL(访问控制列表)机制: MQTT Broker可以通过ACL机制来限制客户端的访问权限,确保数据的安全性和保密性。 可以配置ACL来限制某些主题(topic)只允许特定的客户端订阅或发布。 防火墙: MQTT Broker可以通过防火墙来限制客户端的访问,确保网络的安全性和稳定性。防火墙可以阻止未经授权的访问尝试,并保护MQTT Broker免受潜在的网络攻击。 消息加密: 对于特别敏感的数据,可以在发布消息时进行端到端的加密,确保只有预期的接收方能够解密并查看消息内容。 安全审计: 对MQTT通信进行安全审计,记录关键事件和操作,以便监控和追踪潜在的安全问题。这有助于及时发现和解决潜在的安全风险。 总结:在MQTT协议中实施访问控制和身份验证机制是确保通信安全性的重要步骤。通过结合使用用户名和密码认证、TLS/SSL证书认证、OAuth等外部认证系统集成、IP过滤、ACL机制、防火墙、消息加密和安全审计等措施,可以有效地保护MQTT通信免受未经授权的访问和数据泄露等安全风险。这些机制共同构成了MQTT协议的安全防护体系,为物联网应用和数据通信提供了可靠的保障。
  • [其他] 基于华为好望相机路内泊位识别算法程序
    基于华为好望相机路内泊位识别算法程序 weibo.com/ttarticle/p/show?id=2309405037483887820904 weibo.com/ttarticle/p/show?id=2309405037484005523567 weibo.com/ttarticle/p/show?id=2309405037484122964125 weibo.com/ttarticle/p/show?id=2309405037484232016130 weibo.com/ttarticle/p/show?id=2309405037484357845109 weibo.com/ttarticle/p/show?id=2309405037485104169026 weibo.com/ttarticle/p/show?id=2309405037485229998295 weibo.com/ttarticle/p/show?id=2309405037485351633023 weibo.com/ttarticle/p/show?id=2309405037485477724203 weibo.com/ttarticle/p/show?id=2309405037485590970406 weibo.com/ttarticle/p/show?id=2309405037486161396177 weibo.com/ttarticle/p/show?id=2309405037486282768389 weibo.com/ttarticle/p/show?id=2309405037486404665507 weibo.com/ttarticle/p/show?id=2309405037486521843866 weibo.com/ttarticle/p/show?id=2309405037486652129348 weibo.com/ttarticle/p/show?id=2309405037487146795015 weibo.com/ttarticle/p/show?id=2309405037487264497950 weibo.com/ttarticle/p/show?id=2309405037487386132584 weibo.com/ttarticle/p/show?id=2309405037487499379139 weibo.com/ttarticle/p/show?id=2309405037487616819586 weibo.com/ttarticle/p/show?id=2309405037488254353805 weibo.com/ttarticle/p/show?id=2309405037488384376850 weibo.com/ttarticle/p/show?id=2309405037488514400525 weibo.com/ttarticle/p/show?id=2309405037488640229480 weibo.com/ttarticle/p/show?id=2309405037488766058855 weibo.com/ttarticle/p/show?id=2309405037489604657173 weibo.com/ttarticle/p/show?id=2309405037489726554198 weibo.com/ttarticle/p/show?id=2309405037489847926890 weibo.com/ttarticle/p/show?id=2309405037489965629534 weibo.com/ttarticle/p/show?id=2309405037490087264510 weibo.com/ttarticle/p/show?id=2309405037490582192389 weibo.com/ttarticle/p/show?id=2309405037490708021428 weibo.com/ttarticle/p/show?id=2309405037490833850386 weibo.com/ttarticle/p/show?id=2309405037490947096913 weibo.com/ttarticle/p/show?id=2309405037491068731443 weibo.com/ttarticle/p/show?id=2309405037491823706475 weibo.com/ttarticle/p/show?id=2309405037491941146670 weibo.com/ttarticle/p/show?id=2309405037492062519421 weibo.com/ttarticle/p/show?id=2309405037492180222133 weibo.com/ttarticle/p/show?id=2309405037492301856870 weibo.com/ttarticle/p/show?id=2309405037493069152545 weibo.com/ttarticle/p/show?id=2309405037493191049422 weibo.com/ttarticle/p/show?id=2309405037493316878388 weibo.com/ttarticle/p/show?id=2309405037493429862441 weibo.com/ttarticle/p/show?id=2309405037493551497371 weibo.com/ttarticle/p/show?id=2309405037494038036551 weibo.com/ttarticle/p/show?id=2309405037494159933793 weibo.com/ttarticle/p/show?id=2309405037494289956866 weibo.com/ttarticle/p/show?id=2309405037494415786057 weibo.com/ttarticle/p/show?id=2309405037494541353143 weibo.com/ttarticle/p/show?id=2309405037495115972699 weibo.com/ttarticle/p/show?id=2309405037495229481170 weibo.com/ttarticle/p/show?id=2309405037495363436548 weibo.com/ttarticle/p/show?id=2309405037495476945195 weibo.com/ttarticle/p/show?id=2309405037495598580165 weibo.com/ttarticle/p/show?id=2309405037496353292535 weibo.com/ttarticle/p/show?id=2309405037496479383861 weibo.com/ttarticle/p/show?id=2309405037496596824380 weibo.com/ttarticle/p/show?id=2309405037496714264778 weibo.com/ttarticle/p/show?id=2309405037496839831775 weibo.com/ttarticle/p/show?id=2309405037497334759582 weibo.com/ttarticle/p/show?id=2309405037497460588613 weibo.com/ttarticle/p/show?id=2309405037497590874188 weibo.com/ttarticle/p/show?id=2309405037497712246981 weibo.com/ttarticle/p/show?id=2309405037497842532503 weibo.com/ttarticle/p/show?id=2309405037498655965453 weibo.com/ttarticle/p/show?id=2309405037498777862410 weibo.com/ttarticle/p/show?id=2309405037498895302796 weibo.com/ttarticle/p/show?id=2309405037499012743230 weibo.com/ttarticle/p/show?id=2309405037499130184022 weibo.com/ttarticle/p/show?id=2309405037499616723185 weibo.com/ttarticle/p/show?id=2309405037499738358071 weibo.com/ttarticle/p/show?id=2309405037499859730530 weibo.com/ttarticle/p/show?id=2309405037499977433249 weibo.com/ttarticle/p/show?id=2309405037500099068091 weibo.com/ttarticle/p/show?id=2309405037500925083706 weibo.com/ttarticle/p/show?id=2309405037501051175150 weibo.com/ttarticle/p/show?id=2309405037501168615913 weibo.com/ttarticle/p/show?id=2309405037501290250274 weibo.com/ttarticle/p/show?id=2309405037501403496577 weibo.com/ttarticle/p/show?id=2309405037501881385076 weibo.com/ttarticle/p/show?id=2309405037501994893727 weibo.com/ttarticle/p/show?id=2309405037502116266043 weibo.com/ttarticle/p/show?id=2309405037502225318009 weibo.com/ttarticle/p/show?id=2309405037502338564131 weibo.com/ttarticle/p/show?id=2309405037503165104167 weibo.com/ttarticle/p/show?id=2309405037503286739142 weibo.com/ttarticle/p/show?id=2309405037503399723168 weibo.com/ttarticle/p/show?id=2309405037503521620110 weibo.com/ttarticle/p/show?id=2309405037503647187049 weibo.com/ttarticle/p/show?id=2309405037504280789020 weibo.com/ttarticle/p/show?id=2309405037504393773256 weibo.com/ttarticle/p/show?id=2309405037504507019401 weibo.com/ttarticle/p/show?id=2309405037504616333364 weibo.com/ttarticle/p/show?id=2309405037504733511750 weibo.com/ttarticle/p/show?id=2309405037505501069386 weibo.com/ttarticle/p/show?id=2309405037505622704251 weibo.com/ttarticle/p/show?id=2309405037505744339003 weibo.com/ttarticle/p/show?id=2309405037505865973884 weibo.com/ttarticle/p/show?id=2309405037505979220079 weibo.com/ttarticle/p/show?id=2309405037506461827170 weibo.com/ttarticle/p/show?id=2309405037506575073349 weibo.com/ttarticle/p/show?id=2309405037506696708296 weibo.com/ttarticle/p/show?id=2309405037506822537360 weibo.com/ttarticle/p/show?id=2309405037506939715724 weibo.com/ttarticle/p/show?id=2309405037507833102459 weibo.com/ttarticle/p/show?id=2309405037507954737249 weibo.com/ttarticle/p/show?id=2309405037508085022851 weibo.com/ttarticle/p/show?id=2309405037508202201311 weibo.com/ttarticle/p/show?id=2309405037508311253082 weibo.com/ttarticle/p/show?id=2309405037508810637580 weibo.com/ttarticle/p/show?id=2309405037508936204373 weibo.com/ttarticle/p/show?id=2309405037509058101426 weibo.com/ttarticle/p/show?id=2309405037509179474297 weibo.com/ttarticle/p/show?id=2309405037509309759614 weibo.com/ttarticle/p/show?id=2309405037510228050074 weibo.com/ttarticle/p/show?id=2309405037510349946912 weibo.com/ttarticle/p/show?id=2309405037510467125275 weibo.com/ttarticle/p/show?id=2309405037510584828086 weibo.com/ttarticle/p/show?id=2309405037510698074196 weibo.com/ttarticle/p/show?id=2309405037511280820265 weibo.com/ttarticle/p/show?id=2309405037511394066512 weibo.com/ttarticle/p/show?id=2309405037511520157699 weibo.com/ttarticle/p/show?id=2309405037511637336173 weibo.com/ttarticle/p/show?id=2309405037511767621754 weibo.com/ttarticle/p/show?id=2309405037512253898839 weibo.com/ttarticle/p/show?id=2309405037512375795717 weibo.com/ttarticle/p/show?id=2309405037512492974094 weibo.com/ttarticle/p/show?id=2309405037512614608957 weibo.com/ttarticle/p/show?id=2309405037512732311699 weibo.com/ttarticle/p/show?id=2309405037513226977601 weibo.com/ttarticle/p/show?id=2309405037513344417943 weibo.com/ttarticle/p/show?id=2309405037513457926424 weibo.com/ttarticle/p/show?id=2309405037513575366812 weibo.com/ttarticle/p/show?id=2309405037513692545057 weibo.com/ttarticle/p/show?id=2309405037514170958079 weibo.com/ttarticle/p/show?id=2309405037514296786984 weibo.com/ttarticle/p/show?id=2309405037514405839263 weibo.com/ttarticle/p/show?id=2309405037514523279729 weibo.com/ttarticle/p/show?id=2309405037514640720092 weibo.com/ttarticle/p/show?id=2309405037515165007989 weibo.com/ttarticle/p/show?id=2309405037515286642750 weibo.com/ttarticle/p/show?id=2309405037515408277552 weibo.com/ttarticle/p/show?id=2309405037515525455953 weibo.com/ttarticle/p/show?id=2309405037515647353151 weibo.com/ttarticle/p/show?id=2309405037516490145794 weibo.com/ttarticle/p/show?id=2309405037516616237205 weibo.com/ttarticle/p/show?id=2309405037516733677710 weibo.com/ttarticle/p/show?id=2309405037516850856171 weibo.com/ttarticle/p/show?id=2309405037516968558907 weibo.com/ttarticle/p/show?id=2309405037517454835766 weibo.com/ttarticle/p/show?id=2309405037517568344381 weibo.com/ttarticle/p/show?id=2309405037517693911170 weibo.com/ttarticle/p/show?id=2309405037517807419649 weibo.com/ttarticle/p/show?id=2309405037517924860039 weibo.com/ttarticle/p/show?id=2309405037518566588480 weibo.com/ttarticle/p/show?id=2309405037518658863217 weibo.com/ttarticle/p/show?id=2309405037518759526600 weibo.com/ttarticle/p/show?id=2309405037518868578660 weibo.com/ttarticle/p/show?id=2309405037518969241647 weibo.com/ttarticle/p/show?id=2309405037519531278597 weibo.com/ttarticle/p/show?id=2309405037519631679593 weibo.com/ttarticle/p/show?id=2309405037519740993682 weibo.com/ttarticle/p/show?id=2309405037519837462941 weibo.com/ttarticle/p/show?id=2309405037519937863773 weibo.com/ttarticle/p/show?id=2309405037520428597583 weibo.com/ttarticle/p/show?id=2309405037520533454973 weibo.com/ttarticle/p/show?id=2309405037520634380447 weibo.com/ttarticle/p/show?id=2309405037520823124531 weibo.com/ttarticle/p/show?id=2309405037520923787402 weibo.com/ttarticle/p/show?id=2309405037521422909690 weibo.com/ttarticle/p/show?id=2309405037521531961361 weibo.com/ttarticle/p/show?id=2309405037521636818953 weibo.com/ttarticle/p/show?id=2309405037521745870921 weibo.com/ttarticle/p/show?id=2309405037521858854923 weibo.com/ttarticle/p/show?id=2309405037522349850909 weibo.com/ttarticle/p/show?id=2309405037522454708415 weibo.com/ttarticle/p/show?id=2309405037522559303711 weibo.com/ttarticle/p/show?id=2309405037522668617964 weibo.com/ttarticle/p/show?id=2309405037522769281047 weibo.com/ttarticle/p/show?id=2309405037523922452563 weibo.com/ttarticle/p/show?id=2309405037524027572534 weibo.com/ttarticle/p/show?id=2309405037524136362169 weibo.com/ttarticle/p/show?id=2309405037524245676065 weibo.com/ttarticle/p/show?id=2309405037524815839252 weibo.com/ttarticle/p/show?id=2309405037524912308249 weibo.com/ttarticle/p/show?id=2309405037525021360135 weibo.com/ttarticle/p/show?id=2309405037525134606344 weibo.com/ttarticle/p/show?id=2309405037525231075515 weibo.com/ttarticle/p/show?id=2309405037525717877353 weibo.com/ttarticle/p/show?id=2309405037525843443735 weibo.com/ttarticle/p/show?id=2309405037525969535183 weibo.com/ttarticle/p/show?id=2309405037526095364135 weibo.com/ttarticle/p/show?id=2309405037526216999272 weibo.com/ttarticle/p/show?id=2309405037526980362337 weibo.com/ttarticle/p/show?id=2309405037527093608730 weibo.com/ttarticle/p/show?id=2309405037527215243573 weibo.com/ttarticle/p/show?id=2309405037527336878235 weibo.com/ttarticle/p/show?id=2309405037527445930418 weibo.com/ttarticle/p/show?id=2309405037527940857998 weibo.com/ttarticle/p/show?id=2309405037528062230579 weibo.com/ttarticle/p/show?id=2309405037528184127576 weibo.com/ttarticle/p/show?id=2309405037528301568253 weibo.com/ttarticle/p/show?id=2309405037528418746623 weibo.com/ttarticle/p/show?id=2309405037529945473131 weibo.com/ttarticle/p/show?id=2309405037530071564409 weibo.com/ttarticle/p/show?id=2309405037530193199390 weibo.com/ttarticle/p/show?id=2309405037530310639715 weibo.com/ttarticle/p/show?id=2309405037531077935246 weibo.com/ttarticle/p/show?id=2309405037531195637850 weibo.com/ttarticle/p/show?id=2309405037531308884065 weibo.com/ttarticle/p/show?id=2309405037531426062488 weibo.com/ttarticle/p/show?id=2309405037531547959484 weibo.com/ttarticle/p/show?id=2309405037532269117540 weibo.com/ttarticle/p/show?id=2309405037532382625881 weibo.com/ttarticle/p/show?id=2309405037532500066625 weibo.com/ttarticle/p/show?id=2309405037532625895767 weibo.com/ttarticle/p/show?id=2309405037532747268194 weibo.com/ttarticle/p/show?id=2309405037533758357809 weibo.com/ttarticle/p/show?id=2309405037533879992457 weibo.com/ttarticle/p/show?id=2309405037534001627439 weibo.com/ttarticle/p/show?id=2309405037534123262075 weibo.com/ttarticle/p/show?id=2309405037534249091280 weibo.com/ttarticle/p/show?id=2309405037534731436241 weibo.com/ttarticle/p/show?id=2309405037534857265287 weibo.com/ttarticle/p/show?id=2309405037534978637892 weibo.com/ttarticle/p/show?id=2309405037535108661382 weibo.com/ttarticle/p/show?id=2309405037535226364199 weibo.com/ttarticle/p/show?id=2309405037535721291816 weibo.com/ttarticle/p/show?id=2309405037535842926686 weibo.com/ttarticle/p/show?id=2309405037535968493759 weibo.com/ttarticle/p/show?id=2309405037536090390678 weibo.com/ttarticle/p/show?id=2309405037536207831412 weibo.com/ttarticle/p/show?id=2309405037536983777511 weibo.com/ttarticle/p/show?id=2309405037537105412316 weibo.com/ttarticle/p/show?id=2309405037537222590552 weibo.com/ttarticle/p/show?id=2309405037537344225587 weibo.com/ttarticle/p/show?id=2309405037537470316784 weibo.com/ttarticle/p/show?id=2309405037537952399449 weibo.com/ttarticle/p/show?id=2309405037538061713589 weibo.com/ttarticle/p/show?id=2309405037538162114575 weibo.com/ttarticle/p/show?id=2309405037538263040306 weibo.com/ttarticle/p/show?id=2309405037538372092031 weibo.com/ttarticle/p/show?id=2309405037538577612956 weibo.com/ttarticle/p/show?id=2309405037538682470615 weibo.com/ttarticle/p/show?id=2309405037538791260281 weibo.com/ttarticle/p/show?id=2309405037538896380083 weibo.com/ttarticle/p/show?id=2309405037539000975517 weibo.com/ttarticle/p/show?id=2309405037539214885077 weibo.com/ttarticle/p/show?id=2309405037539315548280 weibo.com/ttarticle/p/show?id=2309405037539420667950 weibo.com/ttarticle/p/show?id=2309405037539529457721 weibo.com/ttarticle/p/show?id=2309405037539630121029 weibo.com/ttarticle/p/show?id=2309405037539827515686 weibo.com/ttarticle/p/show?id=2309405037539936305295 weibo.com/ttarticle/p/show?id=2309405037540041163157 weibo.com/ttarticle/p/show?id=2309405037540154671228 weibo.com/ttarticle/p/show?id=2309405037540259266645 weibo.com/ttarticle/p/show?id=2309405037540456399037 weibo.com/ttarticle/p/show?id=2309405037540565450801 weibo.com/ttarticle/p/show?id=2309405037540670570672 weibo.com/ttarticle/p/show?id=2309405037540771233978 weibo.com/ttarticle/p/show?id=2309405037540880023833 weibo.com/ttarticle/p/show?id=2309405037541081350218 weibo.com/ttarticle/p/show?id=2309405037541186207750 weibo.com/ttarticle/p/show?id=2309405037541287133282 weibo.com/ttarticle/p/show?id=2309405037541391991077 weibo.com/ttarticle/p/show?id=2309405037541500780613 weibo.com/ttarticle/p/show?id=2309405037541702107286 weibo.com/ttarticle/p/show?id=2309405037541811421366 weibo.com/ttarticle/p/show?id=2309405037541916279061 weibo.com/ttarticle/p/show?id=2309405037542016942369 weibo.com/ttarticle/p/show?id=2309405037542125994189 weibo.com/ttarticle/p/show?id=2309405037542327058435 weibo.com/ttarticle/p/show?id=2309405037542432178529 weibo.com/ttarticle/p/show?id=2309405037542537035852 weibo.com/ttarticle/p/show?id=2309405037542650282129 weibo.com/ttarticle/p/show?id=2309405037542742556850 weibo.com/ttarticle/p/show?id=2309405037542960660762 weibo.com/ttarticle/p/show?id=2309405037543065518329 weibo.com/ttarticle/p/show?id=2309405037543174307877 weibo.com/ttarticle/p/show?id=2309405037543271039114 weibo.com/ttarticle/p/show?id=2309405037543375896767 weibo.com/ttarticle/p/show?id=2309405037543573028996 weibo.com/ttarticle/p/show?id=2309405037543682081120 weibo.com/ttarticle/p/show?id=2309405037543790870565 weibo.com/ttarticle/p/show?id=2309405037543895728305 weibo.com/ttarticle/p/show?id=2309405037544005042178 weibo.com/ttarticle/p/show?id=2309405037544197718245 weibo.com/ttarticle/p/show?id=2309405037544302837834 weibo.com/ttarticle/p/show?id=2309405037544411889943 weibo.com/ttarticle/p/show?id=2309405037544525135897 weibo.com/ttarticle/p/show?id=2309405037544642576721 weibo.com/ttarticle/p/show?id=2309405037544843903023 weibo.com/ttarticle/p/show?id=2309405037544948760654 weibo.com/ttarticle/p/show?id=2309405037545049424151 weibo.com/ttarticle/p/show?id=2309405037545162670268 weibo.com/ttarticle/p/show?id=2309405037545271722121 weibo.com/ttarticle/p/show?id=2309405037545473048754 weibo.com/ttarticle/p/show?id=2309405037545582100914 weibo.com/ttarticle/p/show?id=2309405037545691152645 weibo.com/ttarticle/p/show?id=2309405037545796010184 weibo.com/ttarticle/p/show?id=2309405037545900605592 weibo.com/ttarticle/p/show?id=2309405037546102194387 weibo.com/ttarticle/p/show?id=2309405037546207052285 weibo.com/ttarticle/p/show?id=2309405037546311647260 weibo.com/ttarticle/p/show?id=2309405037546416767014 weibo.com/ttarticle/p/show?id=2309405037546521624759 weibo.com/ttarticle/p/show?id=2309405037546731340069 weibo.com/ttarticle/p/show?id=2309405037546836197384 weibo.com/ttarticle/p/show?id=2309405037546936860993 weibo.com/ttarticle/p/show?id=2309405037547037524268 weibo.com/ttarticle/p/show?id=2309405037547142119611 weibo.com/ttarticle/p/show?id=2309405037547339514106 weibo.com/ttarticle/p/show?id=2309405037547448303667 weibo.com/ttarticle/p/show?id=2309405037547548966918 weibo.com/ttarticle/p/show?id=2309405037547654086982 weibo.com/ttarticle/p/show?id=2309405037547762876448 weibo.com/ttarticle/p/show?id=2309405037547968659525 weibo.com/ttarticle/p/show?id=2309405037548073517310 weibo.com/ttarticle/p/show?id=2309405037548186763392 weibo.com/ttarticle/p/show?id=2309405037548282970264 weibo.com/ttarticle/p/show?id=2309405037548388089865 weibo.com/ttarticle/p/show?id=2309405037548585222513 weibo.com/ttarticle/p/show?id=2309405037548698206353 weibo.com/ttarticle/p/show?id=2309405037548803326041 weibo.com/ttarticle/p/show?id=2309405037548912378055 
总条数:2090 到第
上滑加载中