google cloud sdk что это

linux-notes.org

Установка Google Cloud SDK/gcloud в Unix/Linux

Google Cloud SDK — Это набор библиотек, который предоставляет google для работы со своим облаком.

gcloud — Утилита, которая позволяет работать с облаком.

Установка Google Cloud SDK/gcloud в Mac OS X

Имеется пару способов как поставить данное SDK.

-=== СПОСОБ 1 ===-

Скачиваем пакет с официального сайта (например):

Можно конечно перекинуть данный архив в другое место и поправить пути в

/.bash_profile, но много работы.

-=== СПОСОБ 2 ===-

Можно использовать готовый скрипт с официального сайта:

Тоже фигня! Ставит в хомяк!

-=== СПОСОБ 3 ===-

Использовать Brew, но для начала установим homebrew, и потом, выполняем:

Самый простой и лучший ваиант установки!

Установка Google Cloud SDK/gcloud в Linux

Для установки сойдет 1 или 2-й варианты, которые я описывал для Mac OS X.

-=== СПОСОБ 1 ===-

Скачиваем пакет с официального сайта (например):

Можно конечно перекинуть данный архив в другое место и поправить пути в

/.bash_profile, но много работы.

-=== СПОСОБ 2 ===-

Можно использовать готовый скрипт с официального сайта:

Тоже фигня! Ставит в хомяк!

-=== СПОСОБ 3 ===-

Можно еще поставить репозиторий и через него установить.

Установка Google Cloud SDK/gcloud в CentOS/RedHat.

PS: Можно поставить вспомогательные компоненты:

Установка Google Cloud SDK/gcloud в Debian/Ubuntu.

Создайте переменную окружения (ENV) для правильного распространения:

PS: Если у вас установлен «apt-transport-https» пакет, вы можете использовать «https» вместо «http» на этом шаге.

Импортируем паблик ключ:

Можно поставить дополнительные компоненты:

Перейдем к настройке.

Настройка Google Cloud SDK/gcloud в Unix/Linux

После установки google SDK, нужно инициализировать проект:

Следуем инструкциям и настраиваем инициализацию.

Использование Google Cloud SDK/gcloud в Unix/Linux

Чтобы просмотреть аккаунты для авторизации, используйте:

Создаем авторизацию по уолчанию:

Для того, чтобы посмотреть конфигурационный, выполните:

Для получения полной информации, можно заюзать:

Получить инфо и много другой полезной информации:

Получить список всех ваших билибл аккаунтов:

Сетапаем SSH доступ для аккаунта:

Можно просмотреть IAM политики\роли следующим образом:

Или, вот еще полезная команда:

Или, jтображение в ‘сплющенном формате’:

Смотрим какой используется проект:

Проверяем созданный ключ:

Смотрим пермишены по проекту:

Создаем виртуальную машину:

Чтобы получить помощь, используйте:

Помощь понятная и простая. Можно использовать ее вот так:

Чтоы посмотреть пермишены:

Создаем сервис аккаунт, следующим образом:

Предоставьте разрешение учетной записи службы для просмотра проекта Admin и управления облачным хранилищем:

Любые действия, которые выполняються через Terraform, требуют, чтобы API был включен, например:

Вот и все, статья «Установка Google Cloud SDK/gcloud в Unix/Linux» завершена.

Источник

Google Cloud Endpoints на Java: Руководство. ч. 1

Google Cloud Endpoints — это надстройка над Google App Engine (GAE) для создания API для веб и мобильных приложений, делающая разработку проще и включающую в себя «из коробки» защиту от DoS-атак, OAuth 2.0 аторизацию, веб-интерфейс для тестирования API, SSL, атоматическую масштабируемость (сайт не упадет под хабра-эффектом), а также возможность использования сервисов доступных в Google App Engine (отсылка и прием электронной почты и XMPP-сообщений, загрузка данных из Интернет (URL Fetch service), задачи по расписанию (Task Queues and Scheduled Tasks) и др.)

GAE бесплатен в рамках начальных квот, которые позволяют попробовать и протестировать сервис, и также обеспечить бесплатное функционирование веб-сайта не имеющего больших нагрузок. При исчерпании квот сервис становиться платным.

Идея сервиса в том, что он делает всю или большую часть работы системного администратора, плюс некоторую часть работы программиста. Этот сервис может быть интересен стартапам, так как позволяет малыми силами и в котроткие сроки запустить рабочий проект.

