ETL 工具之Webservice数据调用

合集下载

webservice调用方法

webservice调用方法

webservice调用方法
service是一项用于搜集、处理、分发和存储基于云的数据服务。

它能够提供准确、及时、高效和安全的数据获取能力,将海量数据信息变成可用的数据资源。

service可以为用户提供数据安全、可靠、及时服务。

service调用方法具有不同的实施方式,具体取决于所采用的数据源。

首先,用户需要根据需求确定需要采集的数据源,然后完成数据源注册、配置访问权限等。

在这个过程中,用户需要区分内部和外部访问,并为每种访问方式分配相应的权限。

一旦配置完成,用户可以使用标准协议或自定义API调用service接口完成数据采集。

首先,用户需要根据需求确定采集数据的范围,然后指定访问接口、参数,调用service接口即可实现数据的采集,并返回相应的结果。

此外,还可以使用技术和算法支持service对数据的动态处理,提高获取数据的准确率和效率。

例如,可以利用智能解析算法将原始数据格式转换成更容易处理的格式,然后进行检索、过滤等操作,将获取到的信息进行精炼,更加符合用户需求。

最后,service还可以提供自动分发和存储功能,可以将采集的数据以文件或消息的形式自动分发到指定的存储目标,并以定时任务或其他方式保持数据的更新。

总之,service调用方法实现了根据用户需求快速准确采集信息、动态处理数据、自动分发和存储的功能,使用户能够快速、及时、高
效地获取需要的信息。

webservice的调用原理

webservice的调用原理

webservice的调用原理
WebService的调用原理是基于远程过程调用(RPC)实现的。

它是一种通过网路进行远程交互的方式,允许不同的应用程序在不同的平台上进行通信。

当客户端需要调用WebService时,首先需要知道WebService 的位置以及提供的方法。

一般来说,WebService会使用统一描述语言(WSDL)来描述其服务。

WSDL文件中包含了WebService的方法、输入参数、返回值等信息,客户端可以通过解析WSDL文件获得这些信息。

在调用WebService前,客户端需要创建一个用于与WebService交互的代理对象。

代理对象可以根据WSDL文件生成,它会封装与WebService通信的细节,使得客户端可以像调用本地方法一样调用WebService的方法。

当客户端调用代理对象的方法时,代理对象会将方法调用和参数封装成一个SOAP消息(Simple Object Access Protocol)。

SOAP消息一般使用XML格式进行编码,其中包含了调用的方法名、参数值等信息。

客户端通过HTTP或其他协议将SOAP消息发送给服务器端,服务器端接收到SOAP消息后,会将其解析并调用相应的方法。

服务器端执行完方法后,将返回值封装成一个SOAP消息发送回客户端。

客户端接收到服务器端的返回消息后,将其解析得到返回值,
并传递给应用程序进行处理。

通过这种方式,客户端可以远程调用WebService的方法并获取返回值,实现了不同系统之间的交互与数据共享。

由于使用了统一的协议和格式,WebService可以跨平台、跨语言地进行通信,具有较好的兼容性和扩展性。

kettle webservice调用步骤

kettle webservice调用步骤

Kettle WebService调用步骤一、概述Kettle是由Pentaho开发的一款开源的ETL工具,广泛应用于数据仓库的构建和数据集成等领域。

在实际工作中,经常会碰到需要调用Web服务的情况,而Kettle提供了方便的方式来实现这一功能。

本文将从简单到复杂,逐步介绍Kettle调用WebService的步骤,帮助读者全面理解并掌握该功能的使用方法。

二、前提条件在正式介绍Kettle调用WebService的步骤之前,我们需要先明确几个前提条件。

我们需要有一个可供调用的Web服务,例如一个基于SOAP协议的Web服务。

我们需要确保Kettle已经正确安装并配置好,可以正常运行。

我们需要确保已经对要调用的Web服务有一定的了解,包括Web服务的位置区域、参数格式等信息。

三、Kettle调用WebService的基本步骤1. 创建一个新的转换(Transformation)或作业(Job)在Kettle中,我们可以通过创建新的转换或作业来实现对WebService的调用。

在这里,我们以创建转换为例进行介绍。

