将Twilio连接到Redshift的2种简单方法

181 阅读14分钟

将Twilio连接到Redshift:2种简单方法

Twilio 为企业提供了一个使用多个API与客户沟通的平台。它存储了客户在各种渠道的所有活动记录,如信息、音频、文本、WhatsApp、电话等。虽然Twilio将所有客户信息保存在一个地方,但将信息转移到 亚马逊Redshift 等数据仓库可用于进一步分析。由于Redshift持有来自不同来源的数据,它成为Twilio中存在的数据的理想集中存储库。你可以使用标准API或第三方ETL(提取、加载和转换)工具将你的Twilio连接到亚马逊Redshift。

在这篇文章中,你将学习如何使用API和Twilio Studio将 Twilio 连接 到Redshift 。它还讨论了一种用于连接Twilio和Redshift的自动化方法。除此之外,它还简要介绍了Twilio和Redshift。

目录

前提条件

对集成的基本了解

什么是Twilio?

Twilio开发于2008年,是一个客户参与平台,许多企业用它来建立独特的、个性化的客户体验。Twilio被用来使聊天、视频、短信、电子邮件、语音等渠道民主化,使用API在客户喜欢的媒体上建立客户互动关系。Twilio现在与世界领先的客户数据平台Segment相关联,该平台使企业能够实时获取第一方客户数据并进行分析。

Twilio是一个客户参与平台,被全球数十万家企业和一千多万名开发者用来创造独特的、个性化的客户体验。

它因使用API使语音、文本、聊天、视频和电子邮件等渠道民主化而闻名,使任何公司都能在客户喜欢的渠道上与他们创造有意义的互动。

Twilio Frontline是一个可编程的移动应用,通过信息和语音实现数字关系,提高销售效率和结果。通过将该应用与任何CRM或客户数据库集成,开始与客户建立有意义的关系。
Twilio提供完整的基于电话的通信解决方案。Twilio已经被超过一百万的开发者和领先品牌使用,以创建创新的通信解决方案。Twilio通信API允许网络和移动应用进行语音、信息和视频对话。这使开发者更容易在不同的应用程序之间进行沟通。

Twilio的主要特点

  • 可靠的连接。Twilio使企业能够提供与客户、合作伙伴和员工的无缝连接。它提供令人难以置信的可靠性,达到最高99.95%的正常运行时间SLA。
  • 成本效益高。Twilio为不同的通信API提供了一个现收现付的定价方案。因此,企业只需为他们正在使用的服务付费。因此,Twilio是一个具有成本效益的平台,使企业能够控制他们的通信预算。

什么是亚马逊Redshift?

亚马逊Redshift开发于2012年10月,是一个流行的、可靠的、完全可扩展的仓储服务。它帮助企业管理百万亿字节的数据,并运行复杂的分析查询,而不必担心管理任务。由于亚马逊Redshift是一个完全可扩展的数据仓库,所有的管理任务,如内存管理、资源分配和配置管理都是自动处理的。

你可以通过一组称为亚马逊集群的节点开始使用亚马逊Redshift。亚马逊集群可以通过亚马逊命令行界面或Redshift控制台来管理。你也可以通过利用亚马逊Redshift查询API或AWS软件开发工具包,以编程方式管理集群。

对于存储和分析大型数据集,亚马逊Redshift是一个完全管理的PB级云数据仓库。亚马逊Redshift处理大量数据的能力--它可以处理高达exabytes的非结构化和结构化数据--是其关键优势之一。

亚马逊Redshift的主要特点

  • ANSI SQL。Amazon Redshift基于ANSI-SQL,使用行业标准的ODBC和JDBC连接,使您可以使用现有的SQL客户端和BI工具。通过ANSI SQL,用户可以无缝查询CSV、JSON、ORC、Avro、Parquet等文件。
  • 容错性。容错性是指即使某些组件出现故障,系统也能正常工作。亚马逊Redshift持续监控你的集群的健康状况,使你的数据仓库集群更具容错性。
  • 强大的安全性。Amazon Redshift允许用户在不增加成本的情况下保护数据仓库的安全。通过Amazon Redshift,你可以配置防火墙来控制与特定数据仓库集群的网络访问。Redshift使你能够训练列和行级的安全控制,以确保用户只能查看有授权访问的数据。它还包括其他功能,如端到端加密、网络隔离、标记化和审计以提供可靠性。
  • 结果缓存:Amazon Redshift的结果缓存功能可以为重复查询提供亚秒级的响应时间。每当在Amazon Redshift中执行查询时,它可以搜索缓存以获得以前查询的任何搜索结果。
  • 快速的性能。由于亚马逊Redshift具有大规模并行处理、列式数据存储、结果缓存、数据压缩、查询优化器和编译代码等功能,因此提供了快速的性能。

探索这些方法来连接Twilio和亚马逊Redshift

Twilio提供了一种简单的方法,可以让你的公司在电话世界中起步,它可以帮助你的公司避免许多传统的复杂问题。通过常见的互联网协议和简单的标记与Twilio互动,开发人员可以迅速获得全球连接。亚马逊Redshift提供了快如闪电的性能和可扩展的数据处理解决方案。Redshift还提供了一些数据分析工具,以及合规功能,还有人工智能和机器学习应用。

