Pipedream是一个面向开发者的集成平台。
Pipedream提供一个免费的托管平台,用于连接应用程序和开发事件驱动的自动化。该平台拥有超过1,000个完全集成的应用程序,因此您可以使用预构建的组件快速向Slack发送消息、向Google Sheets添加新行等。当您需要自定义逻辑时,还可以运行任何Node.js、Python、Golang或Bash代码。Pipedream已经展示了SOC 2合规性,并可以根据要求提供SOC 2 Type 2报告(请发送电子邮件至support@pipedream.com)。
这个仓库包含:
- 所有预构建集成组件的代码
- 产品路线图
- Pipedream文档
- 以及其他与Pipedream相关的源代码。
这个README
解释了平台的关键特性以及如何开始使用。
如需获取支持,请访问https://pipedream.com/support。
主要特性
- 工作流 - 工作流运行自动化。工作流是由事件(HTTP请求、定时器、当新行添加到Google Sheets等)触发的一系列步骤 - 预构建的操作或自定义的Node.js、Python、Golang或Bash代码。
- 事件源 - 源触发工作流。它们从GitHub、Slack、Airtable、RSS和更多服务中发出事件。当您希望在任何第三方应用中发生事件时运行工作流时,您就在使用事件源。
- 操作 - 操作是预构建的代码步骤,您可以在工作流中使用它们来执行Pipedream的1,000多个API集成中的常见操作。例如,您可以使用操作发送电子邮件、向Google Sheet添加行,等等。
- 自定义代码 - 大多数集成需要自定义逻辑。代码通常是表达该逻辑的最佳方式,因此Pipedream允许您运行任何Node.js、Python、Golang或Bash代码。您可以从这些语言的包管理器导入任何包,连接到任何Pipedream连接的应用程序,等等。Pipedream是最好的"低代码"方式:当您执行常见操作时可以使用预构建的组件,但在需要时可以编写自定义代码。
- 目标 - 异步地将事件传递到常见目标,如Amazon S3、Snowflake、HTTP和电子邮件。
- 免费 - 个人开发者无需付费(参见限制)
演示
点击下方图片在YouTube上观看简短演示。
工作流
工作流是由事件(如HTTP请求,或当新行添加到Google表格时)触发的线性步骤序列。您可以使用工作流快速开发复杂的自动化,并连接到我们1,000多个集成应用中的任何一个。
查看我们的工作流快速入门以开始使用。
事件源
事件源监视来自GitHub、Slack、Airtable、RSS和更多服务的新数据。当源找到新事件时,它会发出该事件,触发任何链接的工作流。
您还可以使用Pipedream的REST API或私有的实时SSE流来消费源发出的事件。
当预构建的源不适合您的用例时,您可以构建自己的源。这里是最简单的事件源:它暴露一个HTTP端点,您可以向其发送任何请求,并在调用时打印请求的内容:
export default {
name: "http",
version: "0.0.1",
props: {
http: "$.interface.http",
},
run(event) {
console.log(event); // event包含方法、载荷等。
},
};
您可以在components
目录中找到所有预构建源的代码。如果您发现错误或想贡献功能,请参阅我们的贡献指南。
操作
操作是预构建的代码步骤,您可以在工作流程中使用它们来执行Pipedream 500多个API集成的常见操作。例如,您可以使用操作发送电子邮件、向Google表格添加行,等等。
您可以创建自己的操作,并在工作流程中重复使用。您还可以将操作发布给整个Pipedream社区,让任何人都可以使用。
以下是一个接受name
作为输入并将其打印到工作流程日志的操作:
export default {
name: "Action Demo",
description: "这是一个演示操作",
key: "action_demo",
version: "0.0.1",
type: "action",
props: {
name: {
type: "string",
label: "姓名",
},
},
async run() {
return `你好 ${this.name}!`;
},
};
您可以在components
目录中找到所有预构建操作的代码。如果您发现错误或想贡献功能,请参阅我们的贡献指南。
自定义代码
大多数集成需要自定义逻辑。代码通常是表达该逻辑的最佳方式,因此Pipedream允许您使用以下方式在工作流程中运行自定义代码:
您可以通过在代码中直接声明导入来从语言的包管理器导入任何包。Pipedream将解析并下载必要的依赖项。
// Node.js
import axios from "axios";
# Python
import pandas as pd
// Go
import (
"fmt"
pd "github.com/PipedreamHQ/pipedream-go"
)
您还可以在自定义代码步骤中连接到任何Pipedream连接的应用程序。例如,您可以连接您的Slack帐户并向频道发送消息:
import { WebClient } from "@slack/web-api";
export default defineComponent({
props: {
// 这创建了一个名为"slack"的连接,连接到Slack帐户。
slack: {
type: "app",
app: "slack",
},
},
async run({ steps, $ }) {
const web = new WebClient(this.slack.$auth.oauth_access_token);
return await web.chat.postMessage({
text: "你好,世界!",
channel: "#general",
});
},
});
目标
目标,与操作类似,抽象了将事件发送到Amazon S3等服务或HTTP和电子邮件等目标所需的连接、批处理和传递逻辑。
例如,将数据发送到Amazon S3存储桶就像调用$send.s3()
一样简单:
$send.s3({
bucket: "你的存储桶名称",
prefix: "你的前缀/",
payload: event.body,
});
Pipedream支持以下目标:
贡献者
感谢所有为Pipedream代码库做出贡献的人。我们非常感谢您!
定价
Pipedream有一个慷慨的免费层。您可以在免费层的限制内免费运行源和工作流程。如果您达到这些限制,可以升级到我们的付费层之一。
限制
Pipedream平台对源和工作流程施加了一些运行时限制。在我们的文档中阅读更多相关信息。
发现错误?有功能建议?
在添加问题之前,请搜索现有问题或联系我们的团队,看看是否已经存在类似的请求。
如果问题已存在,请添加反应或添加评论详细说明您的具体用例。
如果问题尚不存在,而您需要创建一个,请使用问题模板。
安全
您可以在此处了解我们的平台安全和隐私政策。
如果您想报告可疑的漏洞或安全问题,或对产品安全有任何疑问,请通过security@pipedream.com联系我们的安全团队。