On-demand cloud computing platforms and APIs
Creates a Step Function State Machine to publish a message to an SNS topic at a specific timestamp. The SNS topic delivers the message to this Pipedream source, and the source emits it as a new event.
Creates an SNS topic in your AWS account. Messages published to this topic are emitted from the Pipedream source.
The source subscribes to all emails delivered to a specific domain configured in AWS SES. When an email is sent to any address at the domain, this event source emits that email as a formatted event. These events can trigger a Pipedream workflow and can be consumed via SSE or REST API.
Emit an event for each new or modified record in a table
Emit an event for each new or modified record in a view
Create one or more records in a table by passing an array of objects containing field names and values as key/value pairs.
Retrieve records from a table with automatic pagination. Optionally sort and filter results.
Retrieve records in a view with automatic pagination. Optionally sort and filter results.
You can use the AWS API to build a variety of applications and services. Here
are some examples:
module.exports = defineComponent({
props: {
aws: {
type: "app",
app: "aws",
}
},
async run({steps, $}) {
const AWS = require("aws-sdk")
const { accessKeyId, secretAccessKey } = this.aws.$auth
/* Now, pass the accessKeyId and secretAccessKey to the constructor for your desired service. For example:
const dynamodb = new AWS.DynamoDB({
accessKeyId,
secretAccessKey,
region: 'us-east-1',
})
*/
},
})
Using the Airtable API, you can build applications that can:
module.exports = defineComponent({
props: {
airtable: {
type: "app",
app: "airtable",
},
baseId: {
type: "$.airtable.baseId",
appProp: "airtable",
},
tableId: {
type: "$.airtable.tableId",
baseIdProp: "baseId",
},
},
async run({steps, $}) {
const Airtable = require('airtable');
const base = new Airtable({apiKey: this.airtable.$auth.api_key}).base(this.baseId);
const data = []
await base(this.tableId).select({
// pass optional config parameters here
}).eachPage(function page(records, fetchNextPage) {
// This function (`page`) will get called for each page of records.
records.forEach(function(record) {
data.push(record._rawJson)
});
// To fetch the next page of records, call `fetchNextPage`.
// If there are more records, `page` will get called again.
// If there are no more records, `done` will get called.
fetchNextPage();
})
return data
},
})