# Google Cloud Platform Go Samples [![Kokoro Build Status][kokoro_badge]][kokoro_link] This repository holds sample code written in Go that demonstrates the Google Cloud Platform. Some samples have accompanying guides on [cloud.google.com](https://cloud.google.com). See respective README files for details. ## Contributing changes. Entirely new samples are not accepted. Bug fixes are welcome, either as pull requests or as GitHub issues. See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute. ## Licensing Code in this repository is licensed under the Apache 2.0. See [LICENSE](LICENSE). <!--- go list -f '|[{{.Dir}}]({{.Dir}})|{{.Doc}}|' ./... | egrep -v '/(internal|docs/appengine)/' | sed -e "s^$PWD/^^g" >> README.md ---> ## Index Note: samples under `docs/appengine` are not shown because they mostly do not run, they are just code snippets. ### Getting Started |Path|Description| |---|---| |[getting-started/bookshelf](getting-started/bookshelf)|Package bookshelf contains the bookshelf database and app configuration, shared by the main app module and the worker module.| |[getting-started/bookshelf/app](getting-started/bookshelf/app)|Sample bookshelf is a fully-featured app demonstrating several Google Cloud APIs, including Datastore, Cloud SQL, Cloud Storage.| |[getting-started/bookshelf/pubsub_worker](getting-started/bookshelf/pubsub_worker)|Sample pubsub_worker demonstrates the use of the Cloud Pub/Sub API to communicate between two modules.| |[getting-started/helloworld](getting-started/helloworld)|Sample helloworld is a basic App Engine flexible app.| ### Logging and Monitoring (Stackdriver) |Path|Description| |---|---| |[docs/error-reporting/fluent](docs/error-reporting/fluent)|Sample fluent demonstrates integration of fluent and Cloud Error reporting.| |[docs/sql/listinstances](docs/sql/listinstances)|Sample listinstances lists the Cloud SQL instances for a given project ID.| |[docs/storage/listbuckets](docs/storage/listbuckets)|Command listbuckets lists the Google Cloud buckets for a given project ID.| |[logging/simplelog](logging/simplelog)|Sample simplelog writes some entries, lists them, then deletes the log.| |[monitoring/custommetric](monitoring/custommetric)|Command custommetric creates a custom metric and writes TimeSeries value to it.| |[monitoring/listresources](monitoring/listresources)|Command listresources lists the Google Cloud Monitoring v3 Environment against an authenticated user.| ### Compute |Path|Description| |---|---| |[appengine/bigquery](appengine/bigquery)|This App Engine application uses its default service account to list all the BigQuery datasets accessible via the BigQuery REST API.| |[appengine_flexible/analytics](appengine_flexible/analytics)|Sample analytics demonstrates Google Analytics calls from App Engine flexible environment.| |[appengine_flexible/cloudsql](appengine_flexible/cloudsql)|Sample cloudsql demonstrates usage of Cloud SQL for MySQL from App Engine flexible environment.| |[appengine_flexible/cloudsql_postgres](appengine_flexible/cloudsql_postgres)|Sample cloudsql_postgres demonstrates usage of Cloud SQL for PostgreSQL from App Engine flexible environment.| |[appengine_flexible/datastore](appengine_flexible/datastore)|Sample datastore demonstrates use of the cloud.google.com/go/datastore package from App Engine flexible.| |[appengine_flexible/endpoints](appengine_flexible/endpoints)|Sample endpoints demonstrates a Cloud Endpoints API.| |[appengine_flexible/endpoints/client](appengine_flexible/endpoints/client)|Command client performs authenticated requests against an Endpoints API server.| |[appengine_flexible/helloworld](appengine_flexible/helloworld)|Sample helloworld is a basic App Engine flexible app.| |[appengine_flexible/mailgun](appengine_flexible/mailgun)|Sample mailgun is a demonstration on sending an e-mail from App Engine flexible environment.| |[appengine_flexible/mailjet](appengine_flexible/mailjet)|Sample mailjet is a demonstration on sending an e-mail from App Engine flexible environment.| |[appengine_flexible/memcache](appengine_flexible/memcache)|Sample memcache demonstrates use of a memcached client from App Engine flexible environment.| |[appengine_flexible/pubsub](appengine_flexible/pubsub)|Sample pubsub demonstrates use of the cloud.google.com/go/pubsub package from App Engine flexible environment.| |[appengine_flexible/sendgrid](appengine_flexible/sendgrid)|Sample sendgrid is a demonstration on sending an e-mail from App Engine flexible environment.| |[appengine_flexible/static_files](appengine_flexible/static_files)|Package static demonstrates a static file handler for App Engine flexible environment.| |[appengine_flexible/storage](appengine_flexible/storage)|Sample storage demonstrates use of the cloud.google.com/go/storage package from App Engine flexible environment.| |[appengine_flexible/tiny](appengine_flexible/tiny)|Sample tiny demonstrates overall program structure: a main package with a main function that calls appengine.Main.| |[appengine_flexible/twilio](appengine_flexible/twilio)|Sample twilio demonstrates sending and receiving SMS, receiving calls via Twilio from App Engine flexible environment.| ### Storage |Path|Description| |---|---| |[datastore/tasks](datastore/tasks)|A simple command-line task list manager to demonstrate using the cloud.google.com/go/datastore package.| |[storage/buckets](storage/buckets)|Sample buckets creates a bucket, lists buckets and deletes a bucket using the Google Storage API.| ### Big Data |Path|Description| |---|---| |[bigquery/syncquery](bigquery/syncquery)|Command syncquery queries a Google BigQuery dataset.| |[pubsub/subscriptions](pubsub/subscriptions)|Command subscriptions is a tool to manage Google Cloud Pub/Sub subscriptions by using the Pub/Sub API.| |[pubsub/topics](pubsub/topics)|Command topics is a tool to manage Google Cloud Pub/Sub topics by using the Pub/Sub API.| ### Machine Learning |Path|Description| |---|---| |[language/analyze](language/analyze)|Command analyze performs sentiment, entity, and syntax analysis on a string of text via the Cloud Natural Language API.| |[speech/caption](speech/caption)|Command caption reads an audio file and outputs the transcript for it.| |[speech/captionasync](speech/captionasync)|Command captionasync reads an audio file and outputs the transcript for it.| |[speech/livecaption](speech/livecaption)|Command livecaption pipes the stdin audio data to Google Speech API and outputs the transcript.| |[speech/wordoffset](speech/wordoffset)|Command wordoffset sends audio data to the Google Speech API and prints word offset information.| |[vision/detect](vision/detect)|Command detect uses the Vision API's capabilities to detect several types of content (label, text, location, etc) for the given image.| |[vision/label](vision/label)|Command label uses the Vision API's label detection capabilities to find a label based on an image's content.| ### Privacy |Path|Description| |---|---| |[dlp](dlp)|Samples for the [Data Loss Prevention](https://cloud.google.com/dlp/) API.| [kokoro_badge]: https://storage.googleapis.com/cloud-devrel-kokoro-resources/go/golang-samples/system_tests-ubuntu.png [kokoro_link]: https://fusion.corp.google.com/projectanalysis/current/KOKORO/prod%3Acloud-devrel%2Fgo%2Fgolang-samples%2Fsystem_tests