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.`)
},
})
Google Cloud uses API keys for authentication. When you connect your Google Cloud account, Pipedream securely stores the keys so you can easily authenticate to Google Cloud APIs in both code and no-code steps.
When you create a service account in GCP, you'll be asked to generate a service account key. Create that key and download the key details in JSON format.
Open the key JSON in a text editor, then copy and paste its contents here.