文档首页 > > SQL语法参考> 流作业SQL语法> 创建输出流> APIG输出流

APIG输出流

分享
更新时间: 2020/05/12 GMT+08:00

功能描述

DLI将Flink作业的输出数据输出到API网关服务的开放API中,用户通过API网关服务的调用API方式访问数据。API网关(API Gateway)是为开发者、合作伙伴提供的高性能、高可用、高安全的API托管服务,帮助用户轻松构建、管理和部署任意规模的API。借助API网关,可以简单、快速、低成本、低风险地实现系统集成、微服务聚合、Serverless架构。API网关服务的更多信息,请参见《API网关服务用户指南(调用API)》

前提条件

请务必确保您的账户下已在API网关服务创建了应用-。如何创建调用API的应用请参考《API网关服务用户指南(调用API)》“创建应用”章节。

语法格式

1
2
3
4
5
6
7
8
CREATE SINK STREAM stream_id (attr_name attr_type (',' attr_name attr_type)* )
  WITH (
    type = "apig",
    region = "",
    app_id= "",
    encode= "",
    field_delimiter= ""
  );

关键字

表1 关键字说明

参数

是否必选

说明

type

输出通道类型,apig表示输出到API网关服务。

region

数据所在的API网关所在区域。

app_id

调用API的应用ID。

encode

数据编码格式,可选为“csv”“json”

说明:
  • 若编码格式为“csv”,则需配置字段分隔符。
  • 若编码格式为“json”,则需配置是否输出空字段,具体见示例。

field_delimiter

属性分隔符。

  • 当编码格式为csv时,需要设置属性分隔符,用户可以自定义,如:
  • 当编码格式为json时,则不需要设置属性之间的分隔符。

json_config

当编码格式为json时,用户可以通过该参数来指定json字段和流定义字段的映射关系,格式为“field1=data_json.field1; field2=data_json.field2”。

注意事项

无。

示例

  • CSV编码格式:数据输出到API网关,使用csv编码,并且以逗号为分隔符。数据输出示例:"ZJA710XC", "lilei", "BMW", 700000。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    CREATE SINK STREAM audi_cheaper_than_30w (
      car_id STRING,
      car_owner STRING,
      car_brand STRING,
      car_price INT
    )
      WITH (
        type = "apig",
        app_id = "xxxxxxxxxx",
        region = "cn-north-1" ,
        encode = "csv",
        field_delimiter = ","
      ); 
    
  • JSON编码格式:数据输出到API网关,使用json编码。“enableOutputNull”“true”表示输出空字段(值为null),若为“false”表示不输出空字段。数据示例:"car_id ":"ZJA710XC", "car_owner ":"lilei", "car_brand ":"BMW", "car_price ":700000。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    CREATE SINK STREAM audi_cheaper_than_30w (
      car_id STRING,
      car_owner STRING,
      car_brand STRING,
      car_price INT
    )
      WITH (
        type = "apig",
        app_id = "6ac32a6596614bf69fb5c5553f26963f",
        region = "cn-north-1" ,
        encode = "json",
        enable_output_null = "false"
     );
    
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问