Royce  Reinger

Royce Reinger

1659741180

Google-cloud-ruby: Google Cloud Client Library for Ruby

Google Cloud Ruby Clients

Idiomatic Ruby client libraries for Google Cloud Platform APIs.

This repository includes client libraries for Google Cloud Platform services, along with a selected set of Google services unrelated to the cloud platform.

What's here

Client library gems

Most directories each correspond to a client library RubyGem, including its code, tests, gemspec, and documentation. Some client libraries also include handwritten samples in the samples directory, and/or autogenerated samples in the snippets directory.

Most client libraries in this repository are automatically generated by the GAPIC Generator. A small number are written and maintained by hand. You can identify a generated client library by the presence of .OwlBot.yaml in the library directory. For the most part, do not try to edit generated libraries by hand, because changes will be overwritten by the code generator.

Other directories

A few directories include support files, including:

  • .github includes configuration for GitHub Actions and bots that help to maintain this repository.
  • .kokoro includes configuration for internal Google processes that help to maintain this repository.
  • .toys includes scripts for running CI, releases, and maintenance tasks.
  • acceptance and integration include shared fixtures for acceptance tests.
  • obsolete contains older libraries that are obsolete and no longer maintained.

GitHub facilities

Issues for client libraries hosted here can be filed in the issues tab. However, this is not an official support channel. If you have support questions, file a support request through the normal Google support channels, or post questions on a forum such as StackOverflow.

Pull requests are welcome. Please see the section below on contributing.

Some maintenance tasks can be run in the actions tab by authorized personnel.

Using the client libraries

These client library RubyGems each include classes and methods that can be used to make authenticated calls to specific Google APIs. Some libraries also include additional convenience code implementing common client-side workflows or best practices.

In general, you can expect to:

Activate access to the API by creating a project on the Google Cloud Console, enabling billing if necessary, and enabling the API.

Choose a library and install it, typically by adding it to your bundle. For example, here is how you might add a the Translation service client to your Gemfile:

# Gemfile

# ... previous libraries ...
gem "google-cloud-translate", "~> 3.2"

Instantiate a client object. This object represents an authenticated connection to the service. For example, here is how you might create a client for the translation service:

require "google/cloud/translate"

translation_client = Google::Cloud::Translate.translation_service

Depending on your environment and authentication needs, you might need to provide credentials to the client object.

Make API calls by invoking methods on the client. For example, here is how you might translate a phrase:

result = translation_client.translate_text contents: ["Hello, world!"],
                                           mime_type: "text/plain",
                                           source_language_code: "en-US",
                                           target_language_code: "ja-JP",
                                           parent: "projects/my-project-name"
puts result.translations.first.translated_text
# => "こんにちは世界!"

Activating the API

To access a Google Cloud API, you will generally need to activate it in the cloud console. This typically involves three steps:

If you have not created a Google Cloud Project, do so. Point your browser to the Google Cloud Console, sign up if needed, and create or choose a project. Make note of the project number (which is numeric) or project ID (which is usually three or more words separated by hyphens). Many services will require you to pass that information in when calling an API.

For most services, you will need to provide billing information. If this is your first time using Google Cloud Platform, you may be eligible for a free trial.

Enable the API you want to use. Click the "APIs & Services" tab in the left navigation, then click the "Enable APIs and Services" button near the top. Search for the API you want by name, and click "Enable". A few APIs may be enabled automatically for you, but most APIs need to be enabled explicitly.

Once you have a project set up and have enabled an API, you are ready to begin using a client library to call the API.

Choosing a client library

This repository contains two types of API client RubyGems: the main library for the API (e.g. the google-cloud-translate gem for the Translation service), and one ore more versioned libraries for different versions of the service (e.g. google-cloud-translate-v2 and google-cloud-translate-v3 for versions 2 and 3 of the service, respectively). Note that we're referring to different versions of the backend service, not of the client library gem.

In most cases, you should install the main library (the one without a service version in the name). This library will provide all the required code for making calls to the API. It may also provide additional convenience code implementing common client-side workflows or best practices. Often the main library will bring in one or more versioned libraries as dependencies, and the client and data type classes you will use may actually be defined in a versioned library, but installing the main library will ensure you have access to the best tools and interfaces for interacting with the service.

The versioned libraries are lower-level libraries that target a specific version of the service. You may choose to intall a versioned library directly, instead of or in addition to the main library, to handle advanced use cases that require lower level access.