整合后,将数据从Twilio转移到亚马逊Redshift可以解决企业的一些最大数据问题。在这篇文章中,将讨论实现这一目标的两种方法。

方法1:使用Hevo Data连接Twilio和Redshift

Hevo Data,一个自动数据管道,为你提供了一个无忧无虑的解决方案,在几分钟内通过一个易于使用的无代码界面将 Twilio连接到Redshift。Hevo是完全管理的,完全自动地将数据从Twilio加载到Amazon Redshift,并丰富数据,将其转化为可分析的形式,而无需编写一行代码。

方法2:使用自定义代码将数据从Twilio转移到Redshift

这种方法实施起来会很费时,而且有些繁琐。用户将不得不编写自定义代码来启用两个进程,将数据从Twilio流向Redshift。这种方法适合于有技术背景的用户。

将Twilio连接到Redshift

方法1:使用Hevo数据连接Twilio到Redshift

Hevo提供了一个自动化的无代码数据管道,帮助你将 Twilio迅速转移到Redshift。Hevo是完全管理的,不仅可以从你的 100多个数据源(包括40多个免费的数据源)加载数据,还可以丰富数据并将其转化为可分析的形式,而无需编写一行代码。它的容错架构确保了数据以安全、一致的方式处理,并且没有数据损失。

使用Hevo Data,你可以通过以下2个步骤将Twilio连接到Amazon Redshift。

  • 第1步:按照下面的步骤,将Twilio配置为管道中的源。

    • 步骤1.1:在资产调色板中,选择PIPELINES
    • 步骤1.2:在 管道列表 视图中,点击**+CREATE。**
    • 步骤1.3:在选择 源类型页面选择Twilio
    • 第1.4步:在Configure yourTwilio Source页面中设置以下内容。
      • 管线名称。一个管道的名称,是唯一的,不超过255个字符。
      • API SID:你的API密钥的字符串标识符(SID)
      • API Secret: 您的API密钥的秘密,从您的Twilio账户中获取。
    • 历史同步持续时间。历史数据与目的地同步所需的时间。1年是默认值。
  • 第1.5步TEST & CONTINUE是要点击的按钮。

  • 第1.6步:设置目的地并配置数据摄取。

  • 第2步:要把Amazon Redshift设置为Hevo中的目的地,请遵循以下步骤。

    • 步骤2.1。在 资产调色板中,选择DESTINATIONS
    • 步骤2.2。在目的地列表 视图中,点击**+CREATE**。
    • 步骤2.3:在添加目的地页面中选择 Amazon Redshift
    • 第2.4步:在Configure your Amazon Redshift Destination页面中设置以下参数。
      • 目的地名称。为你的目的地取一个独特的名字。
      • 数据库集群标识符。Amazon Redshift主机的IP地址或DNS。
      • 数据库端口:您的Amazon Redshift服务器监听连接的端口。默认值:5439
      • 数据库用户:在Redshift数据库中具有非管理角色的用户。
      • 数据库密码:该用户的密码。
      • 数据库名称。将加载数据的目标数据库的名称。
      • 数据库模式。目的地数据库模式的名称。默认值:公共。
  • 步骤2.5:点击测试连接,测试与亚马逊Redshift仓库的连接。

  • 步骤2.6:一旦测试成功,点击SAVE DESTINATION

以下是尝试Hevo的更多理由。

  • 顺畅的模式管理。Hevo消除了繁琐的模式管理任务,自动检测传入数据的模式,并将其映射到所需数据仓库的模式中。
  • 卓越的数据转换。一流的本地支持,让复杂的数据转换触手可及。代码和无代码的灵活性是为所有人设计的。
  • 快速设置。Hevo具有自动化功能,可以在最短的时间内完成设置。此外,凭借其简单和互动的用户界面,它对新客户的工作和执行操作是非常容易的。
  • 可扩展性。随着数据源的数量和你的数据量的增长,Hevo可以横向扩展,每分钟处理数百万条记录,而且延迟非常小。
  • 实时支持。Hevo团队通过聊天,电子邮件和支持电话24小时为客户提供特殊支持。

方法2:使用自定义代码将数据从Twilio转移到Redshift

你可以使用Twilio APIs、Twilio Studio和第三方ETL工具将Twilio连接到Amazon Redshift。在这篇文章中,你将学习如何通过导出和导入Twilio到Redshift来连接Twilio和Redshift。

导出Twilio数据

你可以通过两种方式导出Twilio数据 - 通过使用API和Twilio Studio导出Twilio数据。

使用API导出Twilio数据

BulkExport是Twilio的一个新功能,允许你访问和下载包含所有传入和传出信息记录的文件。

使用BulkExport,你可以。

  • 连接到一个由你所有信息的状态组成的数据仓库。
  • 检查你的消息的状态,而不用回到Twilio的API。

