华为云用户手册

  • ftp-connector或sftp-connector 表3 ftp-connector或sftp-connector目的连接属性 参数 说明 写入目录 最终数据在文件服务器保存时的具体目录。必须指定一个目录。 文件格式 Loader支持文件服务器中存储数据的文件格式,默认支持以下两种: CS V_FILE:表示文本格式文件。目的连接为数据库型连接时,只支持文本格式。 BINARY_FILE:表示文本格式以外的二进制文件。 换行符 最终数据的每行结束标识字符。 说明: ftp或sftp作为目的连接时,当“文件格式”配置为BINARY_FILE时,高级属性中的“换行符”配置无效。 字段分割符 最终数据的每个字段分割标识字符。 说明: ftp或sftp作为目的连接时,当“文件格式”配置为BINARY_FILE时,高级属性中的“字段分割符”配置无效 编码类型 最终数据的文本编码类型。只对文本类型文件有效。
  • hdfs-connector 表5 hdfs-connector目的连接属性 参数 说明 写入目录 最终数据在HDFS保存时的具体目录。必须指定一个目录。 文件格式 Loader支持HDFS中存储数据的文件格式,默认支持以下两种: CSV_FILE:表示文本格式文件。目的连接为数据库型连接时,只支持文本格式。 BINARY_FILE:表示文本格式以外的二进制文件。 压缩格式 文件在HDFS保存时的压缩行为。支持NONE、DEFLATE、GZIP、BZIP2、LZ4和SNAPPY。 是否覆盖 文件在导入HDFS时对写入目录中原有文件的处理行为,支持以下两种: True:默认清空目录中的文件并导入新文件。 False:不清空文件。如果写入目录中有文件,则作业运行失败。 换行符 最终数据的每行结束标识字符。 说明: hdfs作为目的连接时,当“文件格式”配置为BINARY_FILE时,高级属性中的“换行符”配置无效。 字段分割符 最终数据的每个字段分割标识字符。 说明: hdfs作为目的连接时,当“文件格式”配置为BINARY_FILE时,高级属性中的“字段分割符”配置无效。
  • obs-connector 表1 obs-connector目的连接属性 参数 说明 桶名 保存最终数据的OBS文件系统。 写入目录 最终数据在文件系统保存时的具体目录。必须指定一个目录。 文件格式 Loader支持OBS中存储数据的文件格式,默认支持以下两种: CSV_FILE:表示文本格式文件。目的连接为数据库型连接时,只支持文本格式。 BINARY_FILE:表示文本格式以外的二进制文件。 换行符 最终数据的每行结束标识字符。 字段分割符 最终数据的每个字段分割标识字符。 编码类型 最终数据的文本编码类型。只对文本类型文件有效。
  • 回答 通常,HDFS执行Balance操作结束后,会自动释放“/system/balancer.id”文件,可再次正常执行Balance。 但在上述场景中,由于第一次的Balance操作是被异常停止的,所以第二次进行Balance操作时,“/system/balancer.id”文件仍然存在,则会触发append /system/balancer.id操作,进而导致Balance操作失败。 如果“/system/balancer.id”文件的释放时间超过了软租期60s,则第二次执行Balance操作的客户端的append操作会抢占租约,此时最后一个block处于under construction或者under recovery状态,会触发block的恢复操作,那么“/system/balancer.id”文件必须等待block恢复完成才能关闭,所以此次append操作失败。 append /system/balancer.id操作失败后,客户端发生RecoveryInProgressException异常: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.protocol.RecoveryInProgressException): Failed to APPEND_FILE /system/balancer.id for DFSClient because lease recovery is in progress. Try again later. 如果该文件的释放时间没有超过默认设置60s,原有客户端会继续持有该租约,则会发生AlreadyBeingCreatedException异常,实际上向客户端返回的是null,导致客户端出现如下异常: java.io.IOException: Cannot create any NameNode Connectors.. Exiting... 可通过以下方法避免上述问题: 方案1:等待硬租期超过1小时后,原有客户端释放租约,再执行第二次Balance操作。 方案2:执行第二次Balance操作之前删除“/system/balancer.id”文件。
  • obs-connector 表1 obs-connector数据源连接属性 参数 说明 桶名 保存源数据的OBS文件系统。 源目录或文件 源数据实际存储的形态,可能是文件系统包含一个目录中的全部数据文件,或者是文件系统包含的单个数据文件。 文件格式 Loader支持OBS中存储数据的文件格式,默认支持以下两种: CSV_FILE:表示文本格式文件。目的连接为数据库型连接时,只支持文本格式。 BINARY_FILE:表示文本格式以外的二进制文件。 换行符 源数据的每行结束标识字符。 字段分割符 源数据的每个字段分割标识字符。 编码类型 源数据的文本编码类型。只对文本类型文件有效。 文件分割方式 支持以下两种: File:按总文件个数分配map任务处理的文件数量,计算规则为“文件总个数/抽取并发数”。 Size:按文件总大小分配map任务处理的文件大小,计算规则为“文件总大小/抽取并发数”。
  • ftp-connector或sftp-connector 表3 ftp-connector或sftp-connector数据源连接属性 参数 说明 源目录或文件 源数据实际存储的形态,可能是文件服务器包含一个目录中的全部数据文件,或者是单个数据文件。 文件格式 Loader支持文件服务器中存储数据的文件格式,默认支持以下两种: CSV_FILE:表示文本格式文件。目的连接为数据库型连接时,只支持文本格式。 BINARY_FILE:表示文本格式以外的二进制文件。 换行符 源数据的每行结束标识字符。 说明: ftp或sftp作为源连接时,当“文件格式”配置为BINARY_FILE时,高级属性中的“换行符”配置无效。 字段分割符 源数据的每个字段分割标识字符。 说明: ftp或sftp作为源连接时,当“文件格式”配置为BINARY_FILE时,高级属性中的“字段分割符”配置无效 编码类型 源数据的文本编码类型。只对文本类型文件有效。 文件分割方式 支持以下两种: File:按总文件个数分配map任务处理的文件数量,计算规则为“文件总个数/抽取并发数”。 Size:按文件总大小分配map任务处理的文件大小,计算规则为“文件总大小/抽取并发数”。
  • hdfs-connector 表5 hdfs-connector数据源连接属性 参数 说明 源目录或文件 源数据实际存储的形态,可能是HDFS包含一个目录中的全部数据文件,或者是单个数据文件。 文件格式 Loader支持HDFS中存储数据的文件格式,默认支持以下两种: CSV_FILE:表示文本格式文件。目的连接为数据库型连接时,只支持文本格式。 BINARY_FILE:表示文本格式以外的二进制文件。 换行符 源数据的每行结束标识字符。 说明: hdfs作为源连接时,当“文件格式”配置为BINARY_FILE时,高级属性中的“换行符”配置无效。 字段分割符 源数据的每个字段分割标识字符。 说明: hdfs作为源连接时,当“文件格式”配置为BINARY_FILE时,高级属性中的“字段分割符”配置无效。 文件分割方式 支持以下两种: File:按总文件个数分配map任务处理的文件数量,计算规则为“文件总个数/抽取并发数”。 Size:按文件总大小分配map任务处理的文件大小,计算规则为“文件总大小/抽取并发数”。
  • 对系统的影响 修改磁盘选择策略为“节点磁盘可用空间块放置策略(org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy)”,经过测试验证,在该测试结果中,修改前后,HDFS写文件性能影响范围在3%以内。 NameNode默认的副本存储策略为: 第一副本:存放到客户端所在节点。 第二副本:远端机架的数据节点。 第三副本:存放到客户端所在节点的相同机架的不同节点。 如还有更多副本,则随机选择其它DataNode。 “节点磁盘可用空间块放置策略”的副本选择机制为: 第一个副本:存放在客户端所在DataNode(和默认的存放策略一样)。 第二个副本: 选择存储节点的时候,先挑选2个满足要求的数据节点。 比较这2个节点磁盘空间使用比例,如果磁盘空间使用率的相差小于5%,随机存放到第一个节点。 如果磁盘空间使用率相差超过5%,即有60%(由dfs.namenode.available-space-block-placement-policy.balanced-space-preference-fraction指定,默认值0.6)的概率写到磁盘空间使用率低的节点。 第三副本等其他后续副本的存储情况,也参考第二个副本的选择方式。
  • 操作步骤 请参考修改集群服务配置参数,进入HDFS的“全部配置”页面。 调整HDFS写数据时的依据的磁盘选择策略参数。搜索“dfs.block.replicator.classname”参数,并将参数的值改为“org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy”。 表1 参数描述 参数 参数说明 dfs.block.replicator.classname 选择副本放置的DataNode的策略。 默认值为“org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy”。 保存修改的配置。保存完成后请重新启动配置过期的服务或实例以使配置生效。
  • 配置场景 在配置了HA的HDFS集群中,存在一个主NameNode和一个备NameNode。主NameNode处理所有的客户端请求,备NameNode保持最新的元数据信息和块位置信息。但是在这种架构存在一个缺点:主NameNode会成为客户端请求处理的瓶颈,在请求繁忙的集群中表现更为明显。 为了解决主NameNode的瓶颈问题,引入了一个新状态的NameNode:从NameNode。从NameNode类似于备NameNode,也保持着最新的元数据信息和块位置信息。除此之外,从NameNode也可以像主NameNode一样处理客户端的读请求。由于在典型的HDFS集群中,读请求占大多数,因此从NameNode支持读可以降低主NameNode的负载,提高集群处理能力。 本章节适用于 MRS 3.x及后续版本。
  • 创建作业 访问Loader页面,单击“新建作业”。 在“基本信息”填写参数。 在“名称”填写一个作业的名称。 在“源连接”和“目的连接”选择对应的连接。 选择某个类型的连接,表示从指定的源获取数据,并保存到目的位置。 如果没有需要的连接,可单击“添加新连接”。 在“自”填写源连接的作业配置。 具体请参见Loader作业源连接配置说明。 在“至”填写目的连接的作业配置。 具体请参见Loader作业目的连接配置说明。 在“目的连接”是否选择了数据库类型的连接。 数据库类型的连接包含以下几种: generic-jdbc-connector hbase-connector hive-connector “目的连接”选择数据库类型的连接时,还需要配置业务数据与数据库表字段的对应关系: 是,请执行6。 否,请执行7。 在“字段映射”填写字段对应关系。然后执行7。 “字段映射”的对应关系,表示用户数据中每一列与数据库的表字段的匹配关系。 表1 “字段映射”属性 参数 说明 列号 表示业务数据的字段顺序。 样本 表示业务数据的第一行值样例。 列族 “目的连接”为hbase-connector类型时,支持定义保存数据的具体列族。 目的字段 配置保存数据的具体字段。 类型 显示用户选择字段的类型。 行键 “目的连接”为hbase-connector类型时,需要勾选作为行键的“目的字段”。 如果From是sftp/ftp/obs/hdfs等文件类型连接器,Field Mapping 样值取自文件第一行数据,需要保证第一行数据是完整的,Loader作业不会抽取没有Mapping上的列。 在“任务配置”填写作业的运行参数。 表2 Loader作业运行属性 参数 说明 抽取并发数 设置map任务的个数。 加载(写入)并发数 设置reduce任务的个数。 该参数只有在目的字段为Hbase和Hive时才会显示。 单个分片的最大错误记录数 设置一个错误阈值,如果单个map任务的错误记录超过设置阈值则任务自动结束,已经获取的数据不回退。 说明: “generic-jdbc-connector”的“MYSQL”和“MPPDB”默认批量读写数据,每一批次数据最多只记录一次错误记录。 脏数据目录 设置一个脏数据目录,在出现脏数据的场景中在该目录保存脏数据。如果不设置则不保存。 单击“保存”。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。 在除中国大陆以外的亚太地区有业务的用户,可以选择“中国-香港”、“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“非洲-约翰内斯堡”区域。 在拉丁美洲地区有业务的用户,可以选择“拉美-圣地亚哥”区域。 “拉美-圣地亚哥”区域位于智利。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
  • 什么是区域、可用区? 区域和可用区用来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
  • 概述 本手册将介绍如何使用AK/SK签名认证方式调用通过API网关开放的云服务API,提供签名流程与实现逻辑,以及Java、Go、Python、C等多种不同语言的签名SDK和调用示例。 部分云服务开放的API,不通过API网关,签名认证流程请先参考云服务自身提供的API参考手册。 各云服务API参考手册中的“如何调用API”章节,介绍了认证方法。 SDK打包在示例中,可单独获取SDK,然后参考示例与各语言的API调用说明部分,将SDK集成到您的应用中。 如果本手册的多语言签名示例没有涵盖您使用的编程语言,请根据签名流程与算法,自主实现请求的签名。 API调用的另一种认证方式为Token认证,Token认证的说明与示例包含在各云服务的API参考手册中的“认证鉴权”章节。 AK/SK签名认证方式,仅支持Body体大小为12M以内,12M以上的请求,需使用Token认证。 云服务具体的API在各云服务的API参考手册中列明。 客户端须注意本地时间与时钟服务器的同步,避免请求消息头X-Sdk-Date的值出现较大误差。 API网关除了校验时间格式外,还会校验该时间值与网关收到请求的时间差,如果时间差超过15分钟,API网关将拒绝请求。
  • 获取SDK 请登录API网关控制台,参考《API网关用户指南》的“SDK”章节,进入SDK页面并下载SDK。 或直接下载SDK的最新版本,获取“ApiGateway-csharp-sdk.zip”压缩包,解压后目录结构如下: 名称 说明 apigateway-signature\Signer.cs SDK代码 apigateway-signature\HttpEncoder.cs sdk-request\Program.cs 签名请求示例代码 backend-signature\ 后端签名示例工程 csharp.sln 工程文件 licenses\license-referencesource 第三方库license文件
  • 调用API示例 在工程中引入sdk。 1 2 3 4 5 6 using System; using System.Net; using System.IO; using System.Net.Http; using System.Threading; using APIGATEWAY_SDK; 生成一个新的Signer, 填入AppKey和AppSecret。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。 打开终端,输入以下命令打开环境变量配置文件。 vi ~/.bashrc 设置环境变量,保存文件并退出编辑器。 export HUAWEICLOUD_SDK_AK="已获取AK值" export HUAWEICLOUD_SDK_SK="已获取SK值" 输入以下命令使配置文件生效。 source ~/.bashrc 生成一个新的Signer,填入已设置的环境变量。 1 2 3 4 5 Signer signer = new Signer(); // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. signer.Key = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_AK"); signer.Secret = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_SK"); 生成一个HttpRequest对象,指定域方法名、请求url和body。 1 2 3 HttpRequest r = new HttpRequest("POST", new Uri("https://c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com/app1?query=value")); r.body = "{\"a\":1}"; 给请求添加x-stage头,内容为环境名。如有需要,添加需要签名的其他头域。 1 r.headers.Add("x-stage", "RELEASE"); 进行签名,执行此函数会生成一个新的HttpWebRequest,并在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 1 HttpWebRequest req = signer.Sign(r); 访问API,查看访问结果。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 try { var writer = new StreamWriter(req.GetRequestStream()); writer.Write(r.body); writer.Flush(); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); var reader = new StreamReader(resp.GetResponseStream()); Console.WriteLine(reader.ReadToEnd()); } catch (WebException e) { HttpWebResponse resp = (HttpWebResponse)e.Response; if (resp != null) { Console.WriteLine((int)resp.StatusCode + " " + resp.StatusDescription); var reader = new StreamReader(resp.GetResponseStream()); Console.WriteLine(reader.ReadToEnd()); } else { Console.WriteLine(e.Message); } } Console.WriteLine("----------------");
  • 通过编译构建发布Maven私有组件到私有依赖库 在代码仓库完成设置组件版本后,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。 在页面中选择“空白构建模板”,单击“下一步”。 单击“点击添加构建步骤”。搜索并添加步骤“Maven构建”。 编辑步骤“Maven构建”。 工具版本按照实际选择,本文中选择“maven3.5.3-jdk8-open”。 找到以下命令行,删除命令行前的#。 #mvn deploy -Dmaven.test.skip=true -U -e -X -B 找到以下命令行,在命令行前添加#。 mvn package -Dmaven.test.skip=true -U -e -X -B 在“发布依赖包到CodeArts私有依赖库”一栏勾选“配置所有pom”,并在下拉列表中选择与已项目关联的Maven私有依赖库。 单击“新建并执行”,执行构建任务。
  • 在Maven私有依赖库的版本视图中查看归档的组件 进入目标私有依赖库,找到通过构建任务上传的Maven私有组件。 参考上述步骤,在代码仓库中设置组件版本,可将多个版本组件归档至私有依赖库。 单击“版本视图”。 在包列表中,可以查看从编译构建中获取软件包的版本数和最新版本。 单击“包名”,页面将显示该软件包最新版本的概览信息。 选择“文件列表”页签,在列表中可以单击目标组件操作列中的,可将组件下载到本地。 用户在本地对组件修改并设置新的版本号后,在目标私有依赖库中,单击“上传组件”,可将最新版本的组件上传至私有依赖库。 版本视图中的包列表显示对应组件最新上传的版本并统计版本归档过的数量。
  • 背景介绍 相对于开发过程中的“源代码”,制品仓库服务关注和管理开发产生的待部署的软件包。软件包通常是由源码编译构建或打包而成,其中涉及生命周期的元数据(如名称、大小等基本属性、代码库地址、代码分支信息、构建任务、构建者、构建时间)。在开发过程中,软件包会根据不同版本不断生成改进。 软件包及其属性的管理是发布过程管理的基础,也是软件开发过程中的重要资产,而能够及时查看软件包的版本记录也成为开发者面临的诉求。
  • 上传debian私有组件 上传debian私有组件时,需要配置以下5个参数: 参数 参数说明 Distribution 软件包发行版本。 Component 软件包组件名称。 Architecture 软件包体系结构。 Path 软件包的存储路径,默认上传至根路径。 File 软件包的本地存储路径。 上传成功之后,可在仓库组件列表中看到deb格式的安装包,同时在路径“dists”下生成对应的元数据,可用于debian安装。
  • 上传NuGet私有组件 NuGet 包是具有 .nupkg 扩展的单个 ZIP 文件,用户可以使用 NuGet 包来共享组织或工作组专用的代码。 制品仓库服务支持将本地的NuGet包上传至私有依赖库。 一般建议使用以下规范打包命名NuGet本地文件。 软件名称-软件的主版本号.nupkg 例如:automapper.12.0.0.nupkg 进入私有依赖库,在左侧边栏中单击待上传私有组件的目标NuGet仓库。 单击“上传制品”,从本地选择待上传的NuGet文件,单击“上传”。 上传成功的组件显示在仓库列表中。 metadata目录为元数据保存目录,由组件名称名称命名。元数据目录无法删除,会跟随对应组件的删除或还原进行删除或新增。 package目录为组件保存目录。
  • 上传Go组件 Go(又称Golang)是Google开发的一种编程语言。GoLang1.11开始支持模块化的包管理工具,模块是Go的源代码交换和版本控制的单元,mod文件用来标识并管理一个模块,zip文件是源码包。Go模块主要分为两种:v2.0以上版本,及v2.0以下版本,二者对Go模块的管理存在差异。 上传Go组件分为两步:上传zip文件与上传mod文件,需要分别输入以下参数。 参数 说明 zip path zip文件的完整路径。路径格式包括以下几种情况: v2.0以下版本:{moduleName}/@v/{version}.zip。 v2.0以上版本: zip包里有go.mod且路径里以/vN结尾:{moduleName}/vX/@v/vX.X.X.zip。 zip包里不含go.mod或go.mod第一行里不以/vN结尾:{moduleName}/@v/vX.X.X+incompatible.zip。 zip file zip文件的目录结构。包括以下几种情况: v2.0以下版本:{moduleName}@{version}。 v2.0以上版本: zip包里有go.mod且路径里以/vN结尾:{moduleName}/vX@{version}。 zip包里不含go.mod或go.mod第一行里不以/vN结尾: {moduleName}@{version}+incompatible。 mod path mod文件的完整路径。路径格式包括以下几种情况: v2.0以下版本:{moduleName}/@v/{version}.mod。 v2.0以上版本: zip包里有go.mod且路径里以/vN结尾:{moduleName}/vX/@v/vX.X.X.mod。 zip包里不含go.mod或go.mod第一行里不以/vN结尾:{moduleName}/@v/vX.X.X+incompatible.mod。 mod file mod文件内容。包括以下几种情况: v2.0以下版本:module {moduleName} v2.0以上版本: zip包里有go.mod且路径里以/vN结尾: module {moduleName}/vX zip包里不含go.mod或go.mod第一行里不以/vN结尾:module {moduleName}
  • 上传npm组件 私有依赖库支持上传tgz格式的npm组件包,上传时需要配置以下两个参数。 参数 说明 PackageName 请与打包时的配置文件“package.json”中“name”保持一致。 Version 请与打包时的配置文件“package.json”中“version”保持一致。 在上传组件时,PackageName需要以创建仓库时添加的路径列表中的路径开头,详细可见帮助指导中的“仓库配置说明”。 例如: 创建npm仓库时,添加的路径为“@test”。 上传组件到该仓库时,“PackageName”中的“@test”存在于新建仓库时的路径列表中,可以成功上传。若使用其他不存在与列表中的路径,如“@npm”,则会上传失败。 上传成功之后,可在仓库组件列表中看到tgz格式的组件包,同时在路径“.npm”下生成对应的元数据。
  • 上传RPM私有组件 RPM(RedHat Package Manager),是由Red Hat公司提出,被众多Linux发行版本所采用,是一种以数据库记录的方式来将所需要的软件安装到到Linux系统的一套软件管理机制。 一般建议使用以下规范打包命名RPM二进制文件。 软件名称-软件的主版本号.软件的次版本号.软件的修订号-软件编译次数.软件适合的硬件平台.rpm 例如:hello-0.17.2-54.x86_64.rpm。其中,“hello”是软件名称,“0”是软件的主版本号,“17”是软件的次版本号,“2”是软件的修订号,“54”是软件编译次数,“x86_64”是软件适合的硬件平台。 软件名称 主版本号 次版本号 修订号 编译次数 适合的硬件平台 hello 0 17 2 54 x86_64 注:上传组件时需要配置以下两个参数 参数 说明 Component 组件名称。 Version RPM二进制包的版本。 进入私有依赖库,在左侧边栏中单击待上传私有组件的目标仓库。 单击页面右侧“上传制品”。 在弹框中输入组件参数,并上传文件,单击“上传”。 上传成功之后,可在仓库组件列表中看到RPM二进制包,同时在组件名称路径下生成对应的元数据“repodata”目录,可用于yum安装。
  • npm组件介绍 npm全称Node Package Manager,是一个JavaScript包管理工具,npm组件包就是npm管理的对象,而npm私有依赖库就是管理和存储npm组件包的一个私有仓库。 npm组件包是由结构和文件描述组成: 包结构:是组织包中的各种文件,例如:源代码文件,资源文件等。 描述文件:描述包的相关信息,例如:package.json、bin、lib等文件。 包中的package.json文件是对项目或模块包的描述文件,它主要包含名称、描述、版本、作者等信息,npm install命令会根据这个文件下载所有依赖的模块。 package.json示例如下: { "name": "third_use", //包名 "version": "0.0.1", //版本号 "description": "this is a test project", //描述信息 "main": "index.js", //入口文件 "scripts": { //脚本命令 "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ //关键字 "show" ], "author": "f", //开发者姓名 "license": "ISC", //许可协议 "dependencies": { //项目生产依赖 "jquery": "^3.6.0", "mysql": "^2.18.1" }, "devDependencies": { //项目开发依赖 "less": "^4.1.2", "sass": "^1.45.0" } } 其中最重要的是name和version字段,这两个字段必须存在,否则当前包无法被安装,这两个属性一起形成了一个 npm 包的唯一标识。 name是 package(包)的名称。名称的第一部分如@scope/在私有依赖库是必选的,用作名称空间。一般通过搜索name来安装使用需要的包。 { "name": "@scope/name" } version是 package(包)的版本,一般为“x.y.z”格式。 { "version": "1.0.0" }
  • 上传PyPI组件 建议进入工程目录(该目录下需含有配置文件setup.py)执行以下命令将待上传组件打包成wheel格式(.whl)的安装包,安装包默认生成在工程目录的dist目录下;Python软件包管理工具pip仅支持wheel格式安装包。 python setup.py sdist bdist_wheel 上传组件时需要配置以下两个参数。 参数 说明 PackageName 请与打包时的配置文件“setup.py”中“name”保持一致。 Version 请与打包时的配置文件“setup.py”中“version”保持一致。 上传成功之后,可在仓库组件列表中看到whl格式的安装包,同时在路径“.pypi”下生成对应的元数据,可用于pip安装。
  • 配置私有依赖库覆盖策略 通过设置仓库是否允许上传相同路径的制品并将原包覆盖等策略,用户可以更规则性的管控私有依赖库的制品上传机制。 进入私有依赖库,在左侧边栏中单击对应的仓库名称。 单击页面右侧“设置仓库”,显示仓库的基本信息,选择“覆盖策略”页签。 图1 设置仓库的覆盖策略 允许覆盖:允许上传相同路径的制品(默认选择),上传后将会覆盖原包。 禁止覆盖:禁止上传相同路径的制品。 只读:禁止上传、更新、删除制品。可以下载已上传的制品。 设置完成后,系统将自动保存。 父主题: 管理私有依赖库2.0
  • 通过版本视图查看私有组件 私有依赖库支持将不同类型私有组件按照版本维度进行归类展示。在版本视图的列表中,提供按制品包名称和版本号进行过滤展示,提供按照更新时间对文件进行排序。 进入私有依赖库页面。 在页面左上方选择“版本视图”页签,单击左侧列表中的仓库名称,页面展示该类型仓库下的软件包版本列表。为不同类型私有组件设置版本请参考通过私有依赖库页面上传/下载私有组件。 不同版本的同名软件包放在一个文件下。单击“包名”,页面将显示该软件包最新版本的概览信息。 单击“版本数”,页面将展示对应软件包的版本列表。 单击“版本号”,页面将显示该软件包的概览信息和文件列表。在文件列表中,单击“文件名称”,页面将跳转到软件包所在的存储位置。
  • 通过版本视图查看私有组件 私有依赖库支持将不同类型私有组件按照版本维度进行归类展示。在版本视图的列表中,提供按制品包名称和版本号进行过滤展示,提供按照更新时间对文件进行排序。 进入私有依赖库页面。 在页面左上方选择“版本视图”页签,单击左侧列表中的仓库名称,页面展示该类型仓库下的软件包版本列表。为不同类型私有组件设置版本请参考通过私有依赖库页面上传/下载私有组件。 不同版本的同名软件包放在一个文件下。单击“包名”,页面将显示该软件包最新版本的概览信息。 单击“版本数”,页面将展示对应软件包的版本列表。 单击“版本号”,页面将显示该软件包的概览信息和文件列表。在文件列表中,单击“文件名称”,页面将跳转到软件包所在的存储位置。
共100000条