Note: Many services may also provide client libraries with names beginning with google-apis-. Those clients are developed in a different repository, and utilize an older client technology that lacks some of the performance and ease of use benefits of the clients in the google-cloud-ruby repository. The older clients may cover some services for which a google-cloud-ruby client is not yet available, but for services that are covered, we generally recommend the clients in the google-cloud-ruby repository over the older ones.

Most client libraries have directories in this repository, or you can look up the name of the client library to use in the documentation for the service you are using. Install this library as a RubyGem, or add it to your Gemfile.

Authentication

Most API calls must be accompanied by authentication information proving that the caller has sufficient permissions to make the call. For an overview of authentication with Google, see https://cloud.google.com/docs/authentication.

These API client libraries provide several mechanisms for attaching credentials to API calls.

If your application runs on an Google Cloud Platform hosting environment such as Google Compute Engine, Google Container Engine, Google App Engine, Google Cloud Run, or Google Cloud Functions, the environment will provide "ambient" credentials which client libraries will recognize and use automatically. You can generally configure these credentials in the hosting environment, for example per-VM in Google Compute Engine.

You can also provide your own service account credentials by including a service account key file in your application's file system and setting the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path to that file. Client libraries will read this environment variable if it is set.

Finally, you can override credentials in code by setting the credentials field in the client configuration. This can be set globally on the client class or provided when you construct a client object.

See https://cloud.google.com/docs/authentication/production for more information on these and other methods of providing credentials.

Supported Ruby Versions

These libraries are currently supported on Ruby 2.6 through Ruby 3.1. Older versions of Ruby may still work, but are unsupported and not recommended.

In general, Google provides official support for Ruby versions that are actively supported by Ruby Core--that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.

Library Versioning

The libraries in this repository follow Semantic Versioning.

Libraries are released at one of two different support quality levels:

GA: Libraries defined at the GA (general availability) quality level, indicated by a gem version number greater than or equal to 1.0, are stable. The code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues), or unless accompanying a semver-major version update (such as version 1.x to 2.x.) Issues and requests against GA libraries are addressed with the highest priority.

Preview: Libraries defined at a Preview quality level, indicated by a gem version number less than 1.0, are expected to be mostly stable and we're working towards their release candidate. However, these libraries may get backwards-incompatible updates from time to time. We will still address issues and requests with a high priority.

Note that the gem version is distinct from the service version. Some backend services have mulitple versions, for example versions v2 and v3 of the translation service. These are treated as separate services and will have separate versioned clients, e.g. the google-cloud-translate-v2 and google-cloud-translate-v3 gems. These gems will in turn have their own gem versions, tracking the development of the two services.

Contributing

Contributions to this repository are welcome. However, please note that many of the clients in this repository are automatically generated. The Ruby files in those clients will have a comment to that effect near the top; changes to those files will not be accepted as they will simply be overwritten by the code generator. If in doubt, please open an issue and ask the maintainers. See the CONTRIBUTING document for more information on how to get started.

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 Code of Conduct for more information.

Support

Please report bugs at the project on Github.

If you have questions about how to use the clients or APIs, ask on Stack Overflow.

Author: Googleapis
Source Code: https://github.com/googleapis/google-cloud-ruby 
License: Apache-2.0 license

#ruby #google #cloud #client 

What is GEEK

Buddha Community

Google-cloud-ruby: Google Cloud Client Library for Ruby
Adaline  Kulas

Adaline Kulas

1594162500

Multi-cloud Spending: 8 Tips To Lower Cost

A multi-cloud approach is nothing but leveraging two or more cloud platforms for meeting the various business requirements of an enterprise. The multi-cloud IT environment incorporates different clouds from multiple vendors and negates the dependence on a single public cloud service provider. Thus enterprises can choose specific services from multiple public clouds and reap the benefits of each.

Given its affordability and agility, most enterprises opt for a multi-cloud approach in cloud computing now. A 2018 survey on the public cloud services market points out that 81% of the respondents use services from two or more providers. Subsequently, the cloud computing services market has reported incredible growth in recent times. The worldwide public cloud services market is all set to reach $500 billion in the next four years, according to IDC.

By choosing multi-cloud solutions strategically, enterprises can optimize the benefits of cloud computing and aim for some key competitive advantages. They can avoid the lengthy and cumbersome processes involved in buying, installing and testing high-priced systems. The IaaS and PaaS solutions have become a windfall for the enterprise’s budget as it does not incur huge up-front capital expenditure.

