Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
'worker': function(context, data) {
// We expect the data argument to contain a 'line' property.
var batch = data['batch'];
// Batch should be an array.
var count = 0;
for (var i = 0; i < batch.length; i++) {
var line = batch[i];
// Just split to count words.
count += line.split(/\s+/).length;
}
// Create a pubsub client to publish the result
var pubsub = gcloud.pubsub({
// We're using the API from the same project as the Cloud Function.
projectId: process.env.GCP_PROJECT,
});
var outTopic = pubsub.topic(data['out-topic']);
logger.log('Worker ' + data['worker'] + ' reporting total count of ' +
count + ' in batch of size [' + batch.length + ']');
outTopic.publish({
data: {
count: count,
worker: data['worker']
}
}, function(err) {
if (err) {
context.failure(
'Topic not provided. Make sure you have a \'topic\' property in ' +
'your request');
return;
}
if (!message) {
context.failure(
'Message not provided. Make sure you have a \'message\' property ' +
'in your request');
return;
}
logger.log('Publishing message to topic ' + topicName);
// Create a pubsub client.
var pubsub = gcloud.pubsub({
// We're using the API from the same project as the Cloud Function.
projectId: process.env.GCP_PROJECT,
});
// The Pub/Sub topic must already exist.
var topic = pubsub.topic(topicName);
// Pub/Sub messages must be valid JSON objects.
topic.publish({
data: {
message: message,
},
},
function(err) {
if (err) {
logger.error(err);
// See the License for the specific language governing permissions and
// limitations under the License.
'use strict';
var async = require('async');
// [START auth]
// By default, gcloud will authenticate using the service account file specified
// by the GOOGLE_APPLICATION_CREDENTIALS environment variable and use the
// project specified by the GCLOUD_PROJECT environment variable. See
// https://googlecloudplatform.github.io/gcloud-node/#/docs/guides/authentication
var gcloud = require('gcloud');
// Get a reference to the pubsub component
var pubsub = gcloud.pubsub();
// [END auth]
// [START create_topic]
/**
* @param {string} topicName Name for the new topic.
* @param {Function} callback Callback function.
*/
function createTopicExample (topicName, callback) {
var topic = pubsub.topic(topicName);
// Get the topic if it exists. Create it if it does not exist.
topic.get({
autoCreate: true
}, function (err, topic, apiResponse) {
if (err) {
return callback(err);