Фреймворк Objectify предоставляет удобные стредства для работы со базой данных встроенной в GAE, а модуль angular-google-gapi для подключения веб-приложения на AngularJS c авторизацией пользователей.

Под катом много картинок и текста, и предполагается, что читатель знаком с Java Servlets.

Регистрация

Для начала понадобится создать проект на GAE. Для этого потребуется учетная запись google. Можно воспользоваться существующей или создать новую. Политика Google допускает создание нескольких учетных записей для одного лица. Google предупреждает, когда приложение запрашивает данные пользователя (OAuth consent screen), то в числе данных о приложении может передаваться информация о разработчике, в том числе его адрес электронной почты, и это не любой адрес электронной почты, а именно учетной записи @ gmail.com под которой работают c GAE, так что возможно стоит заводить отдельные учетные записи для разных проектов, благо тот же Google Chrome позволяет удобно между ними переключаться.

Переходим в консоль разработчика Google: console.developers.google.com и логинимся используя выбранную учетную запись Google, нажимаем «Create an empty project», выбираем имя проекта и ID проекта. Проект будет доступен по адресу http://.appspot.com

ID должно быть уникальным. При этом если @ gmail.com занято, то этот ID уже будет отмечен как «занят» для GAE. То есть на получиться создать .appspot.com и @ gmail.com одновременно.

После того как проект создан, он будет доступен в консоли разработчика:

Читайте также:  целевая квота уив что это значит

Для данного руководства мы создадим два проекта в консоли разработчика Google: hello-habrahabr-api.appspot.com, где будет API (собственно Google Cloud Endpoints), и hello-habrahabr-webapp.appspot.com, на котором разместим веб-клиент. Я делаю это для наглядности разделения фронэнда и бэкенда, можно было бы создавать на одном домене.

В консоли разработчика нашего Cloud Endpoints проекта hello-habrahabr-api.appspot.com в меню выбираем APIs & auth > Credentials > Add Credentials > OAuth 2.0 Client ID > Configure consent screen.

В настойках автоматически вставляется адрес электронной почты разработчика, также указываем имя приложения (Product name) (обязательно), и (опционально) адрес веб-страницы, логотип и другие данные.

В меню выбираем APIs & auth > Credentials > Add Credentials > OAuth 2.0 Client ID и указываем тип приложения для которого создаем client ID. В этом руководстве мы будем рассматривать создание веб-приложения, поэтому выбираем Web application, и нажимаем «Create».

— имя веб-приложения (любое)

— Authorized redirect URIs: не используем

Нажимаем «Create», получаем «client ID» и «client secret» — они нам понадобятся для веб-приложения.

Подготовка и настройка рабочей среды.

1. Java 7 (Java 8 пока не поддерживается GAE)

В Linux (последняя версия 3.3.3):

Для Ubuntu/Debian (в депозитариях сейчас версия 3.0.5):

Проверяем версию Maven и Java:

3. IDE или редактор кода — по вкусу. Eclipse и IntelliJ IDEA Ultimate имеют плагины для работы с GAE, но тестирование оффлайн на своей машине для Cloud Endpoints все равно работать не будет (хотя в документации указано что должно), поэтому для разделения кода в разработке и работающей системы нужно либо использовать раздельные проекты, либо пользоваться предоставляемой GAE возможностью работы с разными версиями проекта.

Вместо GAE-плагинов проще и удобнее (имхо) использовать Maven в командной строке, так что вполне подойдет IntelliJ IDEA Community Edtion – там есть встроенный терминал, и это все что нужно. В Eclipse можно установить TM Terminal.

4. Google App Engine SDK. Если необходимо — можно скачать тут.

Но при использовании Maven, он скачает Google App Engine SDK автоматически.

Создаем основу бэкенда

Переходим в директорию в которой мы будем создавать директорию проекта. Избегайте директорий с нестандартными символами в наименовании и очень длинным путем, это может вызвать ошибки в Maven.

Для создания заготовки проекта используем Maven и Endpoints Skeleton Archetype:

Выбираем версию (по умолчанию — последняя).

Define value for property ‘groupId’: — вводим groupId, это уникальный идентификатор нашего приложения, следуя Maven Guide to naming conventions on groupId, artifactId and version — как правило используется имя домена в обратном порядке, но с учетом допустимых символов package name rules — то есть в моем случае вместо com.appspot.hello-habrahabr-api надо ввести com.appspot.hellohabrahabrapi или com.appspot.hello_habrahabr_api (я выбрал последнее).

