华为云用户手册

  • 商品搜索 功能介绍 通用商品图像搜索 针对入库的图像数据提供商品类目的目标搜索能力,目前支持12类的全品类商品搜索。 服装商品图像搜索 针对入库的图像数据提供服装垂域的目标搜索能力,目前支持上装/裤装/裙装/内衣的全品类服装商品搜索。 应用场景 商品图像搜索 基于用户提供的图像在商品库中进行搜索,找到同款或相似的商品,可以应用于商品搜索、推荐等业务中。 图1 商品图像搜索示例图 服装版型搜索 根据参考的服装图像搜索设计版型相似的服装,可以应用于服装设计、服装库管理等业务中。 父主题: 功能介绍
  • 公共配置 用户创建服务实例时,需要填写公共配置信息。公共配置主要包含如下内容: 实例描述(desc): 服务实例描述信息,用于对服务实例进行文字说明或备注。 字符标签(custom_tags): 自定义字符标签列表,用于添加数据时设置标签值,并在搜索时进行枚举过滤。 数值标签(custom_num_tags): 自定义数值标签列表,用于添加数据时设置标签值,并在搜索时进行范围过滤。 "desc": "通用商品搜索实例", "custom_tags": ["spu_id", "brand", "style"], "custom_num_tags": ["price", "year", "status"]
  • 步骤四:在APM上管理应用 应用启动后,等待3分钟应用数据就会呈现在APM界面中,此时登录APM,您可以在APM上通过拓扑、调用链等进行应用性能优化,详细操作请参考用户指南。 (可选)如果您想访问示例应用,可以进行如下操作: 修改ECS安全组规则,配置安全组入方向80端口访问许可,以确保可以通过浏览器访问示例应用。 在浏览器中打开“http://ECS的弹性IP”,访问示例应用并进行查询商品、查看购物车等操作。
  • 步骤三:开启应用监控 ICAgent安装完成后,需通过修改应用启动参数开启应用性能监控功能来加载ICAgent,否则无法正常使用APM对应用进行监控。针对示例应用,APM已经提供了修改后的脚本,所以您无需再进行修改,只需要在应用所在的ECS上执行如下命令启动修改后的脚本即可。 cd /root/testdemo chmod +x start_apminside.sh bash start_apminside.sh
  • 超图尝试数字孪生平台应用流程 图1 流程图 本方案采用云环境服务架构思想,以华为云为基础,基于华为云KooMap云地图服务、云数据库服务等,结合超图时空数据融合服务,使用超图二三维一体化桌面GIS软件iDesktop进行处理、整理、建库、地图制图,使用云GIS应用服务平台iServer进行发布服务,将发布的服务使用云GIS门户服务器平台iProtal面向应用层进行SDK、REST赋能,同时云GIS管理服务器平台iManager进行服务管理和指标监控,将最后成果服务应用服务于政府部门、企事业单位、社会公众等机构与群体。
  • GIS环境监控 浏览器访问GIS门户服务器地址,并登录iManager,访问正常 图1 GIS环境监控1 在GIS服务器的列表页面,单击“添加GIS服务器”按钮,在“添加GIS服务器”页面,输入GIS服务器名称、URL以及选择操作系统类型 图2 GIS环境监控2 然后单击“下一步”按钮,进入安装守护进程页面,根据页面中的提示,完成相应操作,然后单击“完成”按钮 图3 GIS环境监控3 查看GIS服务器监控状态 图4 GIS环境监控4 父主题: 云GIS管理服务器平台
  • 使用Bound ServiceAccount Token访问集群 基于Secret的ServiceAccount Token由于token不支持设置过期时间、不支持自动刷新,并且由于存放在secret中,pod被删除后token仍然存在secret中,一旦泄露可能导致安全风险。1.23版本以及以上版本CCE集群推荐使用Bound Servcie Account Token,该方式支持设置过期时间,并且和pod生命周期一致,可减少凭据泄露风险。例如: apiVersion: apps/v1 kind: Deployment metadata: name: security-token-example namespace: security-example spec: replicas: 1 selector: matchLabels: app: security-token-example label: security-token-example template: metadata: annotations: seccomp.security.alpha.kubernetes.io/pod: runtime/default labels: app: security-token-example label: security-token-example spec: serviceAccountName: test-sa containers: - image: ... imagePullPolicy: Always name: security-token-example volumes: - name: test-projected projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 1800 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace 具体可参考:https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/
  • 安装Kustomize Kustomize是一个开源工具,用于管理Kubernetes应用程序的配置。它允许您将应用程序的配置从应用程序本身中分离出来,并根据需要进行修改。从Kubeflow 1.3开始,所有组件都应仅使用Kustomize进行部署。 安装Kustomize。由于Kubeflow与Kustomize的早期版本不兼容,仅支持Kustomize 5及更高版本,本文中使用5.1.0版本。 curl -o install_kustomize.sh "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" sh install_kustomize.sh 5.1.0 . 安装过程可能需要等待3-5分钟,回显如下: v5.1.0 kustomize installed to /root/kubeflow/./kustomize 将kustomize移到/bin目录,以便在全局使用kustomize命令。 cp kustomize /bin/
  • Kubeflow的诞生背景 基于Kubernetes构建一个端到端的AI计算平台是非常复杂和繁琐的过程,它需要处理很多个环节。如图1所示,除了熟知的模型训练环节之外还包括数据收集、预处理、资源管理、特性提取、数据验证、模型的管理、模型发布、监控等环节。对于一个AI算法工程师来讲,如果要做模型训练,就不得不搭建一套AI计算平台,这个过程耗时费力,而且需要很多的知识积累。 图1 模型训练环节 Kubeflow诞生于2017年,Kubeflow项目是基于容器和Kubernetes构建,旨在为数据科学家、机器学习工程师、系统运维人员提供面向机器学习业务的敏捷部署、开发、训练、发布和管理平台。它利用了云原生技术的优势,让用户更快速、方便的部署、使用和管理当前最流行的机器学习软件。 目前Kubeflow 1.0版本已经发布,包含开发、构建、训练、部署四个环节,可全面支持企业用户的机器学习、深度学习完整使用过程。 如下图所示: 通过Kubeflow 1.0,用户可以使用Jupyter开发模型,然后使用fairing(SDK)等工具构建容器,并创建Kubernetes资源训练其模型。模型训练完成后,用户还可以使用KFServing创建和部署用于推理的服务器。再结合pipeline(流水线)功能可实现端到端机器学习系统的自动化敏捷构建,实现AI领域的DevOps。
  • 容器Core Dump持久化 core文件可以考虑使用HostPath或PVC存放在本机或云存储,如下为使用HostPath方式示例pod.yaml。 apiVersion: v1 kind: Pod metadata: name: coredump spec: volumes: - name: coredump-path hostPath: path: /home/coredump containers: - name: ubuntu image: ubuntu:12.04 command: ["/bin/sleep","3600"] volumeMounts: - mountPath: /tmp/cores name: coredump-path 使用kubectl创建Pod。 kubectl create -f pod.yaml
  • 配置验证 Pod创建后,进入到容器内,触发当前shell终端的段错误。 $ kubectl get pod NAME READY STATUS RESTARTS AGE coredump 1/1 Running 0 56s $ kubectl exec -it coredump -- /bin/bash root@coredump:/# kill -s SIGSEGV $$ command terminated with exit code 139 登录节点,在/home/coredump路径下查看core文件是否生成,如下示例表示已经生成了core文件。 # ls /home/coredump core.coredump.bash.18.1650438992
  • 获取CCE集群的jwks 使用kubectl连接集群。 执行如下命令获取公钥。 kubectl get --raw /openid/v1/jwks # kubectl get --raw /openid/v1/jwks {"keys":[{"use":"sig","kty":"RSA","kid":"*****","alg":"RS256","n":"*****","e":"AQAB"}]} 返回的字段即集群的公钥。
  • 配置身份提供商 登录IAM控制台,创建身份提供商,协议选择OpenID Connect。 单击“确定”,然后修改身份提供商信息。 访问方式:选择编程访问。 配置信息 身份提供商URL:填写为 https://kubernetes.default.svc.cluster.local 客户端ID:填写一个ID,后续创建容器时使用。 签名公钥:CCE集群的jwks,获取方法请参见获取CCE集群的jwks。 身份转换规则 身份映射规则是将工作负载的ServiceAccount和IAM用户组做映射。 例如在集群default命名空间下创建一个名为oidc-token的ServiceAccount,映射到demo用户组(后续使用身份提供商ID访问云服务就具有demo用户组的权限)。此处属性必须是sub,值的格式为:system:serviceaccount:Namespace:ServiceAccountName 规则的json格式如下。 [ { "local": [ { "user": { "name": "test" } }, { "group": { "name": "demo" } } ], "remote": [ { "type": "sub", "any_one_of": [ "system:serviceaccount:default:oidc-token" ] } ] } ] 单击“确定”。
  • 使用工作负载Identity 创建ServiceAccount,此处ServiceAccount的名称需要与配置身份提供商时填写的ServiceAccountName保持一致。 apiVersion: v1 kind: ServiceAccount metadata: name: oidc-token 在工作负载中使用示例如下。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 1 selector: matchLabels: app: nginx version: v1 template: metadata: labels: app: nginx version: v1 spec: containers: - name: container-1 image: nginx:latest volumeMounts: - mountPath: "/var/run/secrets/tokens" # 将Kubernetes生成的serviceAccountToken挂载到/var/run/secrets/tokens/oidc-token文件内 name: oidc-token imagePullSecrets: - name: default-secret serviceAccountName: oidc-token # 前面创建的ServiceAccount的名称 volumes: - name: oidc-token projected: defaultMode: 420 sources: - serviceAccountToken: audience: client_id # 此处取值必须为身份提供商的客户端ID expirationSeconds: 7200 # 过期时间 path: oidc-token # 路径名称,可自定义 创建完成后登录到容器中,/var/run/secrets/tokens/oidc-token文件内容就是Kubernetes生成的serviceAccountToken,调用获取联邦认证token(OpenID Connect ID token方式)接口即可获取IAM Token,响应消息头中X-Subject-Token字段即为IAM Token,从而使用IAM Token访问云服务。 当serviceAccountToken超过24小时或超过80%的过期时间时,kubelet会主动轮转serviceAccountToken。 访问示例如下: curl -i --location --request POST 'https://{{iam endpoint}}/v3.0/OS-AUTH/id-token/tokens' \ --header 'X-Idp-Id: workload_identity' \ --header 'Content-Type: application/json' \ --data @token_body.json 其中: {{iam endpoint}}为IAM服务的Endpoint,具体请参见地区和终端节点。 workload_identity即为身份提供商名称,与配置身份提供商中配置的名称相同。 token_body.json为本地文件,内容如下所示: { "auth" : { "id_token" : { "id" : "eyJhbGciOiJSU..." }, "scope": { "project" : { "id" : "46419baef4324...", "name" : "cn-north-4" } } } } $.auth.id_token.id:此处取值为容器中/var/run/secrets/tokens/oidc-token文件的内容。 $.auth.scope.project.id:项目ID。获取方式请参见获取项目ID。 $.auth.scope.project.name:项目名称,例如cn-north-4。
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 users Array of objects 数据库账号信息列表。 详情请参见表3。 total_count Integer 数据库账号个数。 表3 users元素结构说明 名称 参数类型 说明 name String 账号名。 comment String 账号备注。目前仅支持MySQL 8.0.25及以上版本。 databases Array of objects 账号已授权的数据库。 详情请参见表4。 hosts Array of strings 账号配置的host信息。 表4 databases元素结构说明 参数 参数类型 描述 name String 数据库名称。 readonly Boolean 授权模式,是否只读。 正常响应样例 { "users": [ { "name": "aaa", "comment": "user comment", "databases": [ { "name": "db1", "readonly": false } ], "hosts": [ "10.%" ] } ], "total_count": 1 }
  • URI URI格式 GET /v3/{project_id}/instances/{instance_id}/db_user/detail?page={page}&limit={limit} 参数说明 表1 参数说明 名称 是否必选 说明 project_id 是 租户在某一region下的project ID。 获取方法请参见获取项目ID。 instance_id 是 实例ID。 page 是 分页页码,从1开始。 limit 是 每页数据条数。取值范围[1, 100]。
  • 原因分析 排查步骤: 查看RDS MySQL的错误日志,观察到如下报错: 2021-07-09T10:30:58.476586+08:00 212539 [Warning] SSL errno: 337678594, SSL errmsg: error:14209102:SSL routines:tls_early_post_process_client_hello:unsupported protocol2021-07-09T10:30:58.476647+08:00 212539 [Note] Bad handshake2021-07-09T10:32:43.535738+08:00 212631 [Warning] SSL errno: 337678594, SSL errmsg: error:14209102:SSL routines:tls_early_post_process_client_hello:unsupported protocol2021-07-09T10:32:43.535787+08:00 212631 [Note] Bad handshake2021-07-09T10:50:03.401100+08:00 213499 [Warning] SSL errno: 337678594, SSL errmsg: error:14209102:SSL routines:tls_early_post_process_client_hello:unsupported protocol2021-07-09T10:50:03.401161+08:00 213499 [Note] Bad handshake2021-07-09T10:53:44.458404+08:00 213688 [Warning] SSL errno: 337678594, SSL errmsg: error:14209102:SSL routines:tls_early_post_process_client_hello:unsupported protocol2021-07-09T10:53:44.458475+08:00 213688 [Note] Bad handshake 从报错信息unsupported protocol可以看出,很可能和TLS版本相关,使用如下命令,分别查看RDS for MySQL和自建MySQL的TLS版本。 show variables like '%tls_version%'; 发现RDS for MySQL为TLS v1.2版本,自建MySQL为TLS v1.1版本,存在差异。进一步确认客户端TLS版本,与自建MySQL一致,因此出现连接自建MySQL成功,连接云上RDS for MySQL失败。
  • 场景描述 用户将RDS for MySQL的“lower_case_table_names”设置成“大小写敏感”的状态时,创建了带有大写字母的表,如“tbl_newsTalking”,但后期改变了大小写敏感的设置状态后,无法找到该表。 案例:在执行备份恢复到新实例的时候,如果新实例的“大小写敏感”参数值与备份时原实例的参数值不一致,会导致恢复失败。 更多敏感参数,请参见《云数据库RDS用户指南》中“RDS for MySQL参数调优建议”的内容。 对于MySQL 5.6、5.7版本,支持在管理控制台或API创建数据库实例时指定表名大小写敏感,以及实例创建完成后设置表名大小写敏感(lower_case_table_names)。 对于MySQL 8.0版本,仅支持在管理控制台或API创建数据库实例时指定表名大小写敏感,创建完成的MySQL 8.0实例不支持设置表名大小写敏感(lower_case_table_names)。
  • 怎么解决查询运行缓慢的问题 通过查看慢SQL日志来确定是否存在运行缓慢的SQL查询以及各个查询的性能特征(如果有),从而定位查询运行缓慢的原因。 查询RDS for MySQL日志,请参见查询慢日志。 查询RDS for PostgreSQL日志,请参见查看错误日志。 云数据库 RDS for SQL Server可以通过查询DMV视图,从而定位查询运行缓慢的原因,有关使用DMV的信息,请参见官网信息。 查看实例的CPU使用率指标,协助定位问题。 请参见查看性能指标。 创建只读实例专门负责查询。减轻主实例负载,分担数据库压力。 多表关联查询时,关联字段要加上索引。 尽量避免用select*语句进行全表扫描,可以指定字段或者添加where条件。 父主题: 性能资源类
  • 是否支持跨云迁移到云耀云服务器L实例? 支持。您可以使用主机迁移服务(SMS)将其他云服务器迁移至同地区或跨地区的华为云耀云服务器L实例。 仅支持将X86架构服务器迁移至云耀云服务器L实例。 SMS服务仅支持迁移服务器整机数据,不支持单独迁移云服务器的系统盘或者数据盘。 仅支持迁移最多一个数据盘的云服务器,不支持迁移多个数据盘的云服务器。并确保目的端云耀云服务器L实例系统盘或数据盘容量不小于源端。 具体操作详见使用主机迁移服务(SMS)迁移服务器。 父主题: 产品咨询
  • 解决方法 将IAM用户加入用户组,为用户组授予“CORS FullAccess”权限,IAM用户即可继承此权限。本例以您名为“IAM AccountA”的IAM用户为例,介绍如何为您的“IAM AccountA”用户增加权限。 使用IAM用户对应的华为帐号登录IAM控制台。 在“用户组”菜单中,在已有用户组(例如HECS L),单击“授权”。 如果您还没有创建用户组,请单击“创建用户组”,创建用户组HECS L后,再单击“授权”。 设置用户组授权配置。 选择授权模型。 保持默认配置“角色授权”,单击“下一步”。 选择策略,单击“下一步”。 搜索“CORS”,选中“CORS FullAccess”,表示为您IAM用户授予云耀云服务器L实例相关云服务资源的全部权限,但是不能使用除此之外的其他云服务。 您也可以搜索并选中Tenant Administrator,表示为您IAM用户授予全部云服务管理员(除IAM管理权限)权限,更方便灵活使用云服务。 设置最小授权范围,单击“确定”。 保持默认配置“所有资源”,您也可以根据需要选择其他选项。 单击用户组HECS L右侧“用户组管理”。 搜索并选中您的IAM用户名“IAM AccountA”,单击“确定”。 此时您的IAM用户“IAM AccountA”已经加入用户组HECS L,并继承用户组的权限。 退出管理员帐号,使用“IAM AccountA”IAM帐号再次登录,即可正常购买云耀云服务器L实例。
  • 资源和成本规划 该解决方案主要部署如下资源,不同产品的花费仅供参考,实际以收费账单为准,具体请参考华为云官网价格: 表1 资源和成本规格 华为云服务 配置示例 每月预估花费 数据湖探索 DLI 区域:华北-北京四 按需计费:5.60元/小时 类型:通用队列(专属资源模式) CPU 架构:x86 AZ策略:单AZ 规格:16 CUs 购买时长:720小时 购买数量:1 4032.00 元 云数据库 RDS for MySQL 区域:华北-北京四 按需计费:0.52元/小时 数据库引擎:MySQL 5.7 实例类型:单机 性能规格:通用型 | 2 vCPUs | 4 GB 存储空间:SSD云盘 | 100GB 购买时长:720小时 购买量:1 374.40 元 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.01元/万次 存储空间:0.10元/GB/月 流量费用: 公网流出流量 / 00:00-08:00(闲时)0.25元/GB 公网流出流量 / 08:00-24:00(忙时)0.50元/GB 费用包括存储空间、请求费用、流量费用两部分,具体请参考OBS计费详情。 费用包括存储空间、请求费用、流量费用三部分,详细请参考每月账单。 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 费用包括请求次数、计量时间两部分,详细请参考每月账单。 合计 4406.40 元 + OBS费用+函数工作流费用
  • 名词解释 基本概念、云服务简介、专有名词解释 对象存储服务 OBS:对象存储服务(Object Storage Service,OBS)是一个基于对象的存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,使用时无需考虑容量限制,并且提供多种存储类型供选择,满足客户各类业务场景诉求。 数据湖探索 DLI:数据湖探索(Data Lake Insight,简称DLI)是完全兼容Apache Spark、Apache Flink、openLooKeng(基于Presto)生态,提供一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务,支持数据入湖、数据仓库、BI、AI融合等能力。 云数据库 RDS for MySQL:云数据库 RDS for MySQL拥有即开即用、稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点,让您更加专注业务发展。 函数工作流 FunctionGraph:函数工作流(FunctionGraph)是一项基于事件驱动的函数托管计算服务。通过函数工作流,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。
  • 快速卸载 卸载解决方案前,请先确保OBS桶中无数据,否则解决方案将卸载失败。 删除DLI数据库。登录数据湖探索 DLI 库表管理控制台,依次单击“更多”“删除数据库”在弹出的确认窗口中,单击“是”。 图1 删除DLI数据库 图2 确认删除 解决方案部署成功后,登录资源编排服务 RFS,进入“资源栈”,选择创建的资源栈名称,单击该方案堆栈后的“删除”。 图3 一键卸载 在弹出的删除堆栈确认框中,输入Delete,单击“确定”,即可卸载解决方案。 图4 删除堆栈确认 父主题: 实施步骤
  • 仓库内操作、浏览的权限 类型 操作 创建者 管理员 Committer 开发者 浏览者(仓库成员) 备注 代码 在线访问代码 √ √ √ √ √ - 在线编辑代码 √ √ √ √ × √的角色权限是在未设置保护分支时的权限,如分支有设置保护分支,以保护分支配置为准。 在线下载 √ √ √ √ √ - 本地clone代码 √ √ √ √ √ - 本地push代码 √ √ √ √ × √角色权限是在未设置保护分支时的权限,如分支有设置保护分支,以保护分支配置为准。 Fork Fork项目 √ √ √ √ √ 在为Fork仓库选择项目时,只有您具备项目级开发人员及以上权限的项目才可显示在项目列表中。 成员 添加成员 √ √ × × × - 编辑成员 √ √ × × × - 移除成员 √ √ × × × - 审核成员 √ √ × × × - 查看成员 √ √ √ √ √ - MR 创建MR √ √ √ √ × - 查看MR √ √ √ √ √ - 合并MR √ √ √ × × 开发者及以上角色权限是在未设置保护分支时的权限,如分支有设置保护分支,以保护分支配置为准。 编辑MR(开启中) √ √ √ × × MR作者可操作,但MR作者必须为开发者及以上权限。 √角色可以对所有MR进行操作。包括别人创建和自己创建的MR。 关闭MR √ √ √ × × 重开MR √ √ √ × × 编辑MR(已合并) × × × × × - Cherry-pick MR(生成新MR) √ √ √ √ × 因会自动生成一个带有cherry-pick字样的临时分支,以下两种场景会cherry pick失败。 若所有分支均为保护分支,且操作者无创建分支(能推送)权限,则失败。 若配置了分支策略,但临时分支不满足此策略,则失败。 Revert MR(生成新MR) √ √ √ √ × 因会自动生成一个带有revert字样的临时分支,以下两种场景会revert失败。 若所有分支均为保护分支,且操作者无创建分支(能推送)权限,则失败。 若配置了分支策略,但临时分支不满足此策略,则失败。 Cherry-pick MR (不生成新MR,直接合入分支) √ √ √ √ × √角色权限是在未设置保护分支时的权限,如分支有设置保护分支,以保护分支配置的能推送权限为准。 Revert MR (不生成新MR,直接合入分支) √ √ √ √ × 是否删除源分支 √ √ √ √ × 仅限仓库分支间MR且源分支为非保护分支,可删除源分支。 当Fork仓已提交关于源仓库的MR时,源仓库的源分支不可删除。 源分支为保护分支,不可删除源分支。 打分机制的Vote评分 √ √ √ √ √ 只要是仓库成员均可评分,即使未配置在MR的评审人中。 默认开发者及以下权限可评1~-1分,Committer及以上权限可评2~-2分。 审核机制的检视 √ √ √ √ √ 只有配置在MR的检视人才可检视。 审核机制的审核 √ √ √ × × 只有配置在MR的审核人中的以上权限的人员才可审核。 删除MR × × × × × 任何人不可删除MR。 星级评价 星级评价 √ √ √ √ × 以仓库配置为准: 配置的“支持开发者及以上权限进行星级评价”,则开发者及以上权限可评价。 配置的“支持committer及以上权限进行星级评价”,则committer及以上权限可评价。 评审记录 添加评审意见 √ √ √ √ √ 能查看MR就可以添加评审意见。 编辑评审意见 × × × × × 仅评论作者可编辑,其他任何人均不可。 删除评审意见 × × × × × 回复评审意见 √ √ √ √ √ 能查看评审意见就可以回复。 查看评审意见 √ √ √ √ √ 能查看MR就可以查看所有评审意见。 解决评审意见 √ √ √ × × 评审意见的严重程度为建议级别:MR作者、评论者、Committer及以上权限可操作。 评审意见的严重程度为一般及以上级别:评论者、Committer及以上权限可操作,MR作者不可操作,即使有以上权限也不被允许。 流水线 MR流水线触发 √ √ √ √ × 流水线执行计划开启。 分支 新建分支 √ √ √ √ × 勾选了“禁止开发者角色创建分支”,则开发者不可创建。 勾选了“禁止Committer角色创建分支”,则Committer不可创建。 编辑分支 √ √ √ √ × 删除分支 √ √ √ √ × 保护分支任何人均不可删除。 查看分支 √ √ √ √ √ - Tag 新建Tag √ √ √ √ × 勾选“禁止开发人员创建Tag”,则开发人员不可创建。 删除Tag √ √ × × × 保护标签任何人均不可删除。 查看Tag √ √ √ √ √ - 设置 查看设置 √ √ × × × - 修改设置 √ √ × × × - 重命名仓 √ × × × × - 移交仓库 √ × × × × - 仓库 创建仓库 √ √ √ √ × - 删除仓库 √ √ × × × - 显示仓库 √ √ √ √ √ 只要是仓库成员就可在仓库列表里面显示。 动态 查看动态 √ √ √ √ √ - 关联工作项 查看关联工作项 √ √ √ √ √ - 仓库首页 查看仓库首页 √ √ √ √ √ - 仓库统计 查看统计数据 √ √ √ √ √ - 更新统计数据 √ √ √ √ × - SSH设置&HTTP设置 查看编辑 √ √ √ √ √ - 租户IP白名单 查看编辑 × × × × × 租户管理员可查看编辑。 如何设置分支保护策略?
  • 添加VPC访问CAE环境配置 如果要使用此功能,您需要在使用具备“安全管理员 Security Administrator 权限”的华为云账号、访问CAE页面单击“授权”,才能使用此功能,未授权不影响已有功能。 登录CAE控制台。 在左侧导航栏中选择“系统设置”。 单击“系统网络配置”模块中的“编辑”,进入“系统网络配置”页面。 在“CAE与VPC网络连通性配置”模块中,单击“添加配置”。 在下拉框中选择子网,单击“确定”。 VPC固定为创建环境时关联的VPC,子网选择环境所属子网。 目前只支持添加一条配置。 图1 配置VPC访问CAE环境
  • 指定每次查询获取的行数 在创建集群连接时,可以指定每次查询获取的行数,具体为下列setFetchSize内参数。 Cluster cluster = Cluster.builder() .addContactPoint(contactPoint) .withPort(8636) .withQueryOptions(new QueryOptions().setFetchSize(20)) .build(); 设置成功后,在该配置下产生的会话,都会一次只获取设置的行数,在缓存(20行)耗尽会触发向服务端拉取数据的请求,并且等待返回,会有相应的等待时间延迟。
  • 保存当前分页状态并复用 保存当前分页状态。 PagingState pagingState = resultSet.getExecutionInfo().getPagingState(); String string = pagingState.toString(); byte[] bytes = pagingState.toBytes(); 加载当前分页状态并进行复用。 PagingState pagingState = PagingState.fromString(string); Statement st = new SimpleStatement("your query"); st.setPagingState(pagingState); ResultSet rs = session.execute(st); 注:分页情况只可以获取、储存和复用,不支持修改并应用在新的其他查询语句上。 Cassandra并不支持offset查询,即无法跳过结果集的一部分,直接获取指定index范围的结果。如果需要对应功能,需要在业务中进行封装模拟,但该查询仍然是顺序查询,客户可以丢弃无效结果。更多高级用法与介绍可以参考DataSax Java驱动程序3.11。
  • 提前获取下一页 如果需要手动提前获取更多行存入当前结果集避免等待,可以参考以下代码,在结果集剩余10行时,先提交并行从服务器拉取更多行的请求。 ResultSet rs = session.execute("select * from space3.table3;"); for (Row row : rs) { if (rs.getAvailableWithoutFetching() == 10 && !rs.isFullyFetched()){ System.out.println("pre-fetch more rows. "); rs.fetchMoreResults(); } System.out.println(row); }
  • GAUSS-00241 -- GAUSS-00250 GAUSS-00241: "aggregates not allowed in JOIN conditions" SQLSTATE: 42803 错误原因:JOIN condition中使用聚集函数。 解决办法:JOIN condition中不允许使用聚集函数。 GAUSS-00242: "aggregates not allowed in GROUP BY clause" SQLSTATE: 42803 错误原因:聚集函数出现在group by子句中。 解决办法:聚集函数不允许出现在group by子句中。 GAUSS-00243: "aggregate functions not allowed in a recursive query's recursive term" SQLSTATE: 42P19 错误原因:递归查询中使用聚集函数。 解决办法:递归查询中不允许使用递归查询。 GAUSS-00244: "window functions not allowed in WHERE clause" SQLSTATE: 42P20 错误原因:WHERE clause中出现窗口函数。 解决办法:WHERE clause中不允许出现窗口函数。 GAUSS-00245: "window functions not allowed in JOIN conditions" SQLSTATE: 42P20 错误原因:JOIN condition中使用窗口函数。 解决办法:JOIN condition中不允许使用窗口函数。 GAUSS-00246: "window functions not allowed in HAVING clause" SQLSTATE: 42P20 错误原因:不支持的语法。 解决办法:修改SQL Statement。 GAUSS-00247: "window functions not allowed in GROUP BY clause" SQLSTATE: 42P20 错误原因:group by子句中使用窗口函数。 解决办法:group by子句中不允许使用窗口函数。 GAUSS-00248: "window functions not allowed in window definition" SQLSTATE: 42P20 错误原因:窗口函数出现在partition clause里或者order by clause里。 解决办法:窗口函数不允许出现在partition clause里或者order by clause里。 GAUSS-00249: "column '%s.%s' must appear in the GROUP BY clause or be used in an aggregate function" SQLSTATE: 42803 错误原因:使用group by时,targetlist里边的变量没有变量出现在group by的变量里,或者使用聚集函数。 解决办法:使用group by时,targetlist里边的变量必须出现在group by的变量里,或者使用聚集函数。 GAUSS-00250: "subquery uses ungrouped column '%s.%s' from outer query" SQLSTATE: 42803 错误原因:子查询中使用了外层未分组的列。 解决办法:请检查确保子查询中使用的是外层分组的列。 父主题: GAUSS-00201 -- GAUSS-00300
共100000条