2. 添加一个“调用WebService”步骤在转换中,我们需要添加一个“调用WebService”步骤,该步骤可以在“输入”类别下找到。

添加完成后,我们可以双击该步骤,进入编辑界面。

3. 配置WebService的基本信息在编辑界面中,我们需要填写WebService的基本信息,包括WebService的URL、Method(方法)、SOAPAction等。

这些信息通常可以从WebService的文档或提供方那里获取。

4. 配置输入字段点击“输入字段”选项卡,我们需要配置要传递给WebService的输入字段。

根据WebService的要求,我们需要按照顺序添加对应的字段,并且为每个字段指定相应的数值或参数。

这部分内容需要与具体的WebService接口文档相结合,进行逐一配置。

5. 配置输出字段(可选)如果WebService有返回结果,我们可以在“输出字段”选项卡中配置返回结果对应的字段,用于接收WebService的返回值。

webservice接口调用方法

webservice接口调用方法

webservice接口调用方法Web服务(Web service)是指一个网络服务,通过互联网进行通信的应用程序接口(API),使用标准的HTTP协议进行数据传输和交互。

它使用SOAP(Simple Object Access Protocol)来封装数据,以XML格式进行传递,可以在多种平台上进行调用,独立于编程语言和操作系统。

调用Web服务的方法如下:1.确定服务地址和方法:首先要确定要调用的Web服务的地址和要调用的方法。

通常,服务地址是一个URL(Uniform Resource Locator),可以在文档中找到。

2.创建SOAP请求:根据要调用的方法创建一个SOAP请求。

SOAP 请求是一个XML文档,根据服务的定义,包含要调用的方法名和方法参数。

可以使用各种编程语言和工具来创建SOAP请求,如Java的JAX-WS、Python的suds等。

3.发送请求:将创建的SOAP请求发送给Web服务。

可以使用HTTP POST或其他协议将请求发送给服务的URL。

请求与服务之间的通信是通过HTTP协议完成的。

4.解析响应:接收到Web服务的响应后,需要解析响应的内容。

响应是一个XML文档,包含服务返回的数据。

同样,可以使用各种编程语言和工具来解析XML响应,提取所需的数据。

5.处理响应:根据需要处理响应的数据。

可以将数据保存到数据库中,显示在用户界面上,或者进行其他操作。

6.处理错误:如果在调用Web服务时发生错误,需要处理错误。

可能会遇到网络连接问题、服务不可用、权限问题等。

根据错误类型,可以采取不同的处理方式,如重试请求、记录错误信息等。

7.错误处理:同样重要的是处理错误。

如果在调用Web服务时发生错误,需要处理错误。

可能会遇到网络连接问题、服务不可用、权限问题等。

根据错误类型,可以采取不同的处理方式,如重试请求、记录错误信息等。

8.安全性:在调用Web服务时,需要确保数据的安全性。

可以使用加密和数字签名等技术来保护传输的数据。

webservice接口调用示例

webservice接口调用示例

webservice接口调用示例WebService接口是一个用于数据交互的网络服务,其接口通常使用HTTP或HTTPS方式调用。

以查询天气信息为例,下面是一个使用WebService接口调用的示例:1. 首先,我们需要获取天气查询接口的地址和参数。

这些信息通常可以在接口提供方的文档中找到。

2. 我们可以使用类似cURL、Python的requests库等工具来发送HTTP请求。

以requests库为例,我们可以在代码中添加如下语句导入requests库:```import requests```3. 接下来,我们需要发送HTTP GET请求获取天气信息。

代码示例如下:```url = '/currentconditions/v1/'payload = {'apikey': 'YOUR_API_KEY', 'location': 'beijing'} response = requests.get(url, params=payload)```4. 上述代码中,我们指定了接口的地址`url`和查询参数`payload`。

此外,我们还需要向接口提供方获取一个API Key,以便进行认证。

5. 接下来,我们可以通过解析服务端响应中的JSON数据获取天气信息。

代码示例如下:```data = response.json()weather_info = data[0]['WeatherText']temperature = data[0]['Temperature']['Metric']['Value']```6. 上述代码中,我们将服务端响应中的JSON数据解析,并获取其中的天气信息和温度信息。

7. 最后,我们可以将结果展示给用户或者进行其他处理。

