
# 使用APIG专享版对接后端FunctionGraph
#### 应用场景
在现代软件开发中，API网关是前端与后端之间的桥梁，扮演着至关重要的角色。然而，当集成多种服务（如HTTP、FunctionGraph、Mock等）时，可能会遇到服务间通信不畅、集成复杂度高的问题。如何简化流程、提升效率？通过API网关连接多种类型的后端服务，可以有效降低集成难度，更好地适配现有业务。本文将演示如何创建一个FunctionGraph函数，并将其作为API的后端服务，实现高效集成。
#### 约束与限制
如果当前环境中未部署FunctionGraph服务，则后端服务类型FunctionGraph不可用。
#### 资源规划
表1资源规划 
| 资源            | 数量 |
|:---|:---|
| FunctionGraph | 1  |
| APIG专享版实例     | 1  |
   
#### 操作流程
![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002427661632.png)
1. 创建函数 在使用FunctionGraph类型定义后端服务之前，需要先在FunctionGraph服务中创建一个函数作为自己的后端服务。
   
2. 创建API 创建一个API，后端类型定义为FunctionGraph类型。
   
3. 调用API 验证APIG对接后端FunctionGraph是否成功。
   
 
#### 使用APIG专享版对接函数后端实施步骤
**创建函数**
1. 登录[函数工作流控制台](https://console.huaweicloud.com/functiongraph/?locale=zh-cn)页面。
2. 在左侧导航栏中选择"函数 \> 函数列表"。
3. 单击"创建函数"，根据下表参数说明，创建一个函数。 
   表2配置函数 
   | 参数     | 配置说明                                           |
   |:---|:---|
   | 选择创建方式 | 默认"创建空白函数"。                                    |
   | 函数类型   | 选择函数的类型，此处默认"事件函数"。                            |
   | 区域     | 选择与API网关相同区域。                                  |
   | 函数名称   | 根据规划自定义名称。建议您按照一定的命名规则填写名称，方便您快速识别和查找。         |
   | 企业项目   | 如果您的企业有多个项目，建议选择相应的项目以实现资源的逻辑隔离。此处默认"default"。 |
   | 委托     | 用户委托函数工作流去访问其他的云服务。此处默认"未使用任何委托"。              |
   | 运行时    | 此处以"Python 3.9"语言为例。                           |
      
   
   
4. 单击"创建函数"。创建完成后，检查函数列表中是否出现新创建的函数。
5. 进入函数详情，在"代码"页签，将以下代码复制到index.py中。 
   ```
   # -*- coding:utf-8 -*-
   import json
   def handler (event, context):
       return {
           "statusCode": 200,
           "body": json.dumps("Hello from FunctionGraph"),
           "headers": {
               "Content-Type": "application/json"
           }
       }
   ```
   
   
6. 单击"测试"，配置测试事件。
7. 在测试事件的"事件模板"中选择"API网关服务（APIG专享版）"，根据实际情况修改后保存测试模板。
8. 单击"测试"。执行结果为"执行成功"时，表示测试成功。
**创建API**
1. 进入API网关控制台页面。
2. 根据实际业务在左侧导航栏上方选择实例，确保与创建的函数位于同一区域。
3. 在左侧导航栏选择"API管理 \> API列表"。
4. 单击"创建API \> 创建API"，根据下表参数说明，配置前端信息。 
   表3前端配置 
   | 参数    | 配置说明                                                                                                                                                                                                                  |
   |:---|:---|
   | API名称 | 根据规划自定义名称。建议您按照一定的命名规则填写名称，方便您快速识别和查找。                                                                                                                                                                                |
   | 所属分组  | API所属分组，此处默认"DEFAULT"。                                                                                                                                                                                                |
   | URL   | 请求方法：接口调用方式，默认"GET"。 请求协议：选择API请求协议，默认"HTTPS"。 子域名：API分组创建后，系统为分组自动分配一个内部测试用的调试域名，此调试域名每天最多可以访问1000次。 路径：接口请求路径。此处填写"/fg"。 |
   | 网关响应  | 网关响应配置用于定义API请求失败时的默认响应，建议根据业务需求进行调整。 此处默认为"default"。                                                                                                                                  |
   | 安全认证  | 选择API认证方式，此处选择"无认证"。**无认证模式，安全级别低，所有用户均可访问，不推荐在实际业务中使用。在实际业务中，建议使用更安全的认证方式，如APP认证或IAM认证等，以提高API的安全性。**                                                                                                                |
      
   
   
5. 前端设置完成后，单击"下一步"，进入后端设置页面。
6. 在后端配置页面，选择API的"后端服务类型"为"FunctionGraph"。
7. 根据下表配置说明，配置后端信息。 
   表4FunctionGraph类型后端服务配置 
   | 参数       | 配置说明                                                                 |
   |:---|:---|
   | 函数名      | 添加函数后，函数名自动生成。                                                       |
   | 函数URN    | 函数请求唯一标识。 单击"添加"，添加已创建的函数。             |
   | 版本或别名    | 选择函数的版本或别名，此处选择"通过版本选择 \> latest"。                                   |
   | 网络架构     | 选择函数网络架构，此处选择"V2"。                                                   |
   | 调用类型     | 选择函数的调用类型，可选择同步调用"Synchronous"和异步调用"Asynchronous"，此处选择"Synchronous"。 |
   | 后端超时(ms) | 后端服务请求的超时时间，可填写范围1ms\~60000ms，此处默认5000ms。                            |
      
   
   
8. 单击"完成"，完成创建API。创建完成后，检查API列表中是否出现新创建的API。

9. 在"API运行"页面，单击"调试"，调试已创建的API。再次单击"调试"。 
   响应结果中显示"200 OK"，表示API调用成功，否则，请参考[错误码](https://support.huaweicloud.com/usermanual-apig/apig_03_0048.html)章节处理。
   
   

10. 在"API运行"页面，单击"发布最新版本"发布API。 
    发布环境默认选择"RELEASE"环境，单击"确定"。 发布按钮左上角的感叹号消失，表示发布成功。
    
    
**调用API**
使用接口测试工具调用API，显示返回函数文本"Hello from FunctionGraph"，表示调用成功。
![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002428009576.png "点击放大")
