The Google Cloud Platform, including BigQuery
The Google Cloud API opens a world of possibilities for enhancing cloud operations and automating tasks. It empowers you to manage, scale, and fine-tune various services within the Google Cloud Platform (GCP) programmatically. With Pipedream, you can harness this power to create intricate workflows, trigger cloud functions based on events from other apps, manage resources, and analyze data, all in a serverless environment. The ability to interconnect GCP services with numerous other apps enriches automation, making it easier to synchronize data, streamline development workflows, and deploy applications efficiently.
module.exports = defineComponent({
props: {
google_cloud: {
type: "app",
app: "google_cloud",
}
},
async run({steps, $}) {
// Required workaround to get the @google-cloud/storage package
// working correctly on Pipedream
require("@dylburger/umask")()
const { Storage } = require('@google-cloud/storage')
const key = JSON.parse(this.google_cloud.$auth.key_json)
// Creates a client from a Google service account key.
// See https://cloud.google.com/nodejs/docs/reference/storage/1.6.x/global#ClientConfig
const storage = new Storage({
projectId: key.project_id,
credentials: {
client_email: key.client_email,
private_key: key.private_key,
}
})
// Uncomment this section and rename for your bucket before running this code
// const bucketName = 'pipedream-test-bucket';
await storage.createBucket(bucketName)
console.log(`Bucket ${bucketName} created.`)
},
})
The Digital Ocean API provides programmatic access to manage Digital Ocean resources such as Droplets, Spaces, and Databases. With Pipedream, you can harness this API to automate a variety of tasks, like spinning up new servers, scaling resources, or integrating cloud infrastructure management into your workflow. It's a powerful tool for DevOps automation, allowing for the dynamic management of infrastructure in response to events or schedules.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
digital_ocean: {
type: "app",
app: "digital_ocean",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.digitalocean.com/v2/account`,
headers: {
Authorization: `Bearer ${this.digital_ocean.$auth.oauth_access_token}`,
},
})
},
})