with Shorten.REST and Cloudflare R2?
Shortens a given long URL into an alias. If the alias name is not provided, the system generates one. If the domain input is not provided, it defaults to short.fyi. See the documentation
Shorten.REST API on Pipedream allows you to automate URL shortening, expanding, and tracking within your custom workflows. With this API, you can create short, branded links programmatically, obtain detailed analytics on click-throughs, and manage your URLs efficiently, all within Pipedream's serverless platform. This enables seamless integration of URL management into your applications, marketing campaigns, or day-to-day tasks while leveraging various triggers and actions from other apps available on Pipedream.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
shorten_rest: {
type: "app",
app: "shorten_rest",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.shorten.rest/clicks`,
headers: {
"Content-Type": `application/json`,
"x-api-key": `${this.shorten_rest.$auth.api_key}`,
},
})
},
})
The Cloudflare R2 API lets you interact with Cloudflare's object storage service, providing a cost-effective way to store large amounts of data with no egress fees. On Pipedream, you can harness this API to build automated workflows that can store, retrieve, and manage data within your R2 buckets. By combining Cloudflare R2 with Pipedream’s capabilities, you can create serverless workflows that trigger on various events, process data in-flight, and integrate with over 800+ apps available on the platform.
import { S3 } from "@aws-sdk/client-s3";
import { ListBucketsCommand } from "@aws-sdk/client-s3";
export default defineComponent({
props: {
cloudflare_r2: {
type: "app",
app: "cloudflare_r2",
}
},
async run({ steps, $ }) {
const cloudflare_r2 = {
account_id: this.cloudflare_r2.$auth.account_id
};
const s3Client = new S3({
forcePathStyle: false,
endpoint: `https://${cloudflare_r2.account_id}.r2.cloudflarestorage.com`,
region: "auto",
credentials: {
accessKeyId: this.cloudflare_r2.$auth.access_key_id,
secretAccessKey: this.cloudflare_r2.$auth.access_key_secret
}
});
const data = await s3Client.send(new ListBucketsCommand({}));
return data.Buckets;
}
}
)