• [问题求助] 华为云stack manage one运营侧api接口403无权限
    【功能模块】华为云stack manage one运营侧以vdc管理员的身份调用api接口可以获取token信息,但是用该token去调用资源集相关api接口时报403无权限异常;除此之外,使用以上token信息调用《ManageOne8.1.0运营面API参考》手册里的大多数api接口都报403【操作步骤&问题现象】1、华为云stack manage one运营侧以vdc管理员的身份调用api接口可以获取token信息,但是用该token去调用资源集相关api接口时报403无权限异常;2、除此之外,使用以上token信息只能调用《ManageOne 8.1.0 OTenantSecurity服务API参考》文档里的api接口,调用《ManageOne8.1.0运营面API参考》手册里的大多数api接口都报403;【截图信息】比如调用以下接口在该vdc下创建一个资源集project显示403无权限:【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] springboot集成IM即时通讯
    在使用 Server SDK 之前,需要准备环信 appkey、Client ID、ClientSecre。开发环境JDK1.8 &&MAVEN1. 在pom中引入sdk依赖2. 初始化EMService 根据业务资源,API 分为:Attachment  用于上传下载附件Block  用于限制访问(将用户加入黑名单、群组/聊天室禁言等)Contact  用于管理联系人(添加好友等)Group  用于管理群组Message  用于发送消息User  用于管理用户UserMetadata  用于管理用户属性Push  用于管理用户推送(设置推送免打扰等)Token  用于获取用户TokenRoom  用于管理聊天室每个业务资源对应一个方法,例如,用户相关的 API,都可以在 .user() 找到。举个例子,我们要注册一个用户,就可以这样写:API的返回值是响应式的,如果希望阻塞,可以使用上面例子中的 .block()。注意:如果你的项目不是响应式的编程,那么请在调用的 Server SDK API 的结尾添加 .block()对使用的 api 添加 try/catch ,如果使用的 api 没有抛出异常,代表请求成功,反之则请求失败,通过异常EMException对象的 getErrorCode()/getMessage() 拿到错误码以及错误描述
  • [活动体验] API中文文档上新,MindSpore邀您检视
    https://gitee.com/mindspore/mindspore/issues/I5EROY?from=project-issuehttps://gitee.com/mindspore/mindspore/pulls/369341175149853@qq.com
  • [积分闯关赛] GDE直播公开课·第六期,GDE.API编排介绍及案例演示观后感+yd_230817202
    https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=182420GDE直播公开课·第六期,GDE.API编排介绍及案例演示观后感APi把能力封装并分发出去。跨平台使用。无需访问源码 协议转化,数据映射,逻辑编排。可靠策略。APIfabric开发网关,接口调研开发测试运维治理。定制开发能力开发。把开发着提供的API封装,接口组合成新API给消费者对接。在线极速可视共享。一体化工具链,元数据,配置花,图形,自动测试,洒沙箱环境。预制集成资产,高频函数。十协议连接器没改欧巴高性能低成本引擎,安全可靠,灵活扩展框架。开发态:开发工具和设计工具。运行态:治理态,后台微服务,后台管理。生命周期管理:端到端生产上线,运维过程分成开发态,API定义,流程开发,测试。资产库管理,分类查找。运行态,流程编排,策略引擎,扩展协议框架。告警、故障,运行指标。请求量,成功率,时延失败数,拒绝数,流控数,重试数。复用:注册发布,二次开发,资产配置化,资产入库,再次快速复用。API定义:输入输出参数,结构体,导入导出API,编辑,自动生产,比较,添加API端点。编排:图形化编排,脚本编排,参数匹配错误提醒,参数映射自动匹配。测试,结果汇总,管理执行, 用例定义,测试桩名称方法,返回参数。 出站API,添加端点,告警,响应头,响应体,编排,告警ID,告警信息,双击图元,连接API,保存。部署沙箱,调测。告警详情,策略配置:流控策略,保存策略,沙箱部署,调测,多次API调用。
  • [活动体验] API中文文档上新,MindSpore邀您检视
    1. mindspore.dataset.transformsissue: https://gitee.com/mindspore/mindspore/issues/I5EW17PR:  https://gitee.com/mindspore/mindspore/pulls/36981涉及三个算子 Mask PadEnd 和Unique,都隶属于transforms
  • [热门活动] [已结束]就在本周六!工作台体验集中指导,特邀专家答疑解惑!
    Everybody 看过来~ 工作台的体验过程中是不是有些不明白、不会处理的地方?是不是想找个专家带带?没问题!集中指导这不就来了本周六 下午16:00-18:00我们特地邀请了来自开天aPaaS集成工作台开发团队的专家为大家答疑解惑准备好你的问题,周六下午咱们开发者群里见~
  • [问题求助] 【Iot】【鉴权】The API does not exist or has not been published in the
    【功能模块】鉴权【操作步骤&问题现象】目的:为采集第三方一个NB设备的数据,1、增加了一个应用,并获取应用的ID、key和接入地址2、用PostMan进行鉴权接口测试, 也增加了证书3、返回错误:The API does not exist or has not been published in the environment求助:采集第三方NB设备数据,是需要通过建立应用来采集数据的吗?如果是,那么下图错误可能是什么原因引起的?如果不是,那应该采用哪种方式?【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [交流讨论] 换个角度看Kubernetes 的核心
    本文来自微信公共号:分布式实验室。文章观点独特,比喻形象,分享给大家~本文论述了 Kubernetes 的核心价值是其通用、跨厂商和平台、可灵活扩展的声明式 API 框架, 而不是容器(虽然容器是它成功的基础);然后手动创建一个 API Extension(CRD), 通过测试和类比来对这一论述有一个更直观的理解。例子及测试基于 Kubernetes v1.21.0。— 1 —Kubernetes 的核心是其 API 框架而非容器 容器是基础时间回到 2013 年。当一条简单的 docker run postgre 命令就能运行起 Postgre 这样复杂的传统服务时,开发者在震惊之余犹如受到天启;以 Docker 为代表的实用容器技术的横空出世,也预示着一扇通往敏捷基础设施的大门即将打开。此后,一切都在往好的方向迅速发展:越来越多的开发者开始采用容器作为一种标准构建和运行方式。业界也意识到,很容易将这种封装方式引入计算集群,通过 Kubernetes 或 Mesos 这样的编排器来调度计算任务 —— 自此,容器便成为这些调度器最重要的 Workload 类型。但本文将要说明,容器并非 Kubernetes 最重要、最有价值的地方,Kubernetes 也并非仅仅是一个更广泛意义上的 Workload 调度器 —— 高效地调度不同类型的 Workload 只是 Kubernetes 提供的一种重要价值,但并不是它成功的原因。API 才是核心“等等 —— Kubernetes 只是一堆 API?”“不好意思,一直都是!”Kubernetes 的成功和价值在于,提供了一种标准的编程接口(API),可以用来编写和使用软件定义的基础设施服务(本文所说的“基础设施”,范围要大于 IaaS):Specification + Implementation 构成一个完整的 API 框架 —— 用于设计、实现和使用各种类型和规模的基础设施服务;这些 API 都基于相同的核心结构和语义:typed resources watched and reconciled by controllers (资源按类型划分,控制器**相应类型的资源,并将其实际 status 校准到 spec 里期望的状态)。为了进一步解释这一点,考虑下 Kubernetes 出现之前的场景。Kubernetes 之前:各自造轮子,封装厂商 API 差异Kubernetes 之前,基础设施基本上是各种不同 API、格式和语义的“云”服务组成的大杂烩:云厂商只提供了计算实例、块存储、虚拟网络和对象存储等基础构建模块,开发者需要像拼图一样将它们拼出一个相对完整的基础设施方案;对于其他云厂商,重复过程 1,因为各家的 API、结构和语义并不相同,甚至差异很大。虽然 Terraform 等工具的出现,提供了一种跨厂商的通用格式,但原始的结构和语义仍然是五花八门的,—— 针对 AWS 编写的 Terraform descriptor 是无法用到 Azure 的。Kubernetes 面世:标准化、跨厂商的 API、结构和语义现在再来看 Kubernetes 从一开始就提供的东西:描述各种资源需求的标准 API。例如:描述 Pod、Container 等计算需求的 API;描述 Service、Ingress 等虚拟网络功能的 API;描述 Volumes 之类的持久存储的 API;甚至还包括 Service Account 之类的服务身份的 API 等等。这些 API 是跨公有云/私有云和各家云厂商的,各云厂商会将 Kubernetes 结构和语义对接到它们各自的原生 API。因此我们可以说,Kubernetes 提供了一种管理软件定义基础设施(也就是云)的标准接口。或者说,Kubernetes 是一个针对云服务(Cloud Services)的标准 API 框架。Kubernetes API 扩展:CRD提供一套跨厂商的标准结构和语义来声明核心基础设施(Pod/Service/Volume/ServiceAccount/……), 是 Kubernetes 成功的基础。在此基础上,它又通过 CRD(Custom Resource Definition), 将这个结构扩展到任何/所有基础设施资源。CRD 在 1.7 引入,允许云厂商和开发者自己的服务复用 Kubernetes 的 spec/impl 编程框架。有了 CRD,用户不仅能声明 Kubernetes API 预定义的计算、存储、网络服务,还能声明数据库、task runner、消息总线、数字证书……任何云厂商能想到的东西!Operator Framework 以及 SIG API Machinery 等项目的出现,提供了方便地创建和管理这些 CRD 的工具,最小化用户工作量,最大程度实现标准化。例如,Crossplane 之类的项目,将厂商资源 RDS 数据库、SQS queue 资源映射到 Kubernetes API,就像核心 Kubernetes controller 一样用自己的 controller 来管理网卡、磁盘等自定义资源。Google、RedHat 等 Kubernetes 发行商也在它们的基础 Kubernetes 发行版中包含越来越多的自定义资源类型。小结我们说 Kubernetes 的核心是其 API 框架,但并不是说这套 API 框架就是完美的。事实上,后一点并不(非常)重要,因为 Kubernetes 模型已经成为一个事实标准:开发者理解它、大量工具主动与它对接、主流厂商也都已经原生支持它。用户认可度、互操作性 经常比其他方面更能决定一个产品能否成功。随着 Kubernetes 资源模型越来越广泛的传播,现在已经能够 用一组 Kubernetes 资源来描述一整个软件定义计算环境。就像用 docker run 可以启动单个程序一样,用 kubectl apply -f 就能部署和运行一个分布式应用, 而无需关心是在私有云还是公有云以及具体哪家云厂商上,Kubernetes 的 API 框架已经屏蔽了这些细节。因此,Kubernetes 并不是关于容器的,而是关于 API。— 2 —Kubernetes 的 API 类型 可以通过 GET/LIST/PUT/POST/DELETE 等 API 操作,来创建、查询、修改或删除集群中的资源。各 controller **到资源变化时,就会执行相应的 reconcile 逻辑,来使 status 与 spec 描述相符。标准 API(针对内置资源类型)‍Namespaced 类型,这种类型的资源是区分 namespace,也就是可以用 namespace 来隔离。大部分内置资源都是这种类型,包括:podsservicesnetworkpoliciesAPI 格式:格式:/api/{version}/namespaces/{namespace}/{resource}举例:/api/v1/namespaces/default/podsUn-namespaced 类型,这种类型的资源是全局的,不能用 namespace 隔离,例如:nodesclusterroles(clusterxxx 一般都是,表示它是 cluster-scoped 的资源)API 格式:格式:/api/{version}/{resource}举例:/api/v1/nodes扩展 API(apiextension)1、Namespaced 类型API 格式:格式:/apis/{apiGroup}/{apiVersion}/namespaces/{namespace}/{resource}举例:/apis/cilium.io/v2/namespaces/kube-system/ciliumnetworkpolicies2、Un-namespaced 类型CRD用户发现了 Kubernetes 的强大之后,希望将越来越多的东西(数据)放到 Kubernetes 里面, 像内置的 Pod、Service、NetworkPolicy 一样来管理,因此出现了两个东西:CRD:用来声明用户的自定义资源,例如它是 namespace-scope 还是 cluster-scope 的资源、有哪些字段等等,Kubernetes 会自动根据这个定义生成相应的 API;官方文档的例子[1], 后文也将给出一个更简单和具体的例子。CRD 是资源类型定义,具体的资源叫 CR。Operator 框架:“Operator” 在这里的字面意思是“承担运维任务的程序”, 它们的基本逻辑都是一样的:时刻盯着资源状态,一有变化马上作出反应(也就是 reconcile 逻辑)。这就是扩展 API 的(最主要)声明和使用方式。至此,我们讨论的都是一些比较抽象的东西,接下来通过一些例子和类比来更直观地理解一下。— 3 —直观类比:Kubernetes 是个数据库,CRD 是一张表,API 是 SQL 在本节中,我们将创建一个名为 fruit 的 CRD,它有 name/sweet/weight 三个字段, 完整 CRD 如下:apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:  name: fruits.example.org        # CRD 名字spec:  conversion:    strategy: None  group: example.org              # REST API: /apis/<group>/<version>  names:    kind: Fruit    listKind: FruitList    plural: fruits    singular: fruit  scope: Namespaced               # Fruit 资源是区分 namespace 的  versions:  - name: v1                      # REST API: /apis/<group>/<version>    schema:      openAPIV3Schema:        properties:          spec:            properties:              comment:            # 字段 1,表示备注                type: string              sweet:              # 字段 2,表示甜否                type: boolean              weight:             # 字段 3,表示重量                type: integer            type: object        type: object    served: true                  # 启用这个版本的 API(v1)    storage: true    additionalPrinterColumns:     # 可选项,配置了这些 printer columns 之后,    - jsonPath: .spec.sweet       # 命令行 k get <crd> <cr> 时,能够打印出下面这些字段,      name: sweet                 # 否则,k8s 默认只打印 CRD 的 NAME 和 AGE      type: boolean    - jsonPath: .spec.weight      name: weight      type: integer    - jsonPath: .spec.comment      name: comment      type: string后面会解释每个 section 都是什么意思。在此之前,先来做几个(直观而粗糙的)类比。Kubernetes 是个数据库像其他数据库技术一样,它有自己的持久存储引擎(etcd),以及构建在存储引擎之上的 一套 API 和语义。这些语义允许用户创建、读取、更新和删除(CURD)数据库中的数据。下面是一些概念对应关系:关系型数据库Kubernetes(as a database)说明DATABASEcluster一套 Kubernetes 集群就是一个 database 【注 1】TABLEKind每种资源类型对应一个表;分为内置类型和扩展类型 【注 2】COLUMNproperty表里面的列,可以是 string、boolean 等类型rowsresources表中的一个具体 record表中的一个具体 record【注 1】 如果只考虑 namespaced 资源的话,也可以说一个 namespace 对应一个 database。【注 2】 前面已经介绍过,内置 Kind:Job、Service、Deployment、Event、NetworkPolicy、Secret、ConfigMap 等等;扩展 Kind:各种 CRD,例如 CiliumNetworkPolicy。所以,和其他数据库一样,本质上 Kubernetes 所做的不过是以 schema 规定的格式来处理 records。另外,Kubernetes 的表都有自带文档‍:$ k explain fruitsKIND:     FruitVERSION:  example.org/v1DESCRIPTION:     <empty>FIELDS:   apiVersion   <string>     APIVersion defines the versioned schema of this representation of an     object. Servers should convert recognized schemas to the latest internal     value, and may reject unrecognized values. More info:     https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources   kind <string>     Kind is a string value representing the REST resource this object     represents. Servers may infer this from the endpoint the client submits     requests to. Cannot be updated. In CamelCase. More info:     https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds   metadata     <Object>     Standard object's metadata. More info:     https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata   spec <Object>另外,Kubernetes API 还有两大特色:极其可扩展:声明 CRD 就会自动创建 API;支持事件驱动。CRD 是一张表CRD 和内置的 Pod、Service、NetworkPolicy 一样,不过是数据库的一张表。例如,前面给出的 fruit CRD,有 name/sweet/weight 列,以及 “apple”、“banana” 等 entry。用户发现了 Kubernetes 的强大,希望将越来越多的东西(数据)放到 Kubernetes 里面来管理。数据类 型显然多种多样的,不可能全部内置到 Kubernetes 里。因此,一种方式就是允许用户创建自己的 “表”,设置自己的“列” —— 这正是 CRD 的由来。1、定义表结构(CRD spec)CRD(及 CR)描述格式可以是 YAML 或 JSON。CRD 的内容可以简单分为三部分:常规 Kubernetes metadata:每种 Kubernetes 资源都需要声明的字段,包括 apiVersion、kind、metadata.name 等‍‍。 apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata:   name: fruits.example.org        # CRD 名字Table-level 信息:例如表的名字,最好用小写,方便以后命令行操作‍; spec:   conversion:     strategy: None   group: example.org              # REST API: /apis/<group>/<version>   names:     kind: Fruit     listKind: FruitList     plural: fruits     singular: fruit   scope: Namespaced               # Fruit 资源是区分 namespace 的Column-level 信息:列名及类型等等,遵循 OpenAPISpecification v3 规范。   versions:   - name: v1                      # REST API: /apis/<group>/<version>     schema:       openAPIV3Schema:         properties:           spec:             properties:               comment:            # 字段 1,表示备注                 type: string               sweet:              # 字段 2,表示甜否                 type: boolean               weight:             # 字段 3,表示重量                 type: integer             type: object         type: object     served: true                  # 启用这个版本的 API(v1)     storage: true     additionalPrinterColumns:     # 可选项,配置了这些 printer columns 之后,     - jsonPath: .spec.sweet       # 命令行 k get <crd> <cr> 时,能够打印出下面这些字段,       name: sweet                 # 否则,k8s 默认只打印 CRD 的 NAME 和 AGE       type: boolean     - jsonPath: .spec.weight       name: weight       type: integer     - jsonPath: .spec.comment       name: comment       type: string2、测试:CR 增删查改 vs. 数据库 SQL创建 CRD:这一步相当于 CREATE TABLE fruits ...;。 $ kubectl create -f fruits-crd.yaml customresourcedefinition.apiextensions.k8s.io/fruits.example.org created创建 CR:相当于 INSERT INTO fruits values(...);。apple-cr.yaml‍: apiVersion: example.org/v1 kind: Fruit metadata:   name: apple spec:   sweet: false   weight: 100   comment: little bit rottenbanana-cr.yaml: apiVersion: example.org/v1 kind: Fruit metadata:   name: banana spec:   sweet: true   weight: 80   comment: just bought创建‍: $ kubectl create -f apple-cr.yaml fruit.example.org/apple created $ kubectl create -f banana-cr.yaml fruit.example.org/banana created查询 CR:相当于 SELECT * FROM fruits ... ; 或 SELECT * FROM fruits WHERE name='apple';。 $ k get fruits.example.org # or kubectl get fruits NAME     SWEET   WEIGHT   COMMENT apple    false   100      little bit rotten banana   true    80       just bought $ kubectl get fruits apple NAME    SWEET   WEIGHT   COMMENT apple   false   100      little bit rotten删除 CR:相当于 DELETE FROM fruits WHERE name='apple';。 $ kubectl delete fruit apple可以看到,CRD/CR 的操作都能对应到常规的数据库操作。API 是 SQL上一节我们是通过 kubectl 命令行来执行 CR 的增删查改,它其实只是一个外壳,内部 调用的是 Kubernetes 为这个 CRD 自动生成的 API —— 所以又回到了本文第一节论述的内容:Kubernetes 的核心是其 API 框架。只要在执行 kubectl 命令时指定一个足够大的 loglevel,就能看到背后的具体 API 请求。例如:$ kubectl create -v 10 -f apple-cr.yaml  ...  Request Body: {"apiVersion":"example.org/v1","kind":"Fruit",\"spec\":{\"comment\":\"little bit rotten\",\"sweet\":false,\"weight\":100}}\n"},"name":"apple","namespace":"default"},"spec":{"comment":"little bit rotten","sweet":false,"weight":100}}  curl -k -v -XPOST 'https://127.0.0.1:6443/apis/example.org/v1/namespaces/default/fruits?fieldManager=kubectl-client-side-apply'  POST https://127.0.0.1:6443/apis/example.org/v1/namespaces/default/fruits?fieldManager=kubectl-client-side-apply 201 Created in 25 milliseconds  ...— 4 —其他 给 CR 打标签(label),根据 label 过滤和内置资源类型一样,Kubernetes 支持对 CR 打标签,然后根据标签做过滤:# 查看所有 frutis$ k get fruitsNAME     SWEET   WEIGHT   COMMENTapple    false   100      little bit rottenbanana   true    80       just bought# 给 banana 打上一个特殊新标签$ k label fruits banana tastes-good=truefruit.example.org/banana labeled# 按标签筛选 CR$ k get fruits -l tastes-good=trueNAME     SWEET   WEIGHT   COMMENTbanana   true    80       just bought# 删除 label$ k label fruits banana tastes-good-fruit.example.org/banana labeledKubernetes API 与鉴权控制(RBAC)不管是内置 API,还是扩展 API,都能用 Kubernetes 强大的 RBAC 来做鉴权控制。关于如何使用 RBAC 网上已经有大量文档;但如果想了解其设计,可参考 Cracking Kubernetes RBAC Authorization Model[2], 它展示了如何从零开始设计出一个 RBAC 鉴权模型(假设 Kubernetes 里还没有)。相关链接:https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#create-a-customresourcedefinitionhttps://arthurchiao.art/blog/cracking-k8s-authz-rbac/参考链接:https://blog.joshgav.com/2021/12/16/kubernetes-isnt-about-containers.htmlhttps://github.com/gotopple/k8s-for-users-intro/blob/master/database.mdhttps://itnext.io/crd-is-just-a-table-in-kubernetes-13e15367bbe4原文阅读:https://mp.weixin.qq.com/s/MEhDJYg_lmjbPEdFFLdedg
  • [活动体验] API中文文档上新,MindSpore邀您检视
    1. mindspore.ops.intopkissue: https://gitee.com/mindspore/mindspore/issues/I5E5KBPR:  https://gitee.com/mindspore/mindspore/pulls/366142. mindspore.ops.renorm 中文修改issue: https://gitee.com/mindspore/mindspore/issues/I5E5NKPR: https://gitee.com/mindspore/mindspore/pulls/366173. mindspore.ops.renorm 英文修改issue: https://gitee.com/mindspore/mindspore/issues/I5E5OMPR: https://gitee.com/mindspore/mindspore/pulls/366184. mindspore.Tensor.bernoulliissue: https://gitee.com/mindspore/mindspore/issues/I5E5PE5.mindspore.nn.BiDenseissue: https://gitee.com/mindspore/mindspore/issues/I5E5PLPR: https://gitee.com/mindspore/mindspore/pulls/36619
  • [技术干货] Python爬虫之获取心知天气API实时天气数据并弹窗提醒【转载】
    目录一、心知天气API密钥获取二、编写代码三、设置为自启动项目一、心知天气API密钥获取首先,访问https://www.seniverse.com,进行登录或者注册操作,然后在控制台上创建一个免费版的项目,创建后,项目信息为:二、编写代码代码如下:12345678910111213141516171819202122232425262728293031323334353637383940import requestsfrom plyer import notification """plyer是用来显示弹窗的模块安装命令:pip install plyer""" params = {    "key": "你的API密钥",    "location": "ip",    # 查询地点设置为访问IP所在地    "language": "zh-Hans",    "unit": "c",} url = "https://api.seniverse.com/v3/weather/now.json" # 获取数据r = requests.get(url, params=params) # 解析数据data = r.json()["results"] address = data[0]["location"]['path']        # 地点temperature = data[0]['now']["temperature"]  # 温度text = data[0]['now']["text"]                # 天气情况 # 弹窗显示消息message = address + " 当前天气:\n" + \          "温度:" + temperature + "℃" + \          "\n天气情况:" + text + \          "\n祝您心情愉悦!(^o^)"           """标题为“当前天气”显示10秒钟(timeout参数)"""notification.notify(title="当前天气",                    message=message,                    timeout=10)运行代码,可以看到屏幕右下角出现了提示弹窗。三、设置为自启动项目这里我以Windows系统为例,首先,在桌面创建一个bat文件,命名为weather.bat,输入代码:1python D:\Python爬虫\demo.py其中“D:\Python爬虫\demo.py”是我的Python代码路径,你可以根据自己的进行修改。接下来,右击“计算机”,选择“管理”,再找到任务计划程序库,点击右边的“创建基本任务”,如图:接下来,每一次登录这个账号,都会自动启动这个项目,如图,笔者退出账号后,再登录,可以看到右下角出现了弹窗:
  • [技术干货] 上新了,华为云开天aPaaS
    【摘要】 自2021年华为全联接大会上华为云开天aPaaS发布以来,通过对自身技术经验的持续淬炼及与行业伙伴的深度合作,华为云打造KooMessage云消息、KooMap云地图等多个基础aPaaS服务,和工业、政务、煤矿、教育、供热5个行业aPaaS服务,开放超过30,000个API,让企业开发者不必重复造轮子、不必重复走弯路,快速实现行业SaaS创新。数字浪潮奔涌向前上云、用云已然成为企业数字化转型的必由之路如何实质性降低企业数字化转型的门槛?华为云开天aPaaS携手行业伙伴践行“经验即服务”让行业应用创新不必重复造轮子、走弯路自2021年华为全联接大会上华为云开天aPaaS发布以来,通过对自身技术经验的持续淬炼及与行业伙伴的深度合作,华为云打造KooMessage云消息、KooMap云地图等多个基础aPaaS服务,和工业、政务、煤矿、教育、供热5个行业aPaaS服务,开放超过30,000个API,让企业开发者不必重复造轮子、不必重复走弯路,快速实现行业SaaS创新。 基础aPaaS打造一站式通用服务企业日常运营涉及办公、营销推广、企业管理等方方面面,这些场景的数字化是企业高效运营的基础。华为云将华为自身数字转型的经验、终端领域的技术成果,与伙伴丰富的行业能力相结合,打造KooMessage 云消息、KooMap 云地图、云办公、云搜索、云空间等根服务,开放一站式的场景化能力,加速应用创新,让开发者聚焦价值创造。▎KooMessage一站式富媒体消息服务覆盖服务号、智能消息、5G消息、Push消息等全场景,以及手机、Pad、PC、智慧屏、智能手表等全终端类型,能触达300多款、5亿多台终端设备。KooMessage提供消息内容开发、流量分发、用户数据分析三类API,100+短信模板,10+跳转方式,让企业能够通过拖拉拽的方式,快速生成富媒体消息,帮助企业有效提升营销转化率,提高用户满意度。▎KooMap云地图服务华为云还与40+合作伙伴携手打造了KooMap云地图服务,提供50多颗卫星的对地观测遥感数据、400多种地物分析API,可广泛服务于智慧城市、资源监测、物流、出行等领域,应用于导航地图、森林防火、应急监测、土地管理、农业监测等场景,大幅提升建模效率与地表对象识别准确率。行业aPaaS,沉淀行业资产让行业优秀经验得以广泛复制面向垂直行业,华为云将自身技术优势与伙伴行业经验充分融合,打造工业、政务、煤矿、教育、供热5个行业aPaaS服务。在工业领域:数字化转型的核心是工业软件。过去工业软件面临大量定制化难题,无法规模化发展。华为云联合伙伴打造了工业aPaaS,目标即是加速工业软件开发和SaaS化。最新发布的数据模型驱动引擎服务Data Model Engine,沉淀了物料、电子、需求、工艺等24种工业数据模型,80+数据功能API,40+数据对象操作API,加速工业软件开发和SaaS化。在城市场景:政府需要提供各种便民和治理服务,如创业扶持、食品溯源、城市治理等等,来保障城市的有序发展。华为云基于600多个政务云项目,构建了政务aPaaS,汇聚全国60多家生态伙伴,沉淀了100多个政务服务API。基于这些API服务,开发者和伙伴能够快速完成政务应用创新,帮助政府更高效地管理城市。在煤矿领域:华为云打造了“盘古矿山大模型”,伙伴和开发者只需输入小样本数据进行调优,即可快速生成不同矿山场景的AI服务。目前煤矿aPaaS已经沉淀了18个机器视觉类API,覆盖矿山采、掘、机、运、通等主业务环节,实现无人、少人作业,让煤矿工人也可以穿西装打领带去工作,这些方案可以复制到中国4000多个井工矿。打造极致开发体验让开发者快速开发行业应用为了让开发者更加方便地使用以上行业能力,华为云还提供完善的开发框架和能力,通过集成工作台、企业工作台两大云服务,帮助开发者快速调用Kit能力、集成开发行业应用。集成工作台:提供基于元数据的可扩展的集成框架,沉淀多种集成资产,通过数据模型管理、API管理、业务流编排、连接器管理等关键特性,打造一站式开发工具链,降低系统集成复杂度,帮助企业开发者轻松搞定应用集成,快速实现行业应用开发。企业工作台:是面向企业用户的一站式数字工作台,为企业提供用户、组织、应用、授权等统一管理能力和灵活的门户编排能力,并面向办公、工业、教育等场景提供丰富的预集成应用,帮助企业打造个性化办公体验,提升办公及运营效率。开天aPaaS集成工作台正在火热公测中欢迎广大伙伴和开发者前来体验!点击这里→开天aPaaS集成工作台体验活动总览或扫描下方二维码参与体验API新玩法,赢华为手表!华为云开天aPaaS经验即服务让优秀得以复制
  • [活动体验] API中文文档上新,MindSpore邀您检视
    PR:https://gitee.com/mindspore/mindspore/pulls/36539PR:https://gitee.com/mindspore/mindspore/pulls/37005issue:https://gitee.com/mindspore/mindspore/issues/I5E285 issue:https://gitee.com/mindspore/mindspore/issues/I5E28Pissue:https://gitee.com/mindspore/mindspore/issues/I5E2A7个人邮箱:1152040573@qq.com
  • [技术行业前沿] 华为云发布桌面IDE-CodeArts,让连接更简单、编码更智能
    【摘要】 全新发布的华为云桌面IDE-CodeArts为了给广大的开发者提供更高效、更智能的桌面开发体验,具备“连接华为云服务、智能开发、开发者生态”三大特性,支持便捷连接220+华为云服务、引用4500+华为云服务API,汇聚300万+华为云开发者,助力编码效率提升50%。本文分享自华为云社区博客《华为云发布桌面IDE-CodeArts,让连接更简单、编码更智能》,作者: 华为云社区精选 。6月15日,主题为“因聚而生,为你所能”的华为伙伴暨开发者大会2022隆重开幕,华为云CEO张平安发表“共创新价值,一切皆服务”的主题演讲,重磅发布了华为云桌面IDE-CodeArts,并邀请华为云开发工具和效率首席专家王亚伟向大家介绍了这款智能化桌面集成开发环境的主要特点。全新发布的华为云桌面IDE-CodeArts为了给广大的开发者提供更高效、更智能的桌面开发体验,具备“连接华为云服务、智能开发、开发者生态”三大特性,支持便捷连接220+华为云服务、引用4500+华为云服务API,汇聚300万+华为云开发者,助力编码效率提升50%。华为云桌面IDE-CodeArts发布,助力开发更高效华为云软件开发生产线(DevCloud)是一站式、全流程、安全可信的云原生DevSecOps平台,开箱即用,预置最佳实践。去年DevCloud发布了内置智能化代码补全的CloudIDE服务,为开发者提供了随时随地的云上在线编程体验。为了帮助开发者获得更好的用云体验和开发效率,华为云推出了桌面集成开发环境(IDE)- CodeArts。据王亚伟介绍,CodeArts定位为华为云开发者桌面,是一款智能化桌面集成开发环境,目标是让开发者更简单的使用华为云,以及更高效的基于华为云来构建应用。内置华为云开发套件,用云更便捷作为华为云的开发者桌面,CodeArts提供的华为云API开发套件可以快速连接220+华为云服务,和集成超过4500+华为云服务API。开发者在CodeArts中可以搜索、调测和集成已发布的华为云服务API,利用详尽的参数说明和示例代码,实现在代码中调用华为云服务。此举大幅降低开发者在应用中集成华为云能力的门槛,让用云更便捷。智能化开发,编码效率大幅提升作为桌面集成开发环境(IDE),CodeArts将智能化融入到开发的各个环节,提升开发者效率。基于深度学习的Java语言服务,通过代码所在光标位置代码上下文的语义理解,可以准确为用户推荐和生成代码。代码搜索服务可以对用户历史代码活动的特征进行分析,根据用户输入的关键词快速定位到相关搜索结果。通过智能化的语言服务和搜索服务,CodeArts能够帮助开发者提升50%的综合编码效率。开放插件扩展和市场,共同繁荣生态作为华为云开发者的生态入口,CodeArts支持基于插件的服务扩展,并利用不断增加的开发套件(插件)支持更多研发场景,从传统应用到现代化(Serverless)应用,从本地开发到云上远程开发,从单人开发到团队DevOps协作。通过开放的插件标准和市场,CodeArts支持合作伙伴和开发者一起加入进来,共同打造华为云的开发者生态。依托三大特性,CodeArts能让各类场景的开发事半功倍。以往,开发者需要在华为云4500+的API中找到最合适的那个并集成于自身业务,需要颇费一番周折。现在,企业通过CodeArts开发云上应用时集成华为云服务将成为自然选择,在IDE中一边编写业务代码即可一边通过关键字搜索需要的云服务。比如,在开发“图像识别文字”业务的场景中。仅输入关键字“文字识别”,即可查找到华为云文字识别(OCR)服务的多种类型接口,每个接口都有详细的说明、参数定义,以及请求和返回示例。更简便的,开发者可直接打开“SDK示例代码”,按照接口调用格式预置参数,然后把自动配置好参数的示例代码直接复制、粘贴,再启动运行、调试,分钟级即可实现业务代码调用华为云服务接口。通过CodeArts连接华为云,编程变得高效简单。图示:通过华为云API开发套件获取接口示例代码华为云CodeArts,将服务于华为云数百万不断增长的开发者,支持合作伙伴共建共享生态,使能开发者更高效的基于华为云构建应用,让连接更简单、编码更智能,助力企业更快实现数字化转型。
  • [技术干货] proxy 代理
    概念什么是同源策略同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。所谓同源是指:协议、域名、端口都相同什么是跨域跨域就是不同源,就是不满足协议、域名、端口都相同的约定如:看下面的链接是否与 http://www.test.com/index.html 同源?http://www.test.com/dir/login.html 同源https://www.test.com/index.html 不同源 协议不同(https)http://www.test.com:90/index.html 不同源 端口不同(90)http://www.demo.com/index.html 不同源 域名不同(demo)跨域请求devServer代理几种配置1:先在项目的根目录下新建 vue.config.js 文件2:在module.exports内设置devServer来处理代理假设我们要把http://localhost:8081/allin/policy/getProductInfo 中的域名换成 www.test.com 相当于把请求换成 http://www.test.com/allin/policy/getProductInfo第一种代理方式把请求的url写成/allin/policy/getProductInfo注意请求的地址必须是/allin/policy/getProductInfo,而不是http://localhost:8081/allin/policy/getProductInfo,(下面的几种方式也是同样的)因为代理会检查请求开头是否为/allin,如果以http开头,则检查不匹配,则不走代理 devServer: {    proxy: {        '/allin': {            //要访问的跨域的域名            target: 'http://www.test.com',            ws: true, // 是否启用websockets         //开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样客户端端和服务端进行数据的交互就不会有跨域问题            changOrigin: true,        }    }}相当于遇见/allin才做代理,则会把默认域名http://localhost:8081地址改成 target 对应的http://www.test.com地址,但是在浏览器的F12下,Network->Headers中看到还是http://localhost:8081/allin/policy/getProductInfo, 但是真正的请求的地址则是http://www.test.com/allin/policy/getProductInfo注意如果只是修改域名,则不需要写pathRewrite,但如果要写,则必须写成pathRewrite: {’^/allin’: ‘/allin’},相当于把/allin标识还替换成/allin第二种代理方式把请求的url写成/api/allin/policy/getProductInfo devServer: {     proxy: {         '/api': {             //要访问的跨域的域名             target: 'http://www.test.com',             ws: true,             changOrigin: true,             pathRewrite: {                 '^/api': ''             }         }     } }相当于遇见/api才做代理,但真实的请求中没有/api,所以在pathRewrite中把’/api’去掉, 这样既有了标识, 又能在请求接口中把/api去掉第三种代理方式把请求的url写成/allin/getProductInfo注意这里请求时我没有写/polic,目的是在拦截跨域是我再加上devServer: {    proxy: {        '/allin': {            //要访问的跨域的api的域名            target: 'http://www.test.com',            ws: true,            changOrigin: true,            pathRewrite: {                '^/allin': '/allin/policy'            }        }    }}相当于遇见/allin则替换成/allin/policy,注意/policy后边没有/,这样拼接成功才会是http://www.test.com/allin/policy/getProductInfo第四种代理方式把请求的url写成/allin/getProductInfo注意这里请求时我没有写/polic,目的是在拦截跨域是我再加上devServer: {     proxy: {         '/allin': {             //要访问的跨域的api的域名             target: 'http://www.test.com/allin/policy',             ws: true,             changOrigin: true,             pathRewrite: {                 '^/allin': '/'  //必须这样写             }         }     } }这里/allin相当于http://www.test.com/allin/policy这里必须要写pathRewrite: { ‘^/allin’: ‘/’},而且里边必须要写成’^/allin’: ‘/’,这里的斜杠代表的意思就是使用target中的/allin/policy,否则就要使用上面的方式把斜杠写成/allin/policy,并把target中只写域名,如果不写pathRewrite则请求不会成功。注意pathRewrite:如果不写则只能修改代理的域名,如果写则可以修改代理的域名和后边的路径使用场景我们开发的Vue项目大部分是用在App内的,而当我们写好一个功能后,如果想在真机上看看效果,那必须要提交到测试环境,然后App内配置好测试地址才可以正常访问。那我们能不能直接让App访问我们自己的IP地址呢,这样的话当在真机上出现问题时,可以先修改,避免了把错误的代码提交到测试环境上,而我们如果直接这么写,肯定会报跨域的问题,这里就需要用到代理机制了。我们就按照上面的几种方式设置代理就可以让App访问我们自己的机器上的代码了
  • [云动向] 华为云发布15大创新服务 携手伙伴及开发者共创新价值
    2022年6月15日,华为伙伴暨开发者大会隆重召开。在为期两天的大会上,华为云将带来主题演讲、论坛、专场等丰富活动,与伙伴、开发者、业界大咖、技术专家、高校师生共同探讨和分享基于云的深度创新和应用。会上,华为云CEO张平安发布15大创新服务,覆盖经验即服务、技术即服务和基础设施即服务;发布新的伙伴合作框架GoCloud和GrowCloud,帮助伙伴提升能力、扩大市场;华为ICT领域的顶级赛事“2022华为开发者大赛”也正式启动,让开发者能够一展身手,点亮无限创想。张平安在主题演讲中表示:“随着企业数字化转型的持续深耕,各行各业的SaaS渗透率在逐步增加,未来十年将是SaaS发展的黄金十年。华为云一直践行‘一切皆服务’,打造云上行业创新的最佳平台,加速SaaS进入千行百业。华为云将以不断创新的云服务,和伙伴及开发者一起,用创新点燃星星之火,照亮整个智能世界。”华为云CEO张平安发布15大创新服务经验即服务,让优秀得以复制去年,华为云发布开天aPaaS,将华为自身30多年及全球各行各业的数字化转型经验沉淀在华为云上,让开发者不必重复造轮子,快速实现行业SaaS创新,让优秀得以复制。在本届大会上,华为云重磅发布5个行业aPaaS服务。工业aPaaS:华为云发布数据模型驱动引擎DataModel Engine服务,沉淀了24种工业数据模型,让伙伴和开发者可以快速进行开发。湃睿科技基于华为云的数据模型驱动引擎,只用7个月就构建了SaaS化PDM,开发成本下降10倍。政务aPaaS:华为云基于600多个政务云项目,构建了政务aPaaS,沉淀了100多个政务服务API,让伙伴和开发者能够快速构建百花齐放的应用。在张家港,国泰新点基于华为云政务aPaaS的违规识别API,可对渣土违章行为实现分钟级定位、小时级处理。供热aPaaS:华为云供热aPaaS沉淀了98个智慧供热API服务,保障供热的精准和均衡,让每家每户在寒冷的冬天保持舒适的温度。在哈尔滨,北明软件联合华为云打造了智慧供热系统,服务13万户居民,实现供热精算精控,发挥每一份热的价值。煤矿aPaaS:华为云通过“盘古矿山大模型”,联合伙伴沉淀了18个机器视觉类矿山作业API,实现无人少人作业,让煤矿工人也可以“穿西装打领带”去工作,该方案可以在全国超过4000个井工矿复制使用。精英数智采用煤矿aPaaS的皮带异物识别API,异物识别精度超过98%,安全事故降低90%,避免了停工停产带来的巨大损失。教育aPaaS:华为云联合伙伴一起构建了5类30多个教育API服务,如智能作业批改、口语评测、智能排课等,帮助老师从低效重复的工作中解脱出来,专注于学生个性化能力培养。好未来基于华为云教育aPaaS的智能作业批改API,可将老师作文批改效率提升70%,同时也可以让学生快速获得优秀老师的经验建议。华为云携手各行业伙伴,在开天aPaaS上持续沉淀行业经验;同时,华为云在aPaaS上还沉淀了许多通用的基础能力。在本届大会,华为云还发布了2个基础aPaaS服务以及新的云商店。一站式富媒体消息服务KooMessage:能够提供全场景消息,包含服务号、智能消息、5G消息、Push消息等多种形式;并能触达300多款、5亿多台终端设备,包括手机、Pad、PC、智慧屏、智能手表等。唯品会在2022年春节的“不打烊抢红包”活动中,基于KooMessage定制开发了红包短信,实现个性化精准推送,点击率显著提升。使能数字孪生的云地图服务KooMap:联合伙伴可提供400多种地物分析API,可为智慧城市、自然资源监测、物流、出行等领域提供云地图服务。大势智慧与华为云KooMap合作,在中东地区利用城市三维建模API打造智慧城市数字孪生底座,相比传统线下建模的效率提升了3倍,让城市管理者能准确掌握每一寸土地的利用状态。华为云云商店KooGallery:从“丰富、品质、创新、共赢”四个维度全面提升,成为用户首选的企业应用平台。目前华为云云商店已经覆盖10多个行业、9大品类的7400多个商品,帮助伙伴商品快速变现。技术即服务,让创新触手可及去年,华为云发布了数字内容生产线MetaStudio、AI开发生产线ModelArts和软件开发生产线DevCloud,在本届大会上,华为云对这三大开发生产线进行服务升级,并发布全新的数据治理生产线DataArts。数据治理生产线DataArts:一站式实现从数据入湖、数据准备、数据质量、到数据应用等全流程的数据治理,同时融合智能化治理能力,帮助数据开发者大幅提升效率。帆软通过DataArts,将客户的经营报表生成时间从1周缩减到1小时;同时实现能耗数据可视化,使产线能耗大幅改善,每年可节省数千万人民币。AI开发生产线ModelArts:发布AI应用开发框架ModelBox,屏蔽掉底层软硬件的差异,实现了AI应用一次开发、全场景部署,将跨平台开发适配周期缩短80%,将推理性能提升2~10倍。在油气田巡检项目中,亮亮视野通过Modelbox将AI应用一键部署到AR眼镜、手机和机房服务器等多种设备上,帮助油气田快速实现对管线巡检的路线指引、设备故障识别等工作。数字内容生产线MetaStudio:发布数字人生成服务,仅需5秒钟就可根据用户上传的照片,生成自己专属的3D数字人;发布数字人直播服务,让用户无需专业的动作和面部捕捉设备,只需单摄像头就可实时驱动3D数字人,时延低于100ms;发布数字人视频制作服务,只需要输入文字,即可通过AI驱动制作出数字人讲解视频,使能数字人客服、课程讲解、新闻主持等场景的内容生产。软件开发生产线DevCloud:发布桌面IDE CodeArts,可以快速连接220多个华为云服务和4500多个华为云API,让开发更便捷;同时CodeArts提供了智能代码搜索和全量代码补全功能,让开发更高效;CodeArts还提供了开放的插件标准和插件市场,让生态更开放。基础设施即服务,让业务全球可达在基础设施即服务方面,华为云发布全球一张网KooVerse,给用户提供全球一致的业务体验。另外,基于KooVerse以及华为超过20年的海外本土运营经验,华为云为企业提供全球业务Boosting解决方案,助力企业全面开拓全球市场。同时,华为云通过智能边缘小站IES,让SaaS应用本地化部署,让伙伴既能享受公有云免运维的能力,又能够满足低时延、本地合规的诉求。用友基于华为云IES,实现了ERP SaaS的本地化部署,将部署实施周期由2~3个月缩短到2~3周,运维响应时间从天级缩短到分钟级。共创、共享、共赢云生态华为云一直秉承共创、共享、共赢的生态理念,聚合全球开发者,使能合作伙伴,协力解决客户数字化转型的痛点。目前华为云伙伴数量已超过38000家,开发者数量超过302万,伙伴在华为云云商店上架的应用数量已达7400多个。2022年,华为云将会以构建伙伴能力为核心,进行全面的伙伴体系变革。新的伙伴体系包括GoCloud和GrowCloud 2个合作框架。GoCloud目标是培育与发展伙伴能力,帮助伙伴在华为云构建丰富的解决方案与服务,为客户创造更多价值。GrowCloud的目标是帮助合作伙伴扩大客户覆盖,加速销售增长,实现商业共赢。华为云生态建设离不开广大开发者的参与。华为云作为智能世界的云底座,协同支撑鲲鹏、昇腾、鸿蒙、HMS等在内的开发者生态,今年计划在华为云上新增140多万各类开发者,赋能开发者500万人次。在本届大会上,主题为“创想无限”的2022华为开发者大赛正式启动。作为华为ICT领域的顶级赛事,华为开发者大赛开设云底座和产业两大赛道、覆盖全球6大赛区,总奖金额将高达500万人民币。大赛希望汇聚广大技术爱好者、企业伙伴和学生朋友,共创新价值。