ใใฎใใญใฅใกใณใใงใฏใAPI ใชใฏใจในใใไฝๆใใฆใCompute Engine API ใใใฎ API ใฌในใใณในใๅฆ็ใใๆนๆณใซใคใใฆ่ชฌๆใใพใใใใฎใใญใฅใกใณใใง่ชฌๆใใๅ ๅฎนใฏไปฅไธใฎใจใใใงใใ
- ใชใฏใจในใๆฌๆใไฝๆใใใ
- ใชใฏใจในใใซๅฟ ่ฆใชใชใฝใผใน URI ใ็ขบ่ชใใใ
- API ใฌในใใณในใๅฆ็ใใใ
- API ใชใฏใจในใใๆๅใใใใฉใใใ็ขบ่ชใใใ
ใใฎใใญใฅใกใณใใงใฏใAPI ใฎ่ช่จผๆนๆณใซใคใใฆใฏ่ชฌๆใใพใใใAPI ใฎ่ช่จผๆนๆณใซใคใใฆใฏใCompute Engine ใธใฎ่ช่จผใใ่ฆงใใ ใใใ
ๅงใใๅใซ
- REST API ใซใคใใฆ็่งฃใๆทฑใใพใใ
- Compute Engine API ใซๅฏพใใ่ช่จผใฎๆนๆณใๅญฆ็ฟใใพใใ
API ใชใฏใจในใใฎไฝๆ
Compute Engine API ใฏใAPI ใชใฏใจในใใ JSON ๅฝขๅผใง่จ่ฟฐใใใฆใใใใฎใจใใฆๅฆ็ใ้ฒใใพใใAPI ใชใฏใจในใใไฝๆใใใซใฏใcurl
ใพใใฏ httplib2
ใฎใใใชใใผใซใไฝฟ็จใใฆ็ดๆฅ HTTP ใชใฏใจในใใ่กใใใๅฉ็จๅฏ่ฝใชใฏใฉใคใขใณใ ใฉใคใใฉใชใฎไธใคใไฝฟ็จใใพใใ
ใชใฏใจในใๆฌๆใๅฟ
่ฆใจใใ API ใชใฏใจในใ๏ผPOST
ใUPDATE
ใPATCH
ใชใฏใจในใใชใฉ๏ผใ่กใๅ ดๅใใชใฏใจในใใฎๆฌๆใซใฏใใใฎใชใฏใจในใใง่จญๅฎใใใชใฝใผใน ใใญใใใฃใๅซใใพใใใใจใใฐใๆฌกใฎ curl
ใณใใณใใฏใใคใณในใฟใณใน ใชใฝใผใน URI ใซๅฏพใใฆ POST
ใชใฏใจในใใ่กใใพใใใใฎใชใฏใจในใใงใฏใใชใฏใจในใใฎๆฌๆใซๅฎ็พฉใใใใใญใใใฃใๆใคใคใณในใฟใณในใไฝๆใใใพใใใชใฏใจในใใฎๆฌๆใฏใ-d
ใใฉใฐใงๆๅฎใใพใใ
curl -X POST -H "Authorization: Bearer [OAUTH_TOKEN]" -H "Content-Type: application/json" \ https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances -d \ '{ "disks":[ { "boot":"true", "initializeParams":{ "sourceImage":"https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-10-buster-v20210122" } } ], "machineType":"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/e2-standard-2", "name":"VM_NAME", "networkInterfaces":[ { "accessConfigs":[ { "name":"external-nat", "type":"ONE_TO_ONE_NAT" } ], "network":"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default" } ] }'
ใคใกใผใธ URI ใฎใใญใธใงใฏใ ID๏ผdebian-cloud
๏ผใใใฆใผใถใผใฎใใญใธใงใฏใ ID ใจ็ฐใชใฃใฆใใพใใใใใฏใคใกใผใธใใใฎใฟใคใใซๅฟใใฆใ็ฐใชใใใญใธใงใฏใใซๅฑใใใใใงใใใใจใใฐใCompute Engine ใซใใฃใฆๆไพใใใฆใใใในใฆใฎไธ่ฌๅ
ฌ้ Debian ใคใกใผใธใฏใdebian-cloud
ใใญใธใงใฏใใงใในใใใใฆใใพใใ
ๅฅใฎใชใฝใผในใๅ็
งใใๅ ดๅใฏใๅฎๅ
จไฟฎ้ฃพใชใฝใผใน URI ใไฝฟ็จใใพใใใใจใใฐใnetwork
ใใญใใใฃใงใฏใdefault
ใใใใฏใผใฏใธใฎๅฎๅ
จไฟฎ้ฃพ URI ใไฝฟ็จใใพใใ
API ใชใฏใจในใใฎไพ
Python
Java
URI ใชใฝใผในใฎไฝๆ
Compute Engine API ใงใฏใๅฅใฎ Google Cloud ใชใฝใผในใธใฎๅ็ งใๅฎๅ จไฟฎ้ฃพ URI ใจใใฆๆๅฎใใพใใ
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/RESOURCE_TYPE/SPECIFIC_RESOURCE
API ใไฝฟ็จใใๅ ดๅใใคใกใผใธใใใทใณใฟใคใใใใใใฏใผใฏใใใฎไปใฎใชใฝใผในใๆๅฎใใ้ใซใฏๅธธใซใใใฎใชใฝใผในใฎ URI ใๆๅฎใใๅฟ ่ฆใใใใพใใGoogle Cloud CLI ใ Google Cloud ใณใณใฝใผใซใชใฉใฎใฏใฉใคใขใณใ ใใผใซใไฝฟ็จใใใฐใใใใใฎใชใฝใผใน URI ใฎไฝๆใจใใ้ขๅใชไฝๆฅญใใในใฆ่ฉไปฃใใใใฆใใใพใใใAPI ใ็ดๆฅๆไฝใใๅ ดๅใฏใใใใใฎใชใฝใผใน URI ใ่ชๅใงไฝๆใใๅฟ ่ฆใใใใพใใ
ใชใฝใผใน URI ใฏใใชใฝใผในใฎใฟใคใใซๅฟใใฆ่ฅๅนฒ็ฐใชใใพใใใใจใใฐใใพใผใณใชใฝใผในใซใฏใURI ใซ zone
ไปๆงใใใใพใใ
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/e2-standard-2
ใชใผใธใงใณ ใชใฝใผในใงใฏใzone
ไปๆงใ region
ไปๆงใซ็ฝฎใๆใใใพใใ
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
ๅๆงใซใใฐใญใผใใซ ใชใฝใผในใงใฏใglobal
ไปๆงใซใชใใพใใ
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/VM_NAME
Compute Engine API ใงใฏใใใญใธใงใฏใ ID ใชใฉใฎๆ ๅ ฑใๆจๆธฌใงใใใใใ้จๅ URI ใไฝฟ็จใงใใพใใใใฎใใใๆฌกใฎใใใซใไธ่จ URI ใฎ้จๅ URI ใใผใธใงใณใไฝฟ็จใงใใพใใ
zones/ZONE/machineTypes/e2-standard-2
regions/REGION/addresses/ADDRESS_NAME
project/PROJECT_ID/global/images/VM_NAME
้จๅ URI ใงใฏใใพใผใณ URI ใจใชใผใธใงใณ URI ใฎไธกๆนใงใใญใธใงใฏใ ID ใ็็ฅใใใฆใใพใใใใคใกใผใธ URI ใงใฏ็็ฅใใใฆใใพใใใใใใฏใCompute Engine ใซใใฃใฆไธ่ฌๅ
ฌ้ใใใฆใใใคใกใผใธใไปใฎใใญใธใงใฏใ๏ผใในใฆใฎ Debian ใคใกใผใธใฏ debian-cloud
ใใในใฆใฎ Ubuntu ใคใกใผใธใฏ ubuntu-os-cloud
ใชใฉ๏ผใงใในใใใใฆใใใใใงใใใใใใใคใกใผใธใไฝฟ็จใใๅใซใ้ฉๅใชใใญใธใงใฏใ ID ใๆๅฎใใๅฟ
่ฆใใใใพใใใคใกใผใธใฎใใญใธใงใฏใ ID ใ็็ฅใใใจใCompute Engine ใฏ็พๅจใฎใใญใธใงใฏใๅ
ใฎใคใกใผใธใ่ฆใคใใใใจใใพใใใใคใกใผใธใๅญๅจใใชใใใใใชใฏใจในใใฏๅคฑๆใใพใใ
ใใ ใใใใญใธใงใฏใ๏ผใใฎใชใฝใผในใไฝๆใใฆใใใใญใธใงใฏใ๏ผใซๅฑใใใซในใฟใ ใคใกใผใธใไฝฟ็จใใๅ ดๅใฏใใคใกใผใธ URI ใๆๅฎใใ้ใซใใญใธใงใฏใใฎๆๅฎใ็็ฅใงใใพใใ
ๅฟ ่ฆใชใใญใใใฃใฎ็ขบ่ช
v1 API ใจใใผใฟ็ API ใงๅฉ็จๅฏ่ฝใช Compute Engine API ใชใใกใฌใณใน ใใญใฅใกใณใใงใฏใ็นๅฎใฎใชใฝใผในใซ่จญๅฎๅฏ่ฝใชใในใฆใฎใใญใใใฃใซใคใใฆ่ชฌๆใใฆใใพใใใใฎใชใใกใฌใณใน ใใญใฅใกใณใใงใฏใๅคๆดๅฏ่ฝใชใใญใใใฃใจๅคๆดไธๅฏใฎใใญใใใฃ๏ผใใญใใใฃใฎ่ชฌๆใง [Output Only]
ใจใใผใฏใใใฆใใ๏ผใๅบๅฅใใฆใใพใใใใชใฝใผในใฎๅฟ
้ ใใญใใใฃใ็ขบ่ชใใใซใฏใใใฎใฟในใฏใซๅบๆใฎใใญใฅใกใณใใๅ็
งใใๅฟ
่ฆใใใใพใใ
ใใจใใฐใใคใณในใฟใณในใไฝๆใใๅ ดๅใฏใใคใกใผใธใใใฎใคใณในใฟใณในใฎไฝๆใฎใใญใฅใกใณใใงใใชใฏใจในใใซๅฟ ่ฆใช API ใใญใใใฃใ็ขบ่ชใใฆใใ ใใใAPI ใง้็ๅค้จ IP ใขใใฌในใไฝๆใใๅ ดๅใฏใ้็ๅค้จ IP ใขใใฌในใฎใใญใฅใกใณใใใ่ฆงใใ ใใใ
API ใชใฏใจในใใฎๆค่จผ
API ใชใฏใจในใใๆค่จผใใใซใฏ:
- Compute Engine API ใชใใกใฌใณในใงใใณใผใใๅผใณๅบใใกใฝใใใ็ขบ่ชใใพใใใใจใใฐใ
v1/compute.instances.insert
ใงใใ ใณใณใใณใ ใกใใฅใผใใ [่ฉฆใใฆใฟใ] ใใฏใชใใฏใใพใใ[ใใฎ API ใ่ฉฆใ] ใฆใฃใณใใฆใ้ใใพใใ
ๆค่จผใงใฏใชใฏใจในใใ้ไฟกใใๅฟ ่ฆใใชใใใใ[ใชใฏใจในใ ใใฉใกใผใฟ] ใงใใญใธใงใฏใใใพใผใณใๆๅฎใใๅฟ ่ฆใฏใใใพใใใ
[ใชใฏใจในใๆฌๆ] ใซใใชใฏใจในใใ่ฒผใไปใใพใใ
ใชใฏใจในใใฎๅฝขๅผใๆญฃใใใชใ่ฆ็ด ใซใไธ็ทใๅผใใใพใใๅฏพๅฆใในใๅ้กใฎ่ฉณ็ดฐใซใคใใฆใฏใไธ็ทไปใใฎใปใฏใทใงใณใใฏใชใใฏใใฆใใ ใใใ
API ใฌในใใณในใฎๅฆ็
ใใผใฟใๅคๅใใใ๏ผๅคๆดใใ๏ผใชใฏใจในใใไฝๆใใใจใCompute Engine ใฏ Operation
ใชใใธใงใฏใใ่ฟใใพใใใชใฏใจในใใฎใชใใฌใผใทใงใณใฎในใใผใฟในใฏใใใฎใชใใธใงใฏใใใใผใชใณใฐใใใใจใงๅๅพใงใใพใใOperation
ใชใฝใผในใฏใๆฌกใฎใใใชๅฝขใซใชใใพใใ
{ "kind": "compute#operation", "id": "7127550864823803662", "name": "operation-1458856416788-52ed27a803e22-1c3bd86a-9e95017b", "zone": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE", "operationType": "insert", "targetLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/EXAMPLE_VM", "targetId": "4132355614508179214", "status": "PENDING", "user": "user@example.com", "progress": 0, "insertTime": "2016-03-24T14:53:37.788-07:00", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations/operation-1458856416788-52ed27a803e22-1c3bd86a-9e95017b" }
ๅ
ใฎใชใฏใจในใใใพใผใณใชใฝใผในใๅคๆดใใๅ ดๅ๏ผใใฃในใฏใฎในใใใใทใงใใใใคใณในใฟใณในใฎๅๆญขใชใฉ๏ผใCompute Engine ใฏ zoneOperations
ใชใใธใงใฏใใ่ฟใใพใใๅๆงใซใใชใผใธใงใณ ใชใฝใผในใจใฐใญใผใใซ ใชใฝใผในใฏใใใใใ regionOperations
ใชใใธใงใฏใใพใใฏ globalOperations
ใชใใธใงใฏใใ่ฟใใพใใใชใใฌใผใทใงใณใฎในใใผใฟในใๅๅพใใใซใฏใ็นๅฎใฎ Operation
ใชใฝใผในใซๅฏพใใฆ get
ใกใฝใใใพใใฏ wait
ใกใฝใใใไฝฟ็จใใใชใฏใจในใใ่กใใใชใใฌใผใทใงใณใฎ name
ใๆๅฎใใพใใ
Operation
ใชใฝใผในใฎในใใผใฟในใ DONE
ใจ่ฟใใใใพใงใชใฏใจในใใฏๅฎไบใใฆใใพใใใใชใฏใจในใใฎๆง่ณชใซใใฃใฆใฏใๅฎไบใพใงใซๆ้ใ่ฆใใใใจใใใใพใใOperation
ใชใฝใผในใฎในใใผใฟในใ DONE
ใจใใฆ่ฟใใใใใใชใใฌใผใทใงใณใๆๅใใใใฉใใใใจใฉใผใ็บ็ใใฆใใชใใใฉใใใ็ขบ่ชใงใใพใใ
ใใจใใฐใๆฌกใฎใฌในใใณในใฏใไธ่จใฎใชใใฌใผใทใงใณใๅฎไบใใใใจ่กจใใฆใใใDONE
ในใใผใฟในใซใใ็คบใใใฆใใพใใ
endTime: '2016-03-24T14:54:07.119-07:00' id: '7127550864823803662' insertTime: '2016-03-24T14:53:37.788-07:00' kind: compute#operation name: operation-1458856416788-52ed27a803e22-1c3bd86a-9e95017b operationType: insert progress: 100 selfLink: https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations/operation-1458856416788-52ed27a803e22-1c3bd86a-9e95017b startTime: '2016-03-24T14:53:38.397-07:00' status: DONE targetId: '4132355614508179214' targetLink: https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/EXAMPLE_VM user: user@example.com zone: https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE
็ขบ่ชใใใซใฏใใชใฝใผในใซๅฏพใใฆ get
ใชใฏใจในใใ่กใใใชใฝใผในใๅญๅจใใๅฎ่กไธญใงใใใใจใ็ขบใใใพใใๆฌกใซไพใ็คบใใพใใ
GET /compute/v1/projects/PROJECT_ID/zones/ZONE/instances/EXAMPLE_VM { "cpuPlatform": "Intel Haswell", "creationTimestamp": "2016-03-24T14:53:37.170-07:00", "disks": [ ..[snip].. "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/EXAMPLE_VM", "status": "RUNNING", "tags": { "fingerprint": "42WmSpB8rSM=" }, "zone": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE" }
ใชใใฌใผใทใงใณใฎใใผใชใณใฐ
ใชใใฌใผใทใงใณใๅฎๆ็ใซใใผใชใณใฐใใใณใผใใฏใget
ใชใฏใจในใใใใชใใฌใผใทใงใณใฎในใใผใฟในใ DONE
ใซใชใฃใใจใใซๆปใฃใฆใใ wait
ใชใฏใจในใใไฝฟ็จใใฆไฝๆใงใใพใใ
get
ใชใฏใจในใใไฝฟ็จใใใจใใชใใฌใผใทใงใณใฎในใใผใฟในใซ้ขไฟใชใใใชใใฌใผใทใงใณใใใใซ่ฟใใใพใใใชใใฌใผใทใงใณใๅฎไบใใใใฉใใใ็ฅใใใใซใฏใใชใใฌใผใทใงใณใๅฎๆ็ใซใใผใชใณใฐใใๅฟ
่ฆใใใใพใใ
wait
ใชใฏใจในใใไฝฟ็จใใใจใใชใใฌใผใทใงใณใ DONE
ใซใชใใใใชใฏใจในใใ 2 ๅ้ใฎๆ้ใซ่ฟใฅใใจใชใฏใจในใใๆปใใพใใใชใใฌใผใทใงใณใใใผใชใณใฐใใใซใฏใwait
ใ get
ใไฝฟ็จใใพใใใwait
ใกใฝใใใฎๆนใ get
ใกใฝใใใใๆใใใชใกใชใใใใใใพใใ
- ใฏใฉใคใขใณใใงใชใใฌใผใทใงใณ ในใใผใฟในใใใผใชใณใฐใใ้ ปๅบฆใไธใใใใจใงใCompute Engine API ใฎ QPS ไฝฟ็จ้ใๅๆธใงใใพใใ
- ใชใใฌใผใทใงใณใๅฎไบใใฆใใใฏใฉใคใขใณใใซใชใใฌใผใทใงใณใฎๅฎไบใ้็ฅใใใใพใงใฎๅนณๅใฌใคใใณใทใฏใใชใใฌใผใทใงใณใๅฎไบใใใใใใซใตใผใใผใๅฟ็ญใใใใใๅคงๅน ใซๅๆธใใใพใใ
- ใใฎใกใฝใใใฏๆ้ไปใใงๅพ
ๆฉใใพใใใใฎใกใฝใใใฏใใใใฉใซใใฎ HTTP ใฟใคใ ใขใฆใ๏ผ2 ๅ๏ผใพใงๅพ
ๆฉใใใจใใชใใฌใผใทใงใณใฎ็พๅจใฎ็ถๆ
๏ผ
DONE
ใพใใฏ้ฒ่กไธญ๏ผใ่ฟใใพใใ
wait
ใกใฝใใใฏใใในใ ใจใใฉใผใใฎ API ใงใใใตใผใใผใ้่ฒ ่ท็ถๆ
ใซใชใใจใใใใฉใซใใฎๆ้ใซ้ใใๅใใ0 ็ง้ใฎๅพ
ๆฉใงใชใฏใจในใใๆปใใใจใใใใพใใใพใใใชใใฌใผใทใงใณใ DONE
ใฎๅ ดๅใซใฎใฟใกใฝใใใๆปใใใจใฏไฟ่จผใใพใใใใใจใใฐใใชใฏใจในใใ 2 ๅ้ใฎๆ้ใซ่ฟใฅใใจใใชใใฌใผใทใงใณใๅฎไบใใฆใใชใใฆใใกใฝใใใๆปใใพใใใชใใฌใผใทใงใณใ็ขบ่ชใใใซใฏใwait
ใกใฝใใใพใใฏ get
ใกใฝใใใ๏ผในใชใผใใ้ใซๆใใ ๅ่ฉฆ่กใซใผใใง๏ผไฝฟ็จใใใชใใฌใผใทใงใณใฎในใใผใฟในใๅฎๆ็ใซใใผใชใณใฐใใใใจใใใใใใใพใใๆๅคงๅ่ฉฆ่ก้้ใฏใๆๅฐใชใใฌใผใทใงใณไฟๆๆ้ใ่ถ
ใใชใใใใซใใฆใใ ใใใ
ใใผใชใณใฐใฎไพ
ๆฌกใฎไพใงใฏใget
ใกใฝใใใไฝฟ็จใใพใใget
ใกใฝใใใฏ wait
ใกใฝใใใซ็ฝฎใๆใใใใจใใงใใพใใ