|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660 |
- # Google Cloud Client Libraries for Go
-
- [![GoDoc](https://godoc.org/cloud.google.com/go?status.svg)](https://godoc.org/cloud.google.com/go)
-
- Go packages for [Google Cloud Platform](https://cloud.google.com) services.
-
- ``` go
- import "cloud.google.com/go"
- ```
-
- To install the packages on your system, *do not clone the repo*. Instead use
-
- ```
- $ go get -u cloud.google.com/go/...
- ```
-
- **NOTE:** Some of these packages are under development, and may occasionally
- make backwards-incompatible changes.
-
- **NOTE:** Github repo is a mirror of [https://code.googlesource.com/gocloud](https://code.googlesource.com/gocloud).
-
- * [News](#news)
- * [Supported APIs](#supported-apis)
- * [Go Versions Supported](#go-versions-supported)
- * [Authorization](#authorization)
- * [Cloud Datastore](#cloud-datastore-)
- * [Cloud Storage](#cloud-storage-)
- * [Cloud Pub/Sub](#cloud-pub-sub-)
- * [Cloud BigQuery](#cloud-bigquery-)
- * [Stackdriver Logging](#stackdriver-logging-)
- * [Cloud Spanner](#cloud-spanner-)
-
-
- ## News
-
- _May 18, 2018_
-
- *v0.23.0*
-
- - bigquery: Add DDL stats to query statistics.
- - bigtable:
- - cbt: Add cells-per-column limit for row lookup.
- - cbt: Make it possible to combine read filters.
- - dlp: v2beta2 client removed. Use the v2 client instead.
- - firestore, spanner: Fix compilation errors due to protobuf changes.
-
- _May 8, 2018_
-
- *v0.22.0*
-
- - bigtable:
- - cbt: Support cells per column limit for row read.
- - bttest: Correctly handle empty RowSet.
- - Fix ReadModifyWrite operation in emulator.
- - Fix API path in GetCluster.
-
- - bigquery:
- - BEHAVIOR CHANGE: Retry on 503 status code.
- - Add dataset.DeleteWithContents.
- - Add SchemaUpdateOptions for query jobs.
- - Add Timeline to QueryStatistics.
- - Add more stats to ExplainQueryStage.
- - Support Parquet data format.
-
- - datastore:
- - Support omitempty for times.
-
- - dlp:
- - **BREAKING CHANGE:** Remove v1beta1 client. Please migrate to the v2 client,
- which is now out of beta.
- - Add v2 client.
-
- - firestore:
- - BEHAVIOR CHANGE: Treat set({}, MergeAll) as valid.
-
- - iam:
- - Support JWT signing via SignJwt callopt.
-
- - profiler:
- - BEHAVIOR CHANGE: PollForSerialOutput returns an error when context.Done.
- - BEHAVIOR CHANGE: Increase the initial backoff to 1 minute.
- - Avoid returning empty serial port output.
-
- - pubsub:
- - BEHAVIOR CHANGE: Don't backoff during next retryable error once stream is healthy.
- - BEHAVIOR CHANGE: Don't backoff on EOF.
- - pstest: Support Acknowledge and ModifyAckDeadline RPCs.
-
- - redis:
- - Add v1 beta Redis client.
-
- - spanner:
- - Support SessionLabels.
-
- - speech:
- - Add api v1 beta1 client.
-
- - storage:
- - BEHAVIOR CHANGE: Retry reads when retryable error occurs.
- - Fix delete of object in requester-pays bucket.
- - Support KMS integration.
-
- _April 9, 2018_
-
- *v0.21.0*
-
- - bigquery:
- - Add OpenCensus tracing.
-
- - firestore:
- - **BREAKING CHANGE:** If a document does not exist, return a DocumentSnapshot
- whose Exists method returns false. DocumentRef.Get and Transaction.Get
- return the non-nil DocumentSnapshot in addition to a NotFound error.
- **DocumentRef.GetAll and Transaction.GetAll return a non-nil
- DocumentSnapshot instead of nil.**
- - Add DocumentIterator.Stop. **Call Stop whenever you are done with a
- DocumentIterator.**
- - Added Query.Snapshots and DocumentRef.Snapshots, which provide realtime
- notification of updates. See https://cloud.google.com/firestore/docs/query-data/listen.
- - Canceling an RPC now always returns a grpc.Status with codes.Canceled.
-
- - spanner:
- - Add `CommitTimestamp`, which supports inserting the commit timestamp of a
- transaction into a column.
-
- _March 22, 2018_
-
- *v0.20.0*
-
- - bigquery: Support SchemaUpdateOptions for load jobs.
-
- - bigtable:
- - Add SampleRowKeys.
- - cbt: Support union, intersection GCPolicy.
- - Retry admin RPCS.
- - Add trace spans to retries.
-
- - datastore: Add OpenCensus tracing.
-
- - firestore:
- - Fix queries involving Null and NaN.
- - Allow Timestamp protobuffers for time values.
-
- - logging: Add a WriteTimeout option.
-
- - spanner: Support Batch API.
-
- - storage: Add OpenCensus tracing.
-
-
- _February 26, 2018_
-
- *v0.19.0*
-
- - bigquery:
- - Support customer-managed encryption keys.
-
- - bigtable:
- - Improved emulator support.
- - Support GetCluster.
-
- - datastore:
- - Add general mutations.
- - Support pointer struct fields.
- - Support transaction options.
-
- - firestore:
- - Add Transaction.GetAll.
- - Support document cursors.
-
- - logging:
- - Support concurrent RPCs to the service.
- - Support per-entry resources.
-
- - profiler:
- - Add config options to disable heap and thread profiling.
- - Read the project ID from $GOOGLE_CLOUD_PROJECT when it's set.
-
- - pubsub:
- - BEHAVIOR CHANGE: Release flow control after ack/nack (instead of after the
- callback returns).
- - Add SubscriptionInProject.
- - Add OpenCensus instrumentation for streaming pull.
-
- - storage:
- - Support CORS.
-
-
- _January 18, 2018_
-
- *v0.18.0*
-
- - bigquery:
- - Marked stable.
- - Schema inference of nullable fields supported.
- - Added TimePartitioning to QueryConfig.
-
- - firestore: Data provided to DocumentRef.Set with a Merge option can contain
- Delete sentinels.
-
- - logging: Clients can accept parent resources other than projects.
-
- - pubsub:
- - pubsub/pstest: A lighweight fake for pubsub. Experimental; feedback welcome.
- - Support updating more subscription metadata: AckDeadline,
- RetainAckedMessages and RetentionDuration.
-
- - oslogin/apiv1beta: New client for the Cloud OS Login API.
-
- - rpcreplay: A package for recording and replaying gRPC traffic.
-
- - spanner:
- - Add a ReadWithOptions that supports a row limit, as well as an index.
- - Support query plan and execution statistics.
- - Added [OpenCensus](http://opencensus.io) support.
-
- - storage: Clarify checksum validation for gzipped files (it is not validated
- when the file is served uncompressed).
-
-
- _December 11, 2017_
-
- *v0.17.0*
-
- - firestore BREAKING CHANGES:
- - Remove UpdateMap and UpdateStruct; rename UpdatePaths to Update.
- Change
- `docref.UpdateMap(ctx, map[string]interface{}{"a.b", 1})`
- to
- `docref.Update(ctx, []firestore.Update{{Path: "a.b", Value: 1}})`
-
- Change
- `docref.UpdateStruct(ctx, []string{"Field"}, aStruct)`
- to
- `docref.Update(ctx, []firestore.Update{{Path: "Field", Value: aStruct.Field}})`
- - Rename MergePaths to Merge; require args to be FieldPaths
- - A value stored as an integer can be read into a floating-point field, and vice versa.
- - bigtable/cmd/cbt:
- - Support deleting a column.
- - Add regex option for row read.
- - spanner: Mark stable.
- - storage:
- - Add Reader.ContentEncoding method.
- - Fix handling of SignedURL headers.
- - bigquery:
- - If Uploader.Put is called with no rows, it returns nil without making a
- call.
- - Schema inference supports the "nullable" option in struct tags for
- non-required fields.
- - TimePartitioning supports "Field".
-
-
- [Older news](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/old-news.md)
-
- ## Supported APIs
-
- Google API | Status | Package
- ---------------------------------|--------------|-----------------------------------------------------------
- [BigQuery][cloud-bigquery] | stable | [`cloud.google.com/go/bigquery`][cloud-bigquery-ref]
- [Bigtable][cloud-bigtable] | stable | [`cloud.google.com/go/bigtable`][cloud-bigtable-ref]
- [Container][cloud-container] | alpha | [`cloud.google.com/go/container/apiv1`][cloud-container-ref]
- [Data Loss Prevention][cloud-dlp]| alpha | [`cloud.google.com/go/dlp/apiv2beta1`][cloud-dlp-ref]
- [Datastore][cloud-datastore] | stable | [`cloud.google.com/go/datastore`][cloud-datastore-ref]
- [Debugger][cloud-debugger] | alpha | [`cloud.google.com/go/debugger/apiv2`][cloud-debugger-ref]
- [ErrorReporting][cloud-errors] | alpha | [`cloud.google.com/go/errorreporting`][cloud-errors-ref]
- [Firestore][cloud-firestore] | beta | [`cloud.google.com/go/firestore`][cloud-firestore-ref]
- [Language][cloud-language] | stable | [`cloud.google.com/go/language/apiv1`][cloud-language-ref]
- [Logging][cloud-logging] | stable | [`cloud.google.com/go/logging`][cloud-logging-ref]
- [Monitoring][cloud-monitoring] | beta | [`cloud.google.com/go/monitoring/apiv3`][cloud-monitoring-ref]
- [OS Login][cloud-oslogin] | alpha | [`cloud.google.com/compute/docs/oslogin/rest`][cloud-oslogin-ref]
- [Pub/Sub][cloud-pubsub] | stable | [`cloud.google.com/go/pubsub`][cloud-pubsub-ref]
- [Spanner][cloud-spanner] | stable | [`cloud.google.com/go/spanner`][cloud-spanner-ref]
- [Speech][cloud-speech] | stable | [`cloud.google.com/go/speech/apiv1`][cloud-speech-ref]
- [Storage][cloud-storage] | stable | [`cloud.google.com/go/storage`][cloud-storage-ref]
- [Translation][cloud-translation] | stable | [`cloud.google.com/go/translate`][cloud-translation-ref]
- [Video Intelligence][cloud-video]| beta | [`cloud.google.com/go/videointelligence/apiv1beta1`][cloud-video-ref]
- [Vision][cloud-vision] | stable | [`cloud.google.com/go/vision/apiv1`][cloud-vision-ref]
-
-
- > **Alpha status**: the API is still being actively developed. As a
- > result, it might change in backward-incompatible ways and is not recommended
- > for production use.
- >
- > **Beta status**: the API is largely complete, but still has outstanding
- > features and bugs to be addressed. There may be minor backwards-incompatible
- > changes where necessary.
- >
- > **Stable status**: the API is mature and ready for production use. We will
- > continue addressing bugs and feature requests.
-
- Documentation and examples are available at
- https://godoc.org/cloud.google.com/go
-
- Visit or join the
- [google-api-go-announce group](https://groups.google.com/forum/#!forum/google-api-go-announce)
- for updates on these packages.
-
- ## Go Versions Supported
-
- We support the two most recent major versions of Go. If Google App Engine uses
- an older version, we support that as well. You can see which versions are
- currently supported by looking at the lines following `go:` in
- [`.travis.yml`](.travis.yml).
-
- ## Authorization
-
- By default, each API will use [Google Application Default Credentials][default-creds]
- for authorization credentials used in calling the API endpoints. This will allow your
- application to run in many environments without requiring explicit configuration.
-
- [snip]:# (auth)
- ```go
- client, err := storage.NewClient(ctx)
- ```
-
- To authorize using a
- [JSON key file](https://cloud.google.com/iam/docs/managing-service-account-keys),
- pass
- [`option.WithServiceAccountFile`](https://godoc.org/google.golang.org/api/option#WithServiceAccountFile)
- to the `NewClient` function of the desired package. For example:
-
- [snip]:# (auth-JSON)
- ```go
- client, err := storage.NewClient(ctx, option.WithServiceAccountFile("path/to/keyfile.json"))
- ```
-
- You can exert more control over authorization by using the
- [`golang.org/x/oauth2`](https://godoc.org/golang.org/x/oauth2) package to
- create an `oauth2.TokenSource`. Then pass
- [`option.WithTokenSource`](https://godoc.org/google.golang.org/api/option#WithTokenSource)
- to the `NewClient` function:
- [snip]:# (auth-ts)
- ```go
- tokenSource := ...
- client, err := storage.NewClient(ctx, option.WithTokenSource(tokenSource))
- ```
-
- ## Cloud Datastore [![GoDoc](https://godoc.org/cloud.google.com/go/datastore?status.svg)](https://godoc.org/cloud.google.com/go/datastore)
-
- - [About Cloud Datastore][cloud-datastore]
- - [Activating the API for your project][cloud-datastore-activation]
- - [API documentation][cloud-datastore-docs]
- - [Go client documentation](https://godoc.org/cloud.google.com/go/datastore)
- - [Complete sample program](https://github.com/GoogleCloudPlatform/golang-samples/tree/master/datastore/tasks)
-
- ### Example Usage
-
- First create a `datastore.Client` to use throughout your application:
-
- [snip]:# (datastore-1)
- ```go
- client, err := datastore.NewClient(ctx, "my-project-id")
- if err != nil {
- log.Fatal(err)
- }
- ```
-
- Then use that client to interact with the API:
-
- [snip]:# (datastore-2)
- ```go
- type Post struct {
- Title string
- Body string `datastore:",noindex"`
- PublishedAt time.Time
- }
- keys := []*datastore.Key{
- datastore.NameKey("Post", "post1", nil),
- datastore.NameKey("Post", "post2", nil),
- }
- posts := []*Post{
- {Title: "Post 1", Body: "...", PublishedAt: time.Now()},
- {Title: "Post 2", Body: "...", PublishedAt: time.Now()},
- }
- if _, err := client.PutMulti(ctx, keys, posts); err != nil {
- log.Fatal(err)
- }
- ```
-
- ## Cloud Storage [![GoDoc](https://godoc.org/cloud.google.com/go/storage?status.svg)](https://godoc.org/cloud.google.com/go/storage)
-
- - [About Cloud Storage][cloud-storage]
- - [API documentation][cloud-storage-docs]
- - [Go client documentation](https://godoc.org/cloud.google.com/go/storage)
- - [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/master/storage)
-
- ### Example Usage
-
- First create a `storage.Client` to use throughout your application:
-
- [snip]:# (storage-1)
- ```go
- client, err := storage.NewClient(ctx)
- if err != nil {
- log.Fatal(err)
- }
- ```
-
- [snip]:# (storage-2)
- ```go
- // Read the object1 from bucket.
- rc, err := client.Bucket("bucket").Object("object1").NewReader(ctx)
- if err != nil {
- log.Fatal(err)
- }
- defer rc.Close()
- body, err := ioutil.ReadAll(rc)
- if err != nil {
- log.Fatal(err)
- }
- ```
-
- ## Cloud Pub/Sub [![GoDoc](https://godoc.org/cloud.google.com/go/pubsub?status.svg)](https://godoc.org/cloud.google.com/go/pubsub)
-
- - [About Cloud Pubsub][cloud-pubsub]
- - [API documentation][cloud-pubsub-docs]
- - [Go client documentation](https://godoc.org/cloud.google.com/go/pubsub)
- - [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/master/pubsub)
-
- ### Example Usage
-
- First create a `pubsub.Client` to use throughout your application:
-
- [snip]:# (pubsub-1)
- ```go
- client, err := pubsub.NewClient(ctx, "project-id")
- if err != nil {
- log.Fatal(err)
- }
- ```
-
- Then use the client to publish and subscribe:
-
- [snip]:# (pubsub-2)
- ```go
- // Publish "hello world" on topic1.
- topic := client.Topic("topic1")
- res := topic.Publish(ctx, &pubsub.Message{
- Data: []byte("hello world"),
- })
- // The publish happens asynchronously.
- // Later, you can get the result from res:
- ...
- msgID, err := res.Get(ctx)
- if err != nil {
- log.Fatal(err)
- }
-
- // Use a callback to receive messages via subscription1.
- sub := client.Subscription("subscription1")
- err = sub.Receive(ctx, func(ctx context.Context, m *pubsub.Message) {
- fmt.Println(m.Data)
- m.Ack() // Acknowledge that we've consumed the message.
- })
- if err != nil {
- log.Println(err)
- }
- ```
-
- ## Cloud BigQuery [![GoDoc](https://godoc.org/cloud.google.com/go/bigquery?status.svg)](https://godoc.org/cloud.google.com/go/bigquery)
-
- - [About Cloud BigQuery][cloud-bigquery]
- - [API documentation][cloud-bigquery-docs]
- - [Go client documentation][cloud-bigquery-ref]
- - [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/master/bigquery)
-
- ### Example Usage
-
- First create a `bigquery.Client` to use throughout your application:
- [snip]:# (bq-1)
- ```go
- c, err := bigquery.NewClient(ctx, "my-project-ID")
- if err != nil {
- // TODO: Handle error.
- }
- ```
-
- Then use that client to interact with the API:
- [snip]:# (bq-2)
- ```go
- // Construct a query.
- q := c.Query(`
- SELECT year, SUM(number)
- FROM [bigquery-public-data:usa_names.usa_1910_2013]
- WHERE name = "William"
- GROUP BY year
- ORDER BY year
- `)
- // Execute the query.
- it, err := q.Read(ctx)
- if err != nil {
- // TODO: Handle error.
- }
- // Iterate through the results.
- for {
- var values []bigquery.Value
- err := it.Next(&values)
- if err == iterator.Done {
- break
- }
- if err != nil {
- // TODO: Handle error.
- }
- fmt.Println(values)
- }
- ```
-
-
- ## Stackdriver Logging [![GoDoc](https://godoc.org/cloud.google.com/go/logging?status.svg)](https://godoc.org/cloud.google.com/go/logging)
-
- - [About Stackdriver Logging][cloud-logging]
- - [API documentation][cloud-logging-docs]
- - [Go client documentation][cloud-logging-ref]
- - [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/master/logging)
-
- ### Example Usage
-
- First create a `logging.Client` to use throughout your application:
- [snip]:# (logging-1)
- ```go
- ctx := context.Background()
- client, err := logging.NewClient(ctx, "my-project")
- if err != nil {
- // TODO: Handle error.
- }
- ```
-
- Usually, you'll want to add log entries to a buffer to be periodically flushed
- (automatically and asynchronously) to the Stackdriver Logging service.
- [snip]:# (logging-2)
- ```go
- logger := client.Logger("my-log")
- logger.Log(logging.Entry{Payload: "something happened!"})
- ```
-
- Close your client before your program exits, to flush any buffered log entries.
- [snip]:# (logging-3)
- ```go
- err = client.Close()
- if err != nil {
- // TODO: Handle error.
- }
- ```
-
- ## Cloud Spanner [![GoDoc](https://godoc.org/cloud.google.com/go/spanner?status.svg)](https://godoc.org/cloud.google.com/go/spanner)
-
- - [About Cloud Spanner][cloud-spanner]
- - [API documentation][cloud-spanner-docs]
- - [Go client documentation](https://godoc.org/cloud.google.com/go/spanner)
-
- ### Example Usage
-
- First create a `spanner.Client` to use throughout your application:
-
- [snip]:# (spanner-1)
- ```go
- client, err := spanner.NewClient(ctx, "projects/P/instances/I/databases/D")
- if err != nil {
- log.Fatal(err)
- }
- ```
-
- [snip]:# (spanner-2)
- ```go
- // Simple Reads And Writes
- _, err = client.Apply(ctx, []*spanner.Mutation{
- spanner.Insert("Users",
- []string{"name", "email"},
- []interface{}{"alice", "a@example.com"})})
- if err != nil {
- log.Fatal(err)
- }
- row, err := client.Single().ReadRow(ctx, "Users",
- spanner.Key{"alice"}, []string{"email"})
- if err != nil {
- log.Fatal(err)
- }
- ```
-
-
- ## Contributing
-
- Contributions are welcome. Please, see the
- [CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/CONTRIBUTING.md)
- document for details. We're using Gerrit for our code reviews. Please don't open pull
- requests against this repo, new pull requests will be automatically closed.
-
- Please note that this project is released with a Contributor Code of Conduct.
- By participating in this project you agree to abide by its terms.
- See [Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/CONTRIBUTING.md#contributor-code-of-conduct)
- for more information.
-
- [cloud-datastore]: https://cloud.google.com/datastore/
- [cloud-datastore-ref]: https://godoc.org/cloud.google.com/go/datastore
- [cloud-datastore-docs]: https://cloud.google.com/datastore/docs
- [cloud-datastore-activation]: https://cloud.google.com/datastore/docs/activate
-
- [cloud-firestore]: https://cloud.google.com/firestore/
- [cloud-firestore-ref]: https://godoc.org/cloud.google.com/go/firestore
- [cloud-firestore-docs]: https://cloud.google.com/firestore/docs
- [cloud-firestore-activation]: https://cloud.google.com/firestore/docs/activate
-
- [cloud-pubsub]: https://cloud.google.com/pubsub/
- [cloud-pubsub-ref]: https://godoc.org/cloud.google.com/go/pubsub
- [cloud-pubsub-docs]: https://cloud.google.com/pubsub/docs
-
- [cloud-storage]: https://cloud.google.com/storage/
- [cloud-storage-ref]: https://godoc.org/cloud.google.com/go/storage
- [cloud-storage-docs]: https://cloud.google.com/storage/docs
- [cloud-storage-create-bucket]: https://cloud.google.com/storage/docs/cloud-console#_creatingbuckets
-
- [cloud-bigtable]: https://cloud.google.com/bigtable/
- [cloud-bigtable-ref]: https://godoc.org/cloud.google.com/go/bigtable
-
- [cloud-bigquery]: https://cloud.google.com/bigquery/
- [cloud-bigquery-docs]: https://cloud.google.com/bigquery/docs
- [cloud-bigquery-ref]: https://godoc.org/cloud.google.com/go/bigquery
-
- [cloud-logging]: https://cloud.google.com/logging/
- [cloud-logging-docs]: https://cloud.google.com/logging/docs
- [cloud-logging-ref]: https://godoc.org/cloud.google.com/go/logging
-
- [cloud-monitoring]: https://cloud.google.com/monitoring/
- [cloud-monitoring-ref]: https://godoc.org/cloud.google.com/go/monitoring/apiv3
-
- [cloud-vision]: https://cloud.google.com/vision
- [cloud-vision-ref]: https://godoc.org/cloud.google.com/go/vision/apiv1
-
- [cloud-language]: https://cloud.google.com/natural-language
- [cloud-language-ref]: https://godoc.org/cloud.google.com/go/language/apiv1
-
- [cloud-oslogin]: https://cloud.google.com/compute/docs/oslogin/rest
- [cloud-oslogin-ref]: https://cloud.google.com/compute/docs/oslogin/rest
-
- [cloud-speech]: https://cloud.google.com/speech
- [cloud-speech-ref]: https://godoc.org/cloud.google.com/go/speech/apiv1
-
- [cloud-spanner]: https://cloud.google.com/spanner/
- [cloud-spanner-ref]: https://godoc.org/cloud.google.com/go/spanner
- [cloud-spanner-docs]: https://cloud.google.com/spanner/docs
-
- [cloud-translation]: https://cloud.google.com/translation
- [cloud-translation-ref]: https://godoc.org/cloud.google.com/go/translation
-
- [cloud-video]: https://cloud.google.com/video-intelligence/
- [cloud-video-ref]: https://godoc.org/cloud.google.com/go/videointelligence/apiv1beta1
-
- [cloud-errors]: https://cloud.google.com/error-reporting/
- [cloud-errors-ref]: https://godoc.org/cloud.google.com/go/errorreporting
-
- [cloud-container]: https://cloud.google.com/containers/
- [cloud-container-ref]: https://godoc.org/cloud.google.com/go/container/apiv1
-
- [cloud-debugger]: https://cloud.google.com/debugger/
- [cloud-debugger-ref]: https://godoc.org/cloud.google.com/go/debugger/apiv2
-
- [cloud-dlp]: https://cloud.google.com/dlp/
- [cloud-dlp-ref]: https://godoc.org/cloud.google.com/go/dlp/apiv2beta1
-
- [default-creds]: https://developers.google.com/identity/protocols/application-default-credentials
|