Define value for property ‘version’ — вводим номер версии, для GAE номер версий должен быть без точек, например не 1.0.3, а 1-0-3. Это связанно с тем, что на GAE доступны версии проекта по адресу вида <номер версии>..appspot.com.

Также в GAE используется формат <номер instance>.<нормер версии>..appspot.com — поэтому рекомендуется имя версии начинать с буквы например v-1-0 или ver-1-0, чтобы отличать от номера запущеной instance.

По этой причине вариант предлагаемый Maven по умолчанию — 1.0-SNAPSHOT — лучше заменять формат подходящий по стандартам GAE.

Define value for property ‘package’ — обычно принимаем предложенное по умолчанию (будет соотвествовать groupId).

Подтверждаем выбранные настройки: Y (yes, по умолчанию).

Если все сделано правильно, получаем сообщение об успешной сборке:

Maven создаст папку имя которой будет соотвествовать artifactId с файлами проекта. Папка имеет следующую структуру:

pom.xml

Для начала нам следует отредактировать pom.xml который содержит настройки Maven для нашего проекта. В коде:

прописываем ту версию Maven, которая у нас установлена, в моем случае 3.1.0 я заменяю на 3.3.3.

src/main/webapp/WEB-INF/appengine-web.xml

и заменяем соотвественно на и версию (нужно заменить, автоматически из pom.xml оно значения не возьмет).

Если сборка была неуспешной, ищем ошибки в настройках. Если — успешной, загружаем проект на GAE:

При первом запуске Maven скачает Google App Engine SDK, и сохранит в

/.m2/repository/com/google/appengine/appengine-java-sdk/ <номер версии>(на Линукс).

Также при первом запуске из консоли нужно будет залогиниться в GAE, в окне браузера откроется диалог:

При нажатии на кнопку, в новом окне появиться код, который нужно скопировать и ввести в консоли.

Токены аутентификации пользователя храняться в

/.appcfg_oauth2_tokens_java. Если при попытке входа вы получаете сообщение 404 Not Found This application does not exist (app_id=u’‘) — это возможно связанно с тем, что вы были залогинены под другим эккаунтом. Переименуйте (или удалите) этот файл и попробуйте снова.

Если команда mvn appengine:update выполнена успешно («BUILD SUCCESS») значит первоначальные настройки сделаны успешно.

Наблюдался баг при загрузке в версии 1.9.21, который можно было исправить следующим образом: в pom.xml во всех местна заменяем appengine.version на appengine.sdk.version (см. code.google.com/p/googleappengine/issues/detail?id=12009) В текущей верси (1.9.27) баг не проявляется, но знать на всякий случай не помешает.

В версии 1.9.27 при загрузке можно получить сообщение:

Читайте также:  junique что это за папка

Несмотря на это предупреждение, загрузка должна проходить успешно.

Настраиваем Git на GAE

Сначала инициализируем git репозиторий в директории проекта:

Переходим в консоль разработчика: console.developers.google.com/project, и выбираем наш проект.

Выбираем в меню: Source code > Browse. Сайт предложит создать репозиторий Git. Жмем «Get started»

Можно скопировать код с существующего репозитория на Github или Bitbucket, загрузить (push) код со своего копьютера, или клонировать (clone) код проекта с GAE на свой компьютер. Выберем «push». Получаем инструкцию:

1.Установить Google Cloud SDK

Инструкции по установке. Для Linux / Mac OS X:

В будущем настройки можно поменять командой: gcloud config.

Стереть настройки Google Cloud SDK:

gcloud config unset account — стереть учетную запись в настройках

gcloud config unset project — стереть имя проекта в настройках

2. Производим аутентификацию

На Linux / Mac OS X:

3. Добавляем удаленный git репозиторий GAE

4. Выгружаем в удаленный репозиторий

Чтобы клонировать репозиторий из облака GAE на локальную машину, нам потребуется:

Установить Google Cloud SDK как указано выше.

Клонировать репозиторий на локальную машину (инструкция на сайте предлагающая для этого gcloud init — устарела):

Переходим в созданную директорию, пишем и коммитим код в локальном репозитории, и

Для атоматизации работы можно использовать следующий скрипт (что-то вроде commit.push.build.and.upload.sh):

Если приходится переключаться между проектами, в директорию проекта стоит разместить скрипт для быстрой и удобной смены настроек (set.account.sh):