However, cost optimization is still a challenge while facilitating a multi-cloud environment and a large number of enterprises end up overpaying with or without realizing it. The below-mentioned tips would help you ensure the money is spent wisely on cloud computing services.

  • Deactivate underused or unattached resources

Most organizations tend to get wrong with simple things which turn out to be the root cause for needless spending and resource wastage. The first step to cost optimization in your cloud strategy is to identify underutilized resources that you have been paying for.

Enterprises often continue to pay for resources that have been purchased earlier but are no longer useful. Identifying such unused and unattached resources and deactivating it on a regular basis brings you one step closer to cost optimization. If needed, you can deploy automated cloud management tools that are largely helpful in providing the analytics needed to optimize the cloud spending and cut costs on an ongoing basis.

  • Figure out idle instances

Another key cost optimization strategy is to identify the idle computing instances and consolidate them into fewer instances. An idle computing instance may require a CPU utilization level of 1-5%, but you may be billed by the service provider for 100% for the same instance.

Every enterprise will have such non-production instances that constitute unnecessary storage space and lead to overpaying. Re-evaluating your resource allocations regularly and removing unnecessary storage may help you save money significantly. Resource allocation is not only a matter of CPU and memory but also it is linked to the storage, network, and various other factors.

  • Deploy monitoring mechanisms

The key to efficient cost reduction in cloud computing technology lies in proactive monitoring. A comprehensive view of the cloud usage helps enterprises to monitor and minimize unnecessary spending. You can make use of various mechanisms for monitoring computing demand.

For instance, you can use a heatmap to understand the highs and lows in computing visually. This heat map indicates the start and stop times which in turn lead to reduced costs. You can also deploy automated tools that help organizations to schedule instances to start and stop. By following a heatmap, you can understand whether it is safe to shut down servers on holidays or weekends.

#cloud computing services #all #hybrid cloud #cloud #multi-cloud strategy #cloud spend #multi-cloud spending #multi cloud adoption #why multi cloud #multi cloud trends #multi cloud companies #multi cloud research #multi cloud market

Rusty  Shanahan

Rusty Shanahan

1597833840

Overview of Google Cloud Essentials Quest

If you looking to learn about Google Cloud in depth or in general with or without any prior knowledge in cloud computing, then you should definitely check this quest out, Link.

Google Could Essentials is an introductory level Quest which is useful to learn about the basic fundamentals of Google Cloud. From writing Cloud Shell commands and deploying my first virtual machine, to running applications on Kubernetes Engine or with load balancing, Google Cloud Essentials is a prime introduction to the platform’s basic features.

Let’s see what was the Quest Outline:

  1. A Tour of Qwiklabs and Google Cloud
  2. Creating a Virtual Machine
  3. Getting Started with Cloud Shell & gcloud
  4. Kubernetes Engine: Qwik Start
  5. Set Up Network and HTTP Load Balancers

A Tour of Qwiklabs and Google Cloud was the first hands-on lab which basically gives an overview about Google Cloud. There were few questions to answers that will check your understanding about the topic and the rest was about accessing Google cloud console, projects in cloud console, roles and permissions, Cloud Shell and so on.

**Creating a Virtual Machine **was the second lab to create virtual machine and also connect NGINX web server to it. Compute Engine lets one create virtual machine whose resources live in certain regions or zones. NGINX web server is used as load balancer. The job of a load balancer is to distribute workloads across multiple computing resources. Creating these two along with a question would mark the end of the second lab.

#google-cloud-essentials #google #google-cloud #google-cloud-platform #cloud-computing #cloud

Royce  Reinger

Royce Reinger

1659741180

Google-cloud-ruby: Google Cloud Client Library for Ruby

Google Cloud Ruby Clients

Idiomatic Ruby client libraries for Google Cloud Platform APIs.

This repository includes client libraries for Google Cloud Platform services, along with a selected set of Google services unrelated to the cloud platform.

What's here

Client library gems

Most directories each correspond to a client library RubyGem, including its code, tests, gemspec, and documentation. Some client libraries also include handwritten samples in the samples directory, and/or autogenerated samples in the snippets directory.

Most client libraries in this repository are automatically generated by the GAPIC Generator. A small number are written and maintained by hand. You can identify a generated client library by the presence of .OwlBot.yaml in the library directory. For the most part, do not try to edit generated libraries by hand, because changes will be overwritten by the code generator.

Other directories

