Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 28 additions & 24 deletions functions/node8/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
* Background Cloud Function that only executes within a certain time
* period after the triggering event to avoid infinite retry loops.
*
* @param {object} event The Cloud Functions event payload.
* @param {function} context Information about the event.
* @param {object} data The event payload.
* @param {object} context The event metadata.
*/
exports.avoidInfiniteRetries = (data, context) => {
const eventAge = Date.now() - Date.parse(context.timestamp);
Expand All @@ -41,8 +41,8 @@ exports.avoidInfiniteRetries = (data, context) => {
* Background Cloud Function that demonstrates
* how to toggle retries using a promise
*
* @param {object} data The Cloud Functions event payload.
* @param {function} context The Cloud Functions metadata.
* @param {object} data The event payload.
* @param {object} context The event metadata.
*/
exports.retryPromise = (data, context) => {
const tryAgain = !!data.retry;
Expand Down Expand Up @@ -72,31 +72,34 @@ exports.helloBackground = (data) => {
* This function is exported by index.js, and executed when
* the trigger topic receives a message.
*
* @param {object} data The Cloud Functions event payload.
* @param {object} context The Cloud Functions metadata.
* @param {object} data The event payload.
* @param {object} context The event metadata.
*/
exports.helloPubSub = (data) => {
const name = data.data ? Buffer.from(data.data, 'base64').toString() : 'World';

console.log(`Hello, ${name}!`);
exports.helloPubSub = (data, context) => {
const pubSubMessage = data;
const name = pubSubMessage.data ? Buffer.from(pubSubMessage.data, 'base64').toString() : 'World';

console.log(`Hello, ${name}!`);
};
// [END functions_helloworld_pubsub_node8]

// [START functions_helloworld_storage_node8]
/**
* Background Cloud Function to be triggered by Cloud Storage.
*
* @param {object} data The Cloud Functions event payload.
* @param {object} data The event payload.
* @param {object} context The event metadata.
*/
exports.helloGCS = (data) => {
if (data.resourceState === 'not_exists') {
console.log(`File ${data.name} deleted.`);
} else if (data.metageneration === '1') {
exports.helloGCS = (data, context) => {
const file = data;
if (file.resourceState === 'not_exists') {
console.log(`File ${file.name} deleted.`);
} else if (file.metageneration === '1') {
// metageneration attribute is updated on metadata changes.
// on create value is 1
console.log(`File ${data.name} uploaded.`);
console.log(`File ${file.name} uploaded.`);
} else {
console.log(`File ${data.name} metadata updated.`);
console.log(`File ${file.name} metadata updated.`);
}
};
// [END functions_helloworld_storage_node8]
Expand All @@ -105,16 +108,17 @@ exports.helloGCS = (data) => {
/**
* Generic background Cloud Function to be triggered by Cloud Storage.
*
* @param {object} data The Cloud Functions event payload.
* @param {object} context The Cloud Functions event metadata.
* @param {object} data The event payload.
* @param {object} context The event metadata.
*/
exports.helloGCSGeneric = (data, context) => {
const file = data;
console.log(` Event ${context.eventId}`);
console.log(` Event Type: ${context.eventType}`);
console.log(` Bucket: ${data.bucket}`);
console.log(` File: ${data.name}`);
console.log(` Metageneration: ${data.metageneration}`);
console.log(` Created: ${data.timeCreated}`);
console.log(` Updated: ${data.updated}`);
console.log(` Bucket: ${file.bucket}`);
console.log(` File: ${file.name}`);
console.log(` Metageneration: ${file.metageneration}`);
console.log(` Created: ${file.timeCreated}`);
console.log(` Updated: ${file.updated}`);
};
// [END functions_helloworld_storage_generic_node8]