
# 构建程序
本例提供了DIS数据流格式转换的[源码](https://functionstage-examples.obs.cn-north-1.myhuaweicloud.com/fss_examples_dis_cloudtable_src.zip)和[程序包](https://functionstage-examples.obs.cn-north-1.myhuaweicloud.com/fss_examples_dis_cloudtable.zip)（包含函数依赖），使用空白模板创建函数，用户可以下载、学习使用。
#### 创建工程
本例使用Java语言实现DIS数据流格式转换功能，有关函数开发的过程请参考[Java函数开发指南](https://support.huaweicloud.com/devg-functiongraph/functiongraph_02_0430.html)，本例不再介绍业务功能实现的代码。
[下载样例源码](https://functionstage-examples.obs.cn-north-1.myhuaweicloud.com/fss_examples_dis_cloudtable_src.zip)（fss_examples_dis_cloudtable_src.zip），解压缩，在Eclipse中导入工程，如[图1]所示。
图1样例代码说明   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002129786214.png "点击放大")
在样例代码中，需要修改proID（项目ID）、clusID（集群ID）、hostName（表格存储服务的endpoint）并保存。
项目ID获取方法：进入"个人中心 \> 我的凭证"，如[图2]所示，在"项目列表"获得项目ID，如[图3]所示。
图2我的凭证   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165184133.png)
图3项目ID   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165184145.png "点击放大")
集群ID获取方法：登录[表格存储服务](https://console.huaweicloud.com/cloudtable/)，进入集群管理，选择[创建集群](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_0601.html#functiongraph_05_0601__section339832015574)中创建的cloudtable-dis集群，进入集群详情页，可以查看集群ID，如[图4]所示。
图4集群ID   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002129944382.png "点击放大")
创建FunctionGraph函数时，需要设置函数执行入口，Java函数执行入口格式为：\[包名\].\[文件名\].\[函数名\]，上述源码对应的函数执行入口为：com.huawei.cff.TableTester.MyHandler。
 #### 程序打包
使用Eclipse生成Jar包，步骤如下图所示，得到Table Tester.jar文件。
图5Export   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165184137.png "点击放大")
图6选择类型   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165305701.png)
图7发布   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165305709.png "点击放大")
将函数依赖打包，方法如下。
[下载程序包](https://functionstage-examples.obs.cn-north-1.myhuaweicloud.com/fss_examples_dis_cloudtable.zip)（fss_examples_dis_cloudtable.zip）文件，解压缩目录如[图8]所示。使用Table Tester.jar替换DIS Test.jar，替换文件目录后如[图9]所示。打ZIP包，如[图10]所示，得到disdemo.zip文件。
图8文件目录   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165184153.png "点击放大")
图9替换后文件目录   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002129786206.png "点击放大")
图10打ZIP包   
![](https://support.huaweicloud.com/bestpractice-functiongraph/zh-cn_image_0000002165305713.png "点击放大")
#### 创建函数
创建函数的时候，必须选择能够访问到DIS和CloudTable资源的委托。
1. 登录[函数工作流控制台](https://console.huaweicloud.com/functiongraph/)，在左侧导航栏选择"函数 \> 函数列表"，进入函数列表界面。
2. 单击"创建函数"，进入创建函数流程。
3. 选择"创建空白函数"，填写函数基本信息，完成后单击"创建函数"。 
   - 函数类型：事件函数。
   
   - 函数名称：输入您自定义的函数名称，此处以"DISDemo"为例。
   
   - 委托名称：选择[准备](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_0601.html)中创建的"DISDemo"。
   
   - 运行时语言选择："Java 8"。
   
   
   
   
4. 进入函数详情页，配置如下信息。 
   - 在"设置 \> 常规设置"页签，修改函数执行入口为"com.huawei.cff.TableTester.MyHandler"，单击"保存"。
   
   - 在"代码"页签，选择"上传自Zip文件"，选择上传[程序打包]中的代码包"disdemo.zip"。
   
   
   
   
#### 修改函数配置
函数创建完成后，函数默认内存为128MB，超时时间默认为3s，资源太少，需要修改。
1. 进入DISDemo函数详情页，在"设置 \> 基本设置"页签，修改配置信息。 
   - 内存：选择"512"。
   
   - 执行超时时间：输入"15"。
   
   
   
   - 其他配置项不修改。
   
   
   
   
2. 单击"保存"，保存配置信息。
 