A few directories include support files, including:

  • .github includes configuration for GitHub Actions and bots that help to maintain this repository.
  • .kokoro includes configuration for internal Google processes that help to maintain this repository.
  • .toys includes scripts for running CI, releases, and maintenance tasks.
  • acceptance and integration include shared fixtures for acceptance tests.
  • obsolete contains older libraries that are obsolete and no longer maintained.

GitHub facilities

Issues for client libraries hosted here can be filed in the issues tab. However, this is not an official support channel. If you have support questions, file a support request through the normal Google support channels, or post questions on a forum such as StackOverflow.

Pull requests are welcome. Please see the section below on contributing.

Some maintenance tasks can be run in the actions tab by authorized personnel.

Using the client libraries

These client library RubyGems each include classes and methods that can be used to make authenticated calls to specific Google APIs. Some libraries also include additional convenience code implementing common client-side workflows or best practices.

In general, you can expect to:

Activate access to the API by creating a project on the Google Cloud Console, enabling billing if necessary, and enabling the API.

Choose a library and install it, typically by adding it to your bundle. For example, here is how you might add a the Translation service client to your Gemfile:

# Gemfile

# ... previous libraries ...
gem "google-cloud-translate", "~> 3.2"

Instantiate a client object. This object represents an authenticated connection to the service. For example, here is how you might create a client for the translation service:

require "google/cloud/translate"

translation_client = Google::Cloud::Translate.translation_service

Depending on your environment and authentication needs, you might need to provide credentials to the client object.

Make API calls by invoking methods on the client. For example, here is how you might translate a phrase:

result = translation_client.translate_text contents: ["Hello, world!"],
                                           mime_type: "text/plain",
                                           source_language_code: "en-US",
                                           target_language_code: "ja-JP",
                                           parent: "projects/my-project-name"
puts result.translations.first.translated_text
# => "こんにちは世界!"

Activating the API

To access a Google Cloud API, you will generally need to activate it in the cloud console. This typically involves three steps:

If you have not created a Google Cloud Project, do so. Point your browser to the Google Cloud Console, sign up if needed, and create or choose a project. Make note of the project number (which is numeric) or project ID (which is usually three or more words separated by hyphens). Many services will require you to pass that information in when calling an API.

For most services, you will need to provide billing information. If this is your first time using Google Cloud Platform, you may be eligible for a free trial.

Enable the API you want to use. Click the "APIs & Services" tab in the left navigation, then click the "Enable APIs and Services" button near the top. Search for the API you want by name, and click "Enable". A few APIs may be enabled automatically for you, but most APIs need to be enabled explicitly.

Once you have a project set up and have enabled an API, you are ready to begin using a client library to call the API.

Choosing a client library

This repository contains two types of API client RubyGems: the main library for the API (e.g. the google-cloud-translate gem for the Translation service), and one ore more versioned libraries for different versions of the service (e.g. google-cloud-translate-v2 and google-cloud-translate-v3 for versions 2 and 3 of the service, respectively). Note that we're referring to different versions of the backend service, not of the client library gem.

In most cases, you should install the main library (the one without a service version in the name). This library will provide all the required code for making calls to the API. It may also provide additional convenience code implementing common client-side workflows or best practices. Often the main library will bring in one or more versioned libraries as dependencies, and the client and data type classes you will use may actually be defined in a versioned library, but installing the main library will ensure you have access to the best tools and interfaces for interacting with the service.

The versioned libraries are lower-level libraries that target a specific version of the service. You may choose to intall a versioned library directly, instead of or in addition to the main library, to handle advanced use cases that require lower level access.

Note: Many services may also provide client libraries with names beginning with google-apis-. Those clients are developed in a different repository, and utilize an older client technology that lacks some of the performance and ease of use benefits of the clients in the google-cloud-ruby repository. The older clients may cover some services for which a google-cloud-ruby client is not yet available, but for services that are covered, we generally recommend the clients in the google-cloud-ruby repository over the older ones.

Most client libraries have directories in this repository, or you can look up the name of the client library to use in the documentation for the service you are using. Install this library as a RubyGem, or add it to your Gemfile.

Authentication

Most API calls must be accompanied by authentication information proving that the caller has sufficient permissions to make the call. For an overview of authentication with Google, see https://cloud.google.com/docs/authentication.

These API client libraries provide several mechanisms for attaching credentials to API calls.

