CloudQuery SDK:用SQL查询任何内容

2021-04-07 08:30:57

我们在去年年底发布了CloudQuery,为开发人员,SRES和Security工程师提供更好,开源的替代品,以获得深入的可视性,以获得他们的云基础架构。我们使用SQL作为查询和策略引擎的决策,因此开发人员赢得了一些决定我需要学习另一个查询或策略引擎!

CloudQuery在5个月内增长超过1.3千千升!这使我们开发了更好,更简单的方式来扩展CloudQuery与新的资源和海关提供商。

到目前为止,为CloudQuery为CloudQuery添加了对CloudQuery所需的开发人员来实现ET(在ETL - Extract,Transform,Change)中的支持。

现在,CloudQuery SDK意味着您作为开发人员只需要实现E(在ETL中),并且SDK将照顾休息。您将从易于测试的代码中受益,历史,策略包等的新功能随着SDK的发展,您的提供商将从框中开出来。

CloudQuery有一个可插拔的架构,正在使用Go-Plugin加载,运行和通过GRPC在提供商之间进行通信。要为CloudQuery开发新提供程序,您无需了解内部工作原理Go-Plugin,因为那些被抽象的CQ- Provider-SDK。

这是AWS资源实现如何与新SDK的片段

func ec2flowlogs()*架构。表{返回&架构。表{name:" aws_ec2_flow_logs" ,解析器:fetchec2flowlogs,multiplex:client。 AccountRegionMultiplex,IgnoreError:客户。 IgnoreAccessdeniedServicedisabled,Deletefilter:客户端。 deleteaccountregionfilter,列:[]架构。列{{名:" account_id" ,键入:架构。 typestring,解析器:客户端。 Resolveawsaccount,},{名:"地区" ,键入:架构。 typestring,解析器:客户端。 ResolveaWsregion,},{名:"创意_time" ,键入:架构。 typetimestamp,},{name:" telpt_logs_error_message" ,键入:架构。 typeString,},{名:" revist_logs_permission_arn" ,键入:架构。 Funcc fetchec2flowlogs(CTX上下文。上下文,元模式。ClientMeta,Parent * Schema。资源,Res Chan接口{})错误{var Config EC2。 disclueflowlogsinput c:= meta。 (*客户端。客户)SVC:= C。服务 ( ) 。 EC2 for {output,err:= svc。 DisclowLowlogs(CTX,& config,func(选项* ec2.选项){选项。区域= c。区域})如果err!= nil {return err} res<输出。流程,如果aws。 ToString(输出。NextToken)=="" {break}配置。 nextToken =输出。 NextToken}返回nil}

定义SQL表的样子和CloudQuery如何通过默认的命名约定(您可以覆盖)自动从第三方SDK结构中获取数据 通过第三方SDK实现提取部分提取数据的提取部分(在此情况下AWS SDK)。 更多提供商,集成和功能即将到来!订阅我们的邮件列表以获取更新,并在我们的GitHub上点击该星形按钮!