```result = '北京的天气为{},温度为{}度'.format(weather_info, temperature)print(result)```请注意,上述代码仅为示例,实际的WebService接口调用可能需要进行更多的参数配置和错误处理。

WebService服务调用方法介绍

WebService服务调用方法介绍

WebService服务调用方法介绍WebService是一种基于网络的互操作技术,可通过简单对象访问协议 (SOAP) 来实现不同平台和编程语言之间的通信。

WebService服务调用方法是指通过客户端应用程序与后端WebService进行通信,实现数据传输和功能调用的过程。

下面将详细介绍WebService服务调用方法。

1. 了解WebService服务:在使用WebService服务之前,首先需要了解所需要调用的WebService服务的接口、方法以及参数。

通常,WebService会提供一个WSDL(Web Services Description Language)文件,其中定义了WebService的接口和方法信息。

通过WSDL文件,客户端可以获取到所有WebService接口的详细描述和相关信息。

2. 创建客户端应用程序:为了调用WebService服务,需要创建一个客户端应用程序。

这可以是一个使用特定编程语言编写的应用程序,如Java、C#等。

在客户端应用程序中,需要导入和使用与WebService相关的库和类,以便在应用程序中调用WebService服务。

3. 创建服务代理:客户端应用程序需要创建一个用于与WebService 服务进行通信的代理。

代理是客户端应用程序与WebService服务之间的中间层,它用于封装与WebService的通信细节,并提供一种方便的方式来调用WebService服务的方法。

根据不同编程语言和框架的要求,可以通过使用类似“wsimport”或“svcutil”等工具来生成代理类。

4. 调用WebService服务方法:通过创建的代理类,客户端应用程序可以直接调用WebService服务的方法。

在调用方法之前,需要根据WebService服务的接口定义传递正确的参数。

参数的传递通常是通过创建请求对象并为其设置相应的属性来完成的。

请求对象将包含需要传输给WebService服务的数据。

webservice 接口调用规则

webservice 接口调用规则

Web服务接口调用规则是用于规范和描述如何与Web应用程序交互的一组协议和规范。

这些规则通常包括以下方面:1. URL:Web服务接口的统一资源定位符(URL)用于标识接口的位置。

通常,URL 遵循这样的格式:`scheme://hostname[:port]/path`。

其中,scheme表示协议(如http或https),hostname表示服务器的主机名,port表示服务器的端口号,path表示接口的路径。

2. 请求方法:Web服务接口通常支持多种HTTP请求方法,如GET、POST、PUT、DELETE等。

这些方法用于指定对资源的操作类型。

3. 请求参数:请求参数是传递给Web服务接口的数据。

它们可以包含在URL中(对于GET方法)或在请求体中(对于POST、PUT和DELETE方法)。

参数通常采用键值对的形式,其中键表示参数名,值表示参数值。

4. 请求头:请求头包含在HTTP请求中,用于传递有关请求的其他信息,如内容类型、编码格式、认证信息等。

5. 请求体:请求体是用于传递具体数据的HTTP请求部分。

它通常包含在POST、PUT 和DELETE请求中。

请求体可以采用不同的格式,如JSON、XML或表单数据。

6. 响应状态码:Web服务接口返回的HTTP响应状态码用于表示请求的结果。

状态码通常是一个三位数,其中,2xx表示成功,3xx表示重定向,4xx表示客户端错误,5xx表示服务器错误。

7. 响应头:响应头包含在HTTP响应中,用于传递有关响应的其他信息,如内容类型、编码格式、认证信息等。

8. 响应体:响应体是用于传递具体数据的HTTP响应部分。

它通常包含在2xx状态码的响应中。

响应体可以采用不同的格式,如JSON、XML或HTML。

9. 认证和授权:Web服务接口可能需要进行认证和授权,以确保只有具有相应权限的用户才能访问。

这通常通过在请求头中传递认证凭据(如用户名和密码)或使用令牌(如JWT)来实现。

webservice的调用方式

webservice的调用方式

webservice的调用方式Web Service的调用方式Web Service是一种基于互联网的通信协议,通过HTTP和XML 来进行通信。

它可以实现不同平台、不同语言之间的数据交互和共享,为分布式应用提供了一种标准化的通信方式。