If your application runs on an Google Cloud Platform hosting environment such as Google Compute Engine, Google Container Engine, Google App Engine, Google Cloud Run, or Google Cloud Functions, the environment will provide "ambient" credentials which client libraries will recognize and use automatically. You can generally configure these credentials in the hosting environment, for example per-VM in Google Compute Engine.

You can also provide your own service account credentials by including a service account key file in your application's file system and setting the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path to that file. Client libraries will read this environment variable if it is set.

Finally, you can override credentials in code by setting the credentials field in the client configuration. This can be set globally on the client class or provided when you construct a client object.

See https://cloud.google.com/docs/authentication/production for more information on these and other methods of providing credentials.

Supported Ruby Versions

These libraries are currently supported on Ruby 2.6 through Ruby 3.1. Older versions of Ruby may still work, but are unsupported and not recommended.

In general, Google provides official support for Ruby versions that are actively supported by Ruby Core--that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.

Library Versioning

The libraries in this repository follow Semantic Versioning.

Libraries are released at one of two different support quality levels:

GA: Libraries defined at the GA (general availability) quality level, indicated by a gem version number greater than or equal to 1.0, are stable. The code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues), or unless accompanying a semver-major version update (such as version 1.x to 2.x.) Issues and requests against GA libraries are addressed with the highest priority.

Preview: Libraries defined at a Preview quality level, indicated by a gem version number less than 1.0, are expected to be mostly stable and we're working towards their release candidate. However, these libraries may get backwards-incompatible updates from time to time. We will still address issues and requests with a high priority.

Note that the gem version is distinct from the service version. Some backend services have mulitple versions, for example versions v2 and v3 of the translation service. These are treated as separate services and will have separate versioned clients, e.g. the google-cloud-translate-v2 and google-cloud-translate-v3 gems. These gems will in turn have their own gem versions, tracking the development of the two services.

Contributing

Contributions to this repository are welcome. However, please note that many of the clients in this repository are automatically generated. The Ruby files in those clients will have a comment to that effect near the top; changes to those files will not be accepted as they will simply be overwritten by the code generator. If in doubt, please open an issue and ask the maintainers. See the CONTRIBUTING document for more information on how to get started.

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 Code of Conduct for more information.

Support

Please report bugs at the project on Github.

If you have questions about how to use the clients or APIs, ask on Stack Overflow.

Author: Googleapis
Source Code: https://github.com/googleapis/google-cloud-ruby 
License: Apache-2.0 license

#ruby #google #cloud #client 

Google Cloud: Caching Cloud Storage content with Cloud CDN

In this Lab, we will configure Cloud Content Delivery Network (Cloud CDN) for a Cloud Storage bucket and verify caching of an image. Cloud CDN uses Google’s globally distributed edge points of presence to cache HTTP(S) load-balanced content close to our users. Caching content at the edges of Google’s network provides faster delivery of content to our users while reducing serving costs.

For an up-to-date list of Google’s Cloud CDN cache sites, see https://cloud.google.com/cdn/docs/locations.

Task 1. Create and populate a Cloud Storage bucket

Cloud CDN content can originate from different types of backends:

  • Compute Engine virtual machine (VM) instance groups
  • Zonal network endpoint groups (NEGs)
  • Internet network endpoint groups (NEGs), for endpoints that are outside of Google Cloud (also known as custom origins)
  • Google Cloud Storage buckets

In this lab, we will configure a Cloud Storage bucket as the backend.

#google-cloud #google-cloud-platform #cloud #cloud storage #cloud cdn

Google Cloud EMEA Retail & Consumer Goods Summit: The Future of Retail

The way consumers make their everyday decisions is evolving, as digital ways of working, shopping and communicating have become the new normal. So now it’s more important than ever for companies in the retail sector to prioritise an insights-driven technology strategy and understand what’s truly important for their customers.

Through its partnerships with some of the world’s leading retailers and brands, Google Cloud provides solutions that address the retail sector’s most challenging problems, whether it’s creating flexible demand forecasting models to optimize inventory or transforming e-commerce using AI-powered apps. Over the past few years, we’ve been observing and analyzing the many facets of changing consumer behaviour. We are here to support retailers and brands as they transform their businesses to adapt to this new landscape.

Featuring consumer research and insights from your peers, Google Cloud’s Retail & Consumer Goods Summit will offer candid conversations to help you solve your challenges. We’ll be joined by industry innovators, including Carrefour Belgium and L’Oréal, who’ll discuss the future of retail and consumer goods.

#cloud native #google cloud platform #google cloud in europe #cloud #google cloud