with Google Cloud and Neon?
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)
const storage = new Storage({
projectId: key.project_id,
credentials: {
client_email: key.client_email,
private_key: key.private_key,
}
})
await storage.authClient.getCredentials()
return {
status: "success",
authenticated: true,
projectId: key.project_id,
serviceAccount: key.client_email
}
},
})
The Neon API provides powerful interaction with Neon's infrastructure, which includes secure handling of API keys and other sensitive data. On Pipedream, you can leverage these capabilities to automate workflows around key management, data security, and infrastructure scaling. By connecting the Neon API with other services and apps, you can create automatic processes for issuing, rotating, and monitoring API keys, ensuring your applications maintain robust security and compliance without manual oversight.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
neon_api_keys: {
type: "app",
app: "neon_api_keys",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://console.neon.tech/api/v2/projects`,
headers: {
Authorization: `Bearer ${this.neon_api_keys.$auth.api_key}`,
"Accept": `application/json`,
"Content-Type": `application/json`,
},
})
},
})