Приступаем к написанию API

Запускаем любимый редактор или IDE.

Прежде всего рассмотрим как выглядит WEB-INF/web.xml. В нашем случае:

Обратим внимание, что все запросы к API направляются по адресу: /_ah/spi/* и обрабатываются сервлетом com.google.api.server.spi.SystemServiceServlet (SystemServiceServlet).

Одна из основных «фишек» Cloud Endpoints — веб-интерфейс для тестирования API (API Explorer) достутпен по адресу <проект ID>.appspot.com/_ah/api/explorer.

Для моделирования данных принимаемых и выдаваемых API используются JavaBean, т.е. классы, отвечающие требованиям:

* публичный (public) конструктор без параметров. В данном случае конструктор должен быть указан в явном виде, хотя в примерах на сайте Google это упускают, но без конструктора на практике не работает.

* все свойства класса приватные, доступ через get/set (для boolean getter также должен начинаться с get, а не так как сгенерирует IDE).

* класс должен быть сериализуем (в явном виде можно не указывать).

Создадим два класса:

Теперь пишем класс для первого API-метода. Редактируем YourFirstApi.java, и вставим туда следующий код:

Веб-интерфейс к API (APIs Explorer)

Теперь деплоим (mvn clean install && mvn appengine:update) и открываем в веб-браузере адрес https://<проект ID>.appspot.com/_ah/api/explorer, в моем случае hello-habrahabr-api.appspot.com/_ah/api/explorer.

Кликаем на название нашего API (если мы создадим несколько классов в аннотацией Api — из будет несколько) и видим методы, содержащиеся в этом API (методы класса с аннтотацией @ApiMethod):

Кликнув по полю «Request body» мы можем заполнить данные запроса получаемого api-методом:

Далее мы можем выбрать «Autorize and execute» — и тогда нам потребуется пройти авторизацию ипользуя учетную запись Google (@ gmail.com) либо выбрать «Execute without OAuth», поскольку наше API пока никак не использует авторизацию, мы увидим одинаковые результаты с авторизацией и без:

Logging

Логи доступны по адресу: console.developers.google.com/project/<проект ID>/logs.

Настройки в файле /src/main/webapp/WEB-INF/logging.properties и /src/main/webapp/WEB-INF/appengine-web.xml.

Для того чтобы наш класс выдавал сообщения в лог, нужно классе API:

Авторизация OAuth 2.0 используя учетную запись Google (@ gmail.com)

В Constants.java добавим:

Это необходимо для тестирования OAuth-защищенных API-методов в APIs Explorer.

Наш Constants.java будет выглядеть следующим образом:

Теперь создадим новый класс:

И пропишем его в init-param сервлета SystemServiceServlet в web.xml:

Деплоим проект, и смотрим API Explorer:

Мы видим новое API в списке, кликнув по нему видим список его методов.

Кликаем на название метода:

Теперь, если мы нажмем «Execute without OAuth» получим Exception:

Если кликаем «Autorize and execute» — нужно залогиниться используя учетную запись Google. В Response соотвественно получим email, nickname и userId (уникальный номер пользователя Google).

Объект класса com.google.appengine.api.users.User предоставляется GAE и содержит информацию о текущем пользователе, если пользователь не авторизован, соотвественно null. Таким образом мы можем проводить авторизацию используя логин-пароль учетной записи Google.

Как уже упоминалось на Хабре (Иногда лучше меньше — почему только Google-авторизация?, Юзабилити форм авторизации) проект вообще может обойтись без собственной обработки логинов и паролей.

На мой взгляд, это правильный подход, в первую очередь с точки зрения безопасности. Естественно, мы можем делать «регистрацию» на сайте после ввода дополнительной информации, платежа, и т.п.

Создание фронтэнда на AngularJS рассмотрим в следующей статье.

Источник

Создание проекта в Google Cloud Console

В этом руководстве показано, как создать проект Google Cloud, чтобы начать использовать API, доступные на платформе Google Карт. Часть этих инструкций также приводится на странице Начало работы с платформой Google Карт, но мы рекомендуем прочитать эту статью целиком, поскольку она поможет вам в управлении проектами.

Создание проекта

Чтобы управлять сервисами, учетными данными, оплатой, а также использовать API и SDK на платформе Google Карт, необходимо создать проект.

Читайте также:  регион abh какое государство

Оплату сервисов требуется настроить для каждого проекта, однако она будет взиматься только в случае превышения бесплатной квоты.

Чтобы создать проект Google Cloud с включенной оплатой, выполните следующие действия:

Консоль

Создайте проект Google Cloud в Cloud Console.

Заполните обязательные поля на странице Создание проекта.

Название проекта. Используйте название по умолчанию или введите собственное.

Вы можете изменить название проекта в любой момент. Подробная информация приведена в разделе об идентификации проектов.

Идентификатор проекта. Используйте вариант по умолчанию или нажмите Изменить, чтобы указать собственный идентификатор, который API Google будут использовать для определения вашего проекта.

Идентификатор проекта нельзя изменить после создания проекта. Поэтому важно сразу выбрать подходящий вариант, так как он будет связан с проектом на протяжении всего периода его действия. Идентификатор проекта не должен содержать конфиденциальную информацию.

Платежный аккаунт. Выберите платежный аккаунт для проекта. Если у вас только один платежный аккаунт или его нет вообще, этот пункт не будет отображаться на странице.

У вас должна быть роль администратора платежного аккаунта или менеджера управления оплатой в проекте, чтобы связать этот проект с платежным аккаунтом. Подробная информация приведена в этой документации.

Местоположение. Если вы хотите привязать к проекту организацию, нажмите Обзор. Вы также можете выбрать вариант «Без организации».

Нажмите Создать.

gcloud

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Настройка оплаты

Чтобы развернуть приложение, необходимо включить оплату, однако она будет взиматься только в случае превышения бесплатной квоты. То есть вы будете платить только за не покрываемые квотой дополнительные ресурсы, если они понадобятся для работы вашего приложения.

Если у вас уже есть платежный аккаунт, он будет автоматически связан с созданным проектом.

Чтобы включить оплату для проекта Google Cloud, выполните следующие шаги:

В Cloud Console перейдите на страницу «Оплата».

Выберите или создайте проект Google Cloud.

Информация, которую вы увидите на странице «Оплата», зависит от того, есть ли у вас платежный аккаунт и связан ли он с выбранным проектом Google Cloud:

Если для выбранного проекта Google Cloud уже включена оплата, на странице отображаются сведения о платежном аккаунте.

Если у вас нет платежного аккаунта, вам будет предложено создать его и связать с проектом.

Если у вас есть платежный аккаунт, но он не связан с проектом, вам будет предложено включить оплату. Вы также можете нажать Отмена, а затем – Создать аккаунт, чтобы создать новый платежный аккаунт и связать с проектом его.

Учтите, что ограничений на сумму оплаты нет. Чтобы контролировать расходы, укажите бюджет и настройте оповещения о его превышении. Подробнее о настройке оплаты…

Включение API

Для работы с платформой Google Карт вам потребуется включить API и SDK, которые будут использоваться в проекте.

Консоль

Cloud SDK

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Просмотр включенных API

Консоль

Чтобы посмотреть список включенных API и SDK, перейдите на страницу «Платформа Google Карт» в Cloud Console.

gcloud

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Управление оплатой

Выберите проект в Cloud Console.

В разделе «Оплата» можно выполнить следующие действия:

Настройка бюджетов и оповещений об их превышении

Вы можете указать бюджет, включить оповещения и отслеживать все платежи, связанные с проектами Google Cloud, чтобы избежать непредвиденных расходов. Оповещения будут отправляться администраторам ваших платежных аккаунтов по электронной почте в случае превышения указанной суммы.

Консоль

Чтобы настроить бюджет и оповещения о его превышении для проекта Google Cloud, выполните следующие действия:

В Cloud Console перейдите на страницу «Оплата».

gcloud

Включите нужный API, чтобы задать бюджет для оплаты.

Укажите бюджет, чтобы получать оповещение, когда фактические расходы достигнут 50 % от этой суммы и когда прогнозируемые расходы достигнут 75 % от нее.

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Удаление проекта

Чтобы отключить оплату и ресурсы, используемые для проекта Google Cloud, необходимо удалить проект. Для этого выполните следующие действия:

Консоль

Перейдите на страницу «Проекты».

Выберите проект Google Cloud, который вы хотите закрыть, и нажмите Удалить.

Подробная информация об управлении проектами Google Cloud доступна на странице Cloud Resource Manager: создание, удаление и восстановление проектов.

gcloud

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Что дальше

После настройки проекта Google Cloud необходимо создать и защитить ключ API, чтобы начать использовать Maps SDK для Android.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Источник

Сказочный портал