你可以通过BulkExport文件获得你所有消息的最终状态。BulkExport允许你获得一个压缩的JSON 文件,其中包含你在某一天发送或接收的每条消息的记录。

当你启用BulkExport时,你可以每天下载一个文件,包括前一天的信息。

批量导出对以下方面很有用。

  • 检查你的信息的发送状态。
  • 将信息数据加载到一个数据存储中。
  • 检查有多少信息被发送和接收。
  • 归档你的活动。

当你得到BulkExport文件时,你可以查看消息,并将它们加载到另一个系统。你必须从Twilio的API中获取结果文件来使用这些消息。

下面的代码是一个BulkExportJSON块的例子。

{
  "date_updated": "2017-08-03T03:57:34Z",
  "date_sent": "2017-08-03T03:57:33Z",
  "date_created": "2017-08-03T03:57:32Z",
  "body": "Sent from your Twilio trial account - woot woot!!!!",
  "num_segments": 1,
  "sid": "SMandtherestofthemessagesid",
  "num_media": 0,
  "messaging_service_sid": "MGandtherestofthemessagesid",
  "account_sid": "ACandtherestoftheaccountsid",
  "from": "+14155551212",
  "error_code": null,
  "to": "+14155552389",
  "status": "delivered",
  "direction": "outbound-api"
}

// a lot of other messages

你可以阅读更多关于BulkExport的信息。

使用Twilio Studio导出Twilio数据

你可以使用Twilio Studio按照以下步骤导出Twilio数据。

  • 创建一个流程

Twilio Studio的第一步是创建一个流程,代表你想为你的项目建立的工作流程。

按照下面的步骤来创建一个流程。

  • Twilio控制台中登录你的Twilio账户。

  • 转到Studio Flows部分

  • 点击创建新流程。如果你之前已经创建过一个流程,你可以看到下面的窗口。点击 "+"号来创建一个新的流程。

  • 给你的流程 取个名字,然后点击 下一步。

  • 命名你的流程后,你可以看到你可以使用的模板列表。你也可以从一个空的模板开始,点击从头开始选项,然后点击下一步。

  • 创建流程后,你需要制作流程的画布,在这里你可以为你的项目建立其余的逻辑。你可以按照视频教程来浏览和理解Flow的Canvas。

  • 管理完Canvas后,你可以使用Widgets,它被称为 Twilio Studio的构建块。Widgets允许你处理传入的行动,并通过执行诸如发送消息、拨打电话、捕捉信息等任务立即做出反应。你可以通过视频教程阅读更多内容并实现工作中的Widget。

导入数据到亚马逊Redshift

有几种方法可以将数据导入到Amazon Redshift。

  • 使用COPY命令将数据导入到Amazon Redshift。
  • 使用 ETL工具将数据导入到Amazon Redshift。
  • 使用AWS Data Pipeline将数据导入到Amazon Redshift**。**
  • 使用Amazon S3 将数据导入到Amazon Redshift**。**

COPY命令指定了必须获取数据的文件的位置。它也被用来用文件位置的列表来表现文件。这些文件可以是多种格式,如CSVJSON、Avro等。

在本教程中,你将学习如何使用Amazon S3将数据(.csv文件)加载到Amazon Redshift。这个过程包括两个步骤。将csv文件加载到S3桶,然后将csv文件从Amazon S3加载到Amazon Redshift。

按照以下步骤,将csv 文件加载到Amazon Redshift。

  • 导航到你想导入Amazon Redshift的csv文件,将其加载到Amazon S3桶中,并压缩该文件。
  • 当文件在S3桶中时,你可以使用COPY命令将其加载到所需的表中。
COPY <schema-name>.<table-name> (<ordered-list-of-columns>) FROM '<manifest-file-s3-url>' 

CREDENTIALS'aws_access_key_id=<key>;aws_secret_access_key=<secret-key>' GZIP MANIFEST;
  • 你必须在COPY命令中使用**'csv'**关键字来使Amazon Redshift识别文件格式,如下图所示。
COPY table_name (col1, col2, col3, col4)
FROM 's3://<your-bucket-name>/load/file_name.csv'
credentials 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>'
CSV;

-- Ignore the first line
COPY table_name (col1, col2, col3, col4)
FROM 's3://<your-bucket-name>/load/file_name.csv'
credentials 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>'
CSV
INGOREHEADER 1;

使用自定义代码将数据从Twilio转移到Redshift的局限性

虽然使用API可能看起来是一个毫不费力的任务,将Twilio导出到Redshift,但它需要更多的时间和技术专家。此外,你也可以使用Twilio Studio手动导出Twilio到Redshift,但它不能处理实时数据。因此,为了消除这些问题,你可以使用第三方ETL工具,如Hevo,它提供了Twilio和Amazon Redshift之间的无缝和自主整合。

总结

在这篇文章中,你学到了如何将Twilio连接到Redshift。Twillio允许组织通过使用几个API与他们的客户沟通,提供互动和个性化的沟通。企业还可以将他们的活动数据导出到亚马逊Redshift、Snowflake等,以了解和优化他们的业务运营,同时联系客户。