ellis-wu / GCP-traning

GCP APIs Traning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GCP Example

GCP APIs example.

Before running

  1. If not already done, enable the Compute Engine API and check the quota for your project at https://console.developers.google.com/apis/api/compute

  2. This sample uses Application Default Credentials for authentication. If not already done, install the gcloud CLI from https://cloud.google.com/sdk/ and run

    $ gcloud beta auth application-default login
  3. Install the Python client library for Google APIs by running

    $ pip install --upgrade google-api-python-client
  4. Install the Python library Magic

$ pip install python-magic


## Starting
* [project operation](#project-operation)
* [list](#list)
* [create](#create)
* [delete](#delete)
* [instance operation](#instance-operation)
* [list](#list-1)
* [get](#get)
* [create](#create-1)
* [delete](#delete-1)
* [bucket operation](#bucket-operation)
* [list](#list-2)
* [get](#get-1)
* [create](#create-2)
* [delete](#delete-2)
* [object operation](#object-operation)
* [list](#list-3)
* [upload](#upload)
* [delete](#delete-3)

> * __*請以管理者權限進行操作!*__
> * 若遇到 `Google Application Default Credentials` 問題,請參考:[Google Application Default Credentials](https://developers.google.com/identity/protocols/application-default-credentials)

## project operation
Project manager 相關操作

### list
顯示所有 Project 的資訊:
```sh
$ ./gcpclient project list

create

建立一個新的 Project:

$ ./gcpclient project create {project name} {project ID}

project_id 必須是唯一,不可重複。

delete

刪除 project:

$ ./gcpclient project delete {project ID}

Shutting down a project does not delete the project immediately and only requests deleting the project. The project will be deleted at some later time. For more information see the Overview page.

instance operation

GCP instance 相關操作

list

顯示專案中所有 instance 的資訊:

$ ./gcpclient instance list {project_id} {zone}

get

取得 instance 的資訊:

$ ./gcpclient instance get {project_id} {zone} {instance}

create

建立一個基本的 debian-8 instance:

$ ./gcpclient instance create {project_id} {zone} {instance_id}

delete

刪除 Project 中已存在的 instance:

$ ./gcpclient instance delete {project_id} {zone} {instance_id}

bucket operation

Cloud Storage bucket 相關操作

list

顯示專案中所有 bucket 的資訊:

$ ./gcpclient bucket list {project ID}

get

取得 bucket 的資訊:

$ ./gcpclient bucket get {bucket}

create

建立一個新的 bucket:

$ ./gcpclient bucket create {project ID} {bucket}

delete

刪除 bucket:

$ ./gcpclient bucket delete {bucket}

object operation

Cloud Storage object 相關操作

list

顯示 bucket 中所有 object 的資訊:

$ ./gcpclient object list {bucket}

upload

上傳 object 至指定 bucket 中:

$ ./gcpclient object upload {bucket} {file path} {file name}

delete

刪除指定 bucket 中的 object:

$ ./gcpclient object delete {bucket} {file name}

About

GCP APIs Traning


Languages

Language:Python 100.0%