在使用Web Service时,我们可以采用不同的调用方式,以满足不同的需求和场景。

1. SOAP方式调用SOAP(Simple Object Access Protocol)是一种基于XML的消息格式,用于在Web Service之间进行通信。

SOAP方式调用Web Service需要创建SOAP消息,并通过HTTP传输到目标服务端。

SOAP消息包含了调用的方法、参数和返回值等信息。

服务端接收到SOAP消息后,解析其中的内容,并执行相应的方法,然后将结果封装成SOAP消息返回给客户端。

2. RESTful方式调用REST(Representational State Transfer)是一种基于Web的软件架构风格,它使用简单的URL作为资源的标识符,并通过HTTP 的不同请求方法来对资源进行操作。

RESTful方式调用Web Service时,我们可以使用不同的HTTP方法(如GET、POST、PUT、DELETE)来对资源进行增删改查操作。

客户端通过构建不同的URL来调用Web Service,服务端根据URL的不同执行相应的操作,并返回结果。

3. JSON-RPC方式调用JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种基于JSON格式的远程过程调用协议。

JSON-RPC方式调用Web Service时,客户端将调用的方法、参数等信息封装成JSON格式的消息,并通过HTTP传输到服务端。

服务端接收到消息后,解析其中的内容,并执行相应的方法,然后将结果封装成JSON格式的消息返回给客户端。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

致:Beeload 用户 — Webservice 数据调用数据调用参考参考参考((一) 北京灵蜂纵横软件有限公司1选择菜单【文件】->【新建】命令或工具栏上的按钮,弹出新建作业对话框,在 【作业名称】中输入模板作业名称,确认【作业类型】中选中‘ETL模板’,点击【完成】按钮,显示ETL模板页。

ETL模板用于定义ETL任务的抽取、过滤、转换和装载等各个过程的规则,每个ETL任务包括一个源数据接口和一个目标数据接口(在模板中通过数据接口类型图标 节点表示),还包括源到目标的 传输转换规则(通过源和目标间的转换连接线表示)。

2单击【资源箱】中代表特定数据接口的图标按钮(如果资源箱不可视,可选择【查看】菜单中的【资源箱】命令显示资源箱),使图标处于选中状态,然后单击模板页的任一位置,便可在模板页中增加一个数据接口图标节点,用户应根据源和目标的实际接口类型依次增加对应的图标节点到模板中。

双击模板页中的图标节点,弹出数据接口设置对话框(也可在图标 节点选中后使用快捷菜单的【属性】命令进行操作)。

对于不同类型的数据接口,数据接口设置对话框显示的接口属性会有一些差别,各种数据接口对应的属性设置如下:Oracle数据库包括两种连接方式,瘦客户连接方式或通过OCI进行连接。

取决于软件运行环境,如果Beeload所在的操作系统装有Oracle客户端软件,则软件使用OCI连接,否则使用瘦客户连接方式。

瘦客户连接时,要求输入数据库服务器的主机名或IP地址、服务端口、数据库名称、用户名以及口令 。

使用OCI连接时,要求输入客户端的 【服务名】 、【用户名称】及【口令】,其中【服务名】代表本地网络服务名,如:在ORACLE客户端的本地网络服务配置中网络服务名、用户、口令依次为orcl、scott、tiger,则在该对话框中依次输入orcl、scott、tiger即可。

复选框【只显示当前用户表】选中时,表示数据库连接建立后,仅仅列出当前用户创建的表;如果该复选框未选中,则表示列出所有当前用户可以查看的表。

复选框 【sysdba登录】选中时,表示通过sysdba身份连接数据库,否则使用normal身份连接。

WebService调用(源)通过调用WebService获取数据,要求WebService方法必须返回字符串或字符串数组,对于字符串数组,将被转换为由换行符'\n'分隔的文本串。

属性设置如下:【服务URL】指明要调用WebService的名称,如http://localhost:8088/axis/DataProxy.jws【方法名】指明要调用WebService的方法,如query【调用参数】表示调用方法时所传递的参数,可以传递多个参数,各个参数使用逗号(,)进行分隔【行分隔符】表示返回数据中的各行记录间的分隔符号【忽略行数】表示跳过的行数【列分隔符】表示列与列之间使用的分隔符号【文本限定】表示字符串类型列所使用的限定符号,如双引号(")3当源数据接口和目标数据接口属性设置就绪后,单击【资源箱】中的【数据转换】 图标,使其处于选中状态,然后依次点击模板页中的源、目标图标节点,即可在源和目标图标节点间建立一条转换连接线;也可在单击 后,移动鼠标到 源数据接口上按下鼠标左键,一直拖拽到目标数据接口上释放鼠标建立连接线。

提示:在点击源和目标图标节点前确认模板页中没有任何节点被选中,如有选中节点可通过点击模板页空白区域取消.双击转换连接线(也可单击连接线使其选中然后使用快捷菜单中的 【属性】),弹出【转换规则定义】对话框, 其中:标签 【源】用于定义抽取数据,【目标】用于选择目标表,【转换】用于定义抽取数据到目标表的映射规则,【高级】用于指定数据装载中的参数。

4选择【源】标签后,显示抽取数据设置面板,其中:【源数据接口表】显示源数据接口中的表模式信息,根节点对应数据接口名称,第二层节点为表名称,叶节点对应列,其中显示了列名、数据类型以及通过不同的图标表示该列是否可以为空,是否为主键等信息( 表示列可以为空, 表示列不可为空, 表示主键);【输出数据】显示抽取输出的数据信息,其中每一查询【Query】标签对应于一个SQL查询(可通过按钮或按钮增加或删除查询标签),在查询窗口内部的【投影】标签对应于用于设置SQL查询输出的 表达式,【选项】标签用于设置SQL的where子句,group by子句对应的表达式,order by子句以及增量抽取属性等。

投影选择【投影】标签后,在出现的投影窗口中,【输出别名】对应于select语句的输出表达式的别名,【表达式】对应于select语句的输出表达式,【表名】对应于抽取数据的表名称 。

对于【输出别名】和【表达式】,点击相应单元可对其进行编辑。

可以使用鼠标双击或拖拽方式将【源数据接口表】中的列节点添加到投影窗口中,也可以在选中列节点后使用快键菜单中的【添加】命令或者点击窗口中间工具栏上的 按钮进行添加,当列添加到投影窗口时,可以点击【输出别名】和【表达式】对应的单元格对其内容进行调整。

通过按住ctrl键,依次点击将要添加的列节点,然后通过快键菜单中的【添加】命令或者点击窗口中间工具栏上的 按钮实现多列信息在投影窗口的快速添加。

拖拽窗口左边的表节点或者在选中表节点后,通过快键菜单中的【添加】命令或者点击窗口中间工具栏上的 按钮实现整表信息在投影窗口的快速添加。

如欲删除某个投影项,可点击投影窗口中的对应项,然后按del键或点击 按钮;也可用右键点击投影项,使用快捷菜单中的【删除】命令。

按住ctrl键,依次点击将要删除的投影项,然后通过 按钮或del键可同时删除多个投影项。

点击抽取数据设置面板中间的预览按钮,可以预览当前查询对应的抽取数据。

预览时最多输出100条记录,可以对输出的记录进行排序浏览。

具体操作为,点击排序列对应的表头,记录升序排列;再次点击该列,记录降序排列。

5当抽取数据设置完毕后,选择【目标】标签,显示目标表设置面板,其中:【目标数据接口表】显示目标数据接口中的所有表。

【装载表】显示将要载入抽取数据的目标表。

可以使用鼠标双击或拖拽方式将【目标数据接口表】中的列节点添加到【装载表】中,也可以在选中表节点后使用快键菜单中的【添加】命令或者点击窗口中间工具栏上的 按钮进行添加,当表添加到【装载表】中后,通过设置【清空】栏下的复选框,可以设置在装载数据时是否清空其现有数据,复选框被选中,现有数据被清除,否则保留。

如欲删除某个装载表项,可点击【装载表】中的对应项,然后按del键或点击 按钮;也可用右键点击装载表项,使用快捷菜单中的【删除】命令。

预览目标表点击目标表设置面板中间的 按钮,可以预览 以选中目标表的现有数据。

预览时最多输出100条记录,可以对输出的记录进行排序浏览。

具体操作为,点击排序列对应的表头,记录升序排列;再次点击该列,记录降序排列。

创建表点击窗口中间工具栏上的【新建装载表】按钮,如果在抽取 数据设置中建立了多个查询,则用户需在弹出的【选择模板】对话框中选择一个查询作为新建表的模板,进入【新建表】对话框,其中:【表名】表示新表的名称,必须按照目标数据接口支持的表命名规则输入表名,既可直接输入新表的名称,如:tbl_a,也可按照Bee脚本的语法格式构造一个字符串,该字符串可包括常量和函数,如:"tbl_" + toString(getDate(),"YYYY_MM_DD")。

新表的初始列定义与查询的输出列相同,用户可在此基础上编辑列属性,单击【列名】单元可对列的名称进行编辑,输入的列名不可与其它已有列名相同;点击【数据类型】单元在下拉框中选择列的类型(该下拉框所提供的数据类型与目标数据 接口所支持的数据类型一致);对于字符串型列,需定义列长度,点击长度单元在其中输入字符串长度;对于数值型列,需指定其精度,小数位数;可以指定列是否可以为空,如果列可以空,则将其对应的【允许空】复选框置于选中状态 ;可以指定列是否构成主键,如果列构成主键,则将其对应的【主键】复选框置于选中状态。

右键点击【列定义】窗口,在弹出的快捷菜单中选择【添加】增加一列,也可通过Ins键增加一列;右键点击某列,在弹出的快捷菜单中选择【插入】,可在点击列前面插入一列;右键点击某列,在弹出的快捷菜单中选择 【删除】可删除点击列,也可通过Del键删除选中列。

可以为新建表建立索引,索引的初始定义与查询输出表相同,在【索引定义】窗口中,在弹出的快捷菜单中选择【添加】增加一索引,也可通过Ins键增加一索引;右键点击某索引,在弹出的快捷菜单中选择【插入】,可在点击索引前面插入一索引;右键点击某索引,在弹出的快捷菜单中选择 【删除】可删除点击索引,也可通过Del键删除选中索引。

单击【索引名】单元可对索引的名称进行编辑,通过复选框【聚集】或【唯一】可设置索引为聚集索引或唯一索引,单击【列】单元在弹出的【索引列定义】对话框中选择组成索引的列,在对话框中通过快捷菜单【上移】或【下移】命令可以调整索引列的顺序。

新表设置完毕后,点击【确定】按钮关闭【新建表】对话框,将在【装载表】中显示新建表的名称。

注意:如果新表名称与已有的表名冲突,会弹出提示对话框,要求重新输入表名,直到新表名称唯一。

提示:对于新表,直到ETL任务运行时才会实际创建。

6当目标表设置完毕后,选择【转换】标签,显示转换映射窗口,其中:【抽取数据】显示【源】中定义的所有查询以及每一查询对应的所有投影输出列,其中根节点对应于源数据接口名称,其下子节点对应查询名称,叶节点对应投影输出列,其中 左边为输出列别名及其数据类型定义,右边显示实际的投影表达式。

【装载目标】显示【目标】中定义的所有装载表以及每一表中所有的列,其中根节点对应于目标数据接口名称;其下子节点对应于装载表名称,如果表设置了过滤表达式,则将在该节点右边显示过滤表达式;叶节点对应于列信息,分别显示了列名、数据类型以及该列是否可以为空,是否为主键等信息(表示列可以为空,表示列不可为空,表示主键),如果 列已经定义了赋值表达式,则将在 右边显示赋值表达式。

自动映射鼠标按住【抽取数据】中的某一投影列节点,按照实际业务规则将其一直拖拽到【装载目标】中对应的目标列上释放, 如果投影列与目标列满足自动映射规则,则可直接在投影列与目标列之间建立映射关系,在目标列建立赋值表达式,否则,将弹出消息对话框,提示不可直接映射,需要使用Bee脚本内置的转换函数对抽取数据进行转换后方可载入目标列。

全表映射鼠标按住【抽取数据】中的某一查询节点,按照实际业务规则将其一直拖拽到【装载目标】中对应的目标表上释放,弹出【选择映射模式】对话框,可以选择按列名称自动映射所有投影列与目标列,也可按照投影列和目标列显示的索引顺序自动建立映射。

相关文档
最新文档