每個虛擬機器 (VM) 都會將中繼資料儲存在中繼資料伺服器的目錄中。您的 VM 可自動存取這個中繼資料伺服器 API,而無需其他任何授權。您可以使用本文件後續各節所述的方法,查看及查詢 VM 中繼資料值:
如果存取中繼資料伺服器時發生錯誤,請參閱排解中繼資料伺服器存取問題。
事前準備
- 如為 Windows Server VM,請使用 PowerShell 3.0 以上版本。建議您使用
ctrl+v
貼上複製的程式碼區塊。 - 請詳閱 Compute Engine 虛擬機器中繼資料的定義、分類和排列方式。詳情請參閱「關於 VM 中繼資料」。
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要在本機開發環境中執行程式碼或範例,您可以選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
Python
To use the Python samples on this page in a local development environment, install and initialize the gcloud CLI, and then set up Application Default Credentials with your user credentials.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
For more information, see Set up authentication for a local development environment.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
必要的角色
如要透過 Google Cloud 控制台、Google Cloud CLI 或 REST 從 VM 外部查看自訂中繼資料,就需要下列角色和權限。如果您要透過程式輔助方式從 VM 中查詢中繼資料,只需要連線至 VM 的角色和權限即可。
如要取得在 VM 外查看自訂中繼資料所需的權限,請要求管理員授予您下列 IAM 角色:
-
VM 或專案上的 Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1
) -
如果您的 VM 使用服務帳戶:
服務帳戶使用者 (
roles/iam.serviceAccountUser
) 服務帳戶或專案
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色包含從 VM 外部查看自訂中繼資料所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要在 VM 外查看自訂中繼資料,必須具備下列權限:
-
如要查看自訂專案中繼資料:
compute.projects.get
在專案上 -
如要查看自訂可用區中繼資料:
compute.instanceSettings.get
在專案中,查看所需可用區的執行個體設定 -
如要查看 VM 執行個體的自訂中繼資料,請按照下列步驟操作:
compute.instances.get
在 VM 上 -
如果您的 VM 使用服務帳戶:
iam.serviceAccounts.actAs
服務帳戶或專案
以程式輔助方式查詢中繼資料
您可以透過程式輔助方式,從 Linux 或 Windows VM 內查詢中繼資料值項目,存取所有中繼資料。您可以在 VM 中使用下列其中一種方式,透過程式輔助方式查詢中繼資料值,例如在 Linux 上使用 curl
,或在 Windows 上使用 Invoke-RestMethod
:
中繼資料伺服器端點
如要透過程式設計從 VM 內查詢中繼資料,您可以使用下列中繼資料伺服器端點:
- 對於所有 VM,您可以使用 HTTP 端點 (
http://metadata.google.internal/computeMetadata/v1
) 或其 IP 位址 (169.254.169.254
) 查詢中繼資料伺服器。即使是僅支援 IPv6 的執行個體 (預先發布版),也請使用 IPv4 位址。 對於受防護的 VM,您可以使用下列任一方法查詢中繼資料伺服器:
- HTTP 端點:
http://metadata.google.internal/computeMetadata/v1
- https 端點:(
https://metadata.google.internal/computeMetadata/v1
)。這個 https 端點可在預先發布版中使用。如要查看查詢 HTTPS 端點的格式,請參閱「使用 HTTPS 中繼資料伺服器端點查詢中繼資料」一文。
- HTTP 端點:
本文件中的大部分範例都使用 HTTP 端點。不過,無論您使用 https 或 http 端點,都能存取所有相同的中繼資料項目。
中繼資料要求的組成部分
下表總結了中繼資料查詢要求的主要部分。
元件 | 說明 |
---|---|
根網址 | 所有中繼資料值都會定義為以下根網址下的子路徑:
|
要求標頭 |
此標頭指示是在擷取中繼資料值的意圖之下傳送要求,而非隨意從不安全的來源傳送,並允許中繼資料伺服器傳回您要求的資料。如果您不提供此標頭,中繼資料伺服器會拒絕您的要求。 Metadata-Flavor: Google |
查詢單一中繼資料項目
請使用下列指令查詢單一中繼資料項目。
Linux
- 連線至 Linux VM。
在 Linux VM 中使用
curl
工具執行查詢。如要查詢 VM 執行個體或專案中繼資料項目,請執行下列指令:curl "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY" -H "Metadata-Flavor: Google"
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
舉例來說,如要查詢 VM 的啟動映像檔,請執行下列查詢:
user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/image" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
projects/rhel-cloud/global/images/rhel-8-v20210122
-
如要查看儲存在專案中繼資料中的
Windows
- 連線至 Windows VM。
在 Windows VM 中,使用
Invoke-RestMethod
指令執行查詢。如要查詢 VM 執行個體或專案中繼資料項目,請執行下列指令:$value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY") $value
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
舉例來說,如要查詢 VM 的啟動映像檔,請執行下列查詢:
PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/image") $value
輸出結果會與下列內容相似:
projects/windows-cloud/global/images/windows-server-2019-dc-v20210112
-
如要查看儲存在專案中繼資料中的
查詢中繼資料目錄清單
請使用下列指令查詢中繼資料目錄清單。目錄清單是包含其他中繼資料鍵的中繼資料項目。任何以斜線結尾的中繼資料項目都是目錄清單
Linux
連線至 Linux VM。
如要查詢 VM 例項或專案中繼資料目錄,請在 Linux VM 中執行下列指令:
curl "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_DIRECTORY/" -H "Metadata-Flavor: Google"
請將
PATH_TO_METADATA_DIRECTORY
替換為您要遞迴查詢清單的 VM 執行個體或專案中繼資料目錄路徑。例如:-
如要查看
attributes
專案中繼資料目錄項目,請指定路徑project/attributes/
。 -
如要查看
disks
VM 執行個體中繼資料目錄項目,請指定instance/disks/
路徑。
舉例來說,請考量
disks/
項目,這是附加至 VM 的磁碟目錄。如要查詢disks/
項目,請完成下列步驟:在磁碟目錄上執行
curl
工具 指令。user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
0/ 1/ 2/
如果您想要進一步瞭解磁碟
0/
目錄,可以查詢該目錄的特定網址:user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/0/" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
device-name index mode type
接著,如要查詢磁碟
0/
的磁碟類型 (type
),您可以執行以下指令:user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/0/type" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
PERSISTENT
-
如要查看
Windows
disks/
項目是附加至 VM 的磁碟目錄。如要查詢磁碟項目,請完成下列步驟:
連線至 Windows VM。
如要查詢 VM 例項或專案中繼資料目錄,請在 Windows VM 中執行下列指令:
$value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_DIRECTORY/") $value
請將
PATH_TO_METADATA_DIRECTORY
替換為您要遞迴查詢清單的 VM 執行個體或專案中繼資料目錄路徑。例如:-
如要查看
attributes
專案中繼資料目錄項目,請指定路徑project/attributes/
。 -
如要查看
disks
VM 執行個體中繼資料目錄項目,請指定instance/disks/
路徑。
舉例來說,請考量
disks/
項目,這是附加至 VM 的磁碟目錄。如要查詢disks/
項目,請完成下列步驟:在磁碟目錄中使用
Invoke-RestMethod
指令。PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/disks/") $value
輸出結果會與下列內容相似:
0/ 1/ 2/
如要進一步瞭解磁碟
0/
目錄,可以查詢該目錄的特定網址:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/disks/0/") $value
輸出結果會與下列內容相似:
device-name index mode type
接著,如要查詢磁碟
0/
的磁碟類型 (type
),您可以執行以下指令:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/disks/0/type") $value
輸出結果會與下列內容相似:
PERSISTENT
-
如要查看
以遞迴方式查詢目錄清單
如果您想傳回目錄下的所有內容,請在要求中使用 recursive=true
查詢參數:
Linux
連線至 Linux VM。
在 Linux VM 中,使用
curl
工具執行查詢。如要遞迴查詢 VM 執行個體或專案中繼資料目錄的清單,請執行下列指令:curl "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_DIRECTORY/?recursive=true" -H "Metadata-Flavor: Google"
請將
PATH_TO_METADATA_DIRECTORY
替換為您要遞迴查詢清單的 VM 執行個體或專案中繼資料目錄路徑。例如:-
如要查看
attributes
專案中繼資料目錄項目,請指定路徑project/attributes/
。 -
如要查看
disks
VM 執行個體中繼資料目錄項目,請指定instance/disks/
路徑。
舉例來說,下列指令會遞迴查詢
disks/
目錄的執行個體中繼資料清單。user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/?recursive=true" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
[{"deviceName":"boot","index":0,"mode":"READ_WRITE","type":"PERSISTENT"}, {"deviceName":"persistent-disk-1","index":1,"mode":"READ_WRITE","type":"PERSISTENT"}, {"deviceName":"persistent-disk-2","index":2,"mode":"READ_ONLY","type":"PERSISTENT"}]
遞迴內容預設會以 JSON 格式傳回。如果您想傳回文字格式中的這些內容,請加上
alt=text
查詢參數:user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/?recursive=true&alt=text" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
0/device-name boot 0/index 0 0/mode READ_WRITE 0/type PERSISTENT 1/device-name persistent-disk-1 1/index 1 1/mode READ_WRITE 1/type PERSISTENT 2/device-name persistent-disk-1 2/index 2 2/mode READ_ONLY 2/type PERSISTENT
-
如要查看
Windows
連線至 Windows VM。
在 Windows VM 中,使用
Invoke-RestMethod
指令執行查詢。如要遞迴查詢 VM 例項或專案中繼資料目錄的清單,請執行下列指令:$value = (Invoke-RestMethod
-Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_DIRECTORY/?recursive=true") $value請將
PATH_TO_METADATA_DIRECTORY
替換為您要遞迴查詢清單的 VM 執行個體或專案中繼資料目錄路徑。例如:-
如要查看
attributes
專案中繼資料目錄項目,請指定路徑project/attributes/
。 -
如要查看
disks
VM 執行個體中繼資料目錄項目,請指定instance/disks/
路徑。
舉例來說,下列指令會遞迴查詢
disks/
目錄的執行個體中繼資料清單。PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/disks/?recursive=true") $value
輸出結果會與下列內容相似:
[{"deviceName":"boot","index":0,"mode":"READ_WRITE","type":"PERSISTENT"}, {"deviceName":"persistent-disk-1","index":1,"mode":"READ_WRITE","type":"PERSISTENT"}, {"deviceName":"persistent-disk-2","index":2,"mode":"READ_ONLY","type":"PERSISTENT"}]
遞迴內容預設會以 JSON 格式傳回。如果您想傳回文字格式中的這些內容,請加上
alt=text
查詢參數:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/disks/?recursive=true&alt=text") $value
輸出結果會與下列內容相似:
0/device-name boot 0/index 0 0/mode READ_WRITE 0/type PERSISTENT 1/device-name persistent-disk-1 1/index 1 1/mode READ_WRITE 1/type PERSISTENT 2/device-name persistent-disk-1 2/index 2 2/mode READ_ONLY 2/type PERSISTENT
-
如要查看
設定查詢輸出格式
每個端點都預設有回應的預先定義格式。某些端點可能會預設傳回 JSON 格式的資料,而其他端點則可能會將資料傳回為字串。您可以使用 alt=json
或 alt=text
查詢參數覆寫預設資料格式規格,這兩個參數分別會傳回 JSON 字串格式的資料,或傳回為純文字表示。
Linux
- 連線至 Linux VM。
在 Linux VM 中,使用
curl
工具執行查詢。如要變更 VM 執行個體或專案中繼資料項目的查詢回應資料格式,請執行下列指令:curl "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY?alt=DATA_FORMAT" -H "Metadata-Flavor: Google"
更改下列內容:
-
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
-
如要查看儲存在專案中繼資料中的
DATA_FORMAT
:您希望查詢回應資料採用的格式,例如text
或json
。
-
範例
例如,tags
鍵會以 JSON 格式自動傳回資料。您可以指定 alt=text
查詢參數,改為傳回文字格式的資料。
預設查詢
user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/tags" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
["http-server", "db-client", "app-server", "mysql-server"]
帶格式設定的查詢
user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/tags?alt=text" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
http-server db-client app-server mysql-server
Windows
- 連線至 Windows VM。
在 Windows VM 中,使用
Invoke-RestMethod
指令執行查詢。如要變更 VM 執行個體或專案中繼資料項目的查詢回應資料格式,請執行下列指令:$value = (Invoke-RestMethod
-Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY?alt=DATA_FORMAT") $value更改下列內容:
-
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
-
如要查看儲存在專案中繼資料中的
DATA_FORMAT
:您希望查詢回應資料採用的格式,例如text
或json
。
-
範例
例如,tags
鍵會以 JSON 格式自動傳回資料。您可以指定 alt=text
查詢參數,改為傳回文字格式的資料。
預設查詢
PS C:>
$value = (Invoke-RestMethod -Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/tags")
$value
輸出結果會與下列內容相似:
["http-server", "db-client", "app-server", "mysql-server"]
帶格式設定的查詢
PS C:>
$value = (Invoke-RestMethod -Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/tags?alt=text")
$value
輸出結果會與下列內容相似:
http-server db-client app-server mysql-server
使用 wait-for-change
功能查詢中繼資料變更
由於中繼資料值可在 VM 執行中時變更,中繼資料伺服器可讓您使用 wait-for-change
功能收到中繼資料變更通知。使用此選項時,要求只會在指定的中繼資料變更時傳回輸出內容。
您可以對自訂中繼資料或伺服器定義的中繼資料使用此功能,以便當您的 VM 或專案發生任何變更,或者有人更新自訂中繼資料項目時,您就可以透過程式方式對變更做出反應。
例如,您可對 tags
鍵執行要求,如此就只會在標記中繼資料的內容變更時才傳回要求。要求傳回時,會提供該中繼資料鍵的新值。
wait-for-change
功能也可讓您比對您的要求,並設定逾時。
使用 wait-for-change
功能時,請考量以下事項:
您只能對中繼資料端點,或以遞迴方式對目錄的內容執行
wait-for-change
要求。您無法對目錄清單執行wait-for-change
要求。如果您嘗試這樣做,中繼資料伺服器就會拒絕您的要求,並傳回 400 Invalid Request 錯誤。您無法針對服務帳戶憑證執行
wait-for-change
要求。如果您嘗試對服務帳戶權杖網址提出wait-for-change
要求,要求會立即失敗,並傳回 400 無效要求錯誤。
如要執行 wait-for-change
要求,請查詢中繼資料鍵並附加 ?wait_for_change=true
查詢參數:
Linux
- 連線至 Linux VM。
在 Linux VM 中,使用
curl
工具執行查詢。如要針對 VM 執行個體或專案中繼資料項目執行wait-for-change
要求,請執行下列指令:curl "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY?wait_for_change=true" -H "Metadata-Flavor: Google"
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
對指定中繼資料鍵進行變更之後,查詢會傳回新值。
-
如要查看儲存在專案中繼資料中的
範例
在這個範例中,如果對 setInstanceTags method
提出要求,要求會傳回新的值:
user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/tags?wait_for_change=true" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
http-server db-client
您也可以對目錄的內容以遞迴方式執行 wait-for-change
要求:
user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&wait_for_change=true" -H "Metadata-Flavor: Google"
如果發生任何變更,中繼資料伺服器會傳回新內容:
{"foo":"bar","baz":"bat"}
Windows
- 連線至 Windows VM。
在 Windows VM 中,使用
Invoke-RestMethod
指令執行查詢。如要針對 VM 執行個體或專案中繼資料項目執行wait-for-change
要求,請執行下列指令:$value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY?wait_for_change=true") $value
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
對指定中繼資料鍵進行變更之後,查詢會傳回新值。
-
如要查看儲存在專案中繼資料中的
範例
對指定中繼資料鍵進行變更之後,查詢會傳回新值。在這個範例中,如果對 setInstanceTags method
提出要求,要求會傳回新值:
PS C:>
$value = (Invoke-RestMethod -Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/tags?wait_for_change=true")
$value
輸出結果會與下列內容相似:
http-server db-client
您也可以對目錄的內容以遞迴方式執行 wait-for-change
要求:
PS C:>
$value = (Invoke-RestMethod -Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes?recursive=true&wait_for_change=true")
$value
如果發生任何變更,中繼資料伺服器會傳回新內容:
{"foo":"bar","baz":"bat"}
使用 ETag
當您提交 wait-for-change
查詢時,如果在中繼資料內容中發生任何變更,中繼資料伺服器就會傳回回應。不過,在中繼資料更新與發出的 wait-for-change
要求之間,存在著繼承競爭狀況,因此找到一種可靠的方法來知道您正在取得最新的中繼資料值很有幫助。
為了達成此目標,您可以使用 last_etag
查詢參數,它會將您提供的 ETag 值與儲存在中繼資料伺服器中的 ETag 值進行比較。如果 ETag 值相符,則系統會接受 wait-for-change
要求。如果 ETag 值不相符,就表示自您上次擷取 ETag 值之後,中繼資料的內容已經變更,而中繼資料伺服器會立即傳回這個最新的值。
Linux VM
如要取得中繼資料鍵的目前 ETag 值,請完成下列步驟:
- 連線至 Linux VM。
請向該鍵提出要求,並輸出標頭。方法是使用
curl
工具搭配-v
標記。如要取得 VM 執行個體或專案中繼資料項目的目前 ETag,請執行下列指令:curl -v "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY" -H "Metadata-Flavor: Google"
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
舉例來說,下列指令會取得
tags
執行個體中繼資料鍵的目前 ETag 值。user@myinst:~$ curl -v "http://metadata.google.internal/computeMetadata/v1/instance/tags" -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
* About to connect() to metadata port 80 (#0) * Trying 169.254.169.254... connected * Connected to metadata (169.254.169.254) port 80 (#0) > GET /computeMetadata/v1/instance/tags HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15 > Host: metadata > Accept: */* > < HTTP/1.1 200 OK < Content-Type: application/text < ETag: 411261ca6c9e654e < Date: Wed, 13 Feb 2013 22:43:45 GMT < Server: Metadata Server for VM < Content-Length: 26 < X-XSS-Protection: 1; mode=block < X-Frame-Options: SAMEORIGIN < http-server db-client
-
如要查看儲存在專案中繼資料中的
接著,您可以在
wait-for-change
要求中使用該 ETag 值搭配curl
tool 指令。如要為執行個體或專案中繼資料的wait-for-change
要求使用 ETag 值,請執行下列指令:curl "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY?wait_for_change=true&last_etag=ETAG" -H "Metadata-Flavor: Google"
更改下列內容:
-
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
-
如要查看儲存在專案中繼資料中的
ETAG
:中繼資料鍵的 ETag 值。
在這個範例中,下列指令會使用
tags
鍵的 ETag 值,並查詢執行個體中繼資料項目。user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/tags?wait_for_change=true&last_etag=411261ca6c9e654e" -H "Metadata-Flavor: Google"
中繼資料伺服器將會比對您指定的 ETag 值,如果該值變更,要求會傳回您中繼資料鍵的新內容。
-
Windows VM
如要取得中繼資料鍵的目前 ETag 值,請完成下列步驟:
- 連線至 Windows VM。
請向該鍵提出要求,並輸出標頭。在 Windows 上,使用
Invoke-WebRequest
指令。如要取得 VM 執行個體或專案中繼資料項目的目前 ETag,請執行下列指令:$value = (Invoke-WebRequest -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY)
$value.Headers.ETag
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
舉例來說,下列指令會取得
tags
執行個體中繼資料鍵的目前 ETag 值。PS C:> $value = (Invoke-WebRequest -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri http://metadata.google.internal/computeMetadata/v1/instance/tags)
$value.Headers.ETag
輸出結果會與下列內容相似:
* About to connect() to metadata port 80 (#0) * Trying 169.254.169.254... connected * Connected to metadata (169.254.169.254) port 80 (#0) > GET /computeMetadata/v1/instance/tags HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15 > Host: metadata > Accept: / > < HTTP/1.1 200 OK < Content-Type: application/text < ETag: 411261ca6c9e654e < Date: Wed, 13 Feb 2013 22:43:45 GMT < Server: Metadata Server for VM < Content-Length: 26 < X-XSS-Protection: 1; mode=block < X-Frame-Options: SAMEORIGIN < http-server db-client
-
如要查看儲存在專案中繼資料中的
然後您可在
wait-for-change
要求中使用該 ETag 值。如要為執行個體或專案中繼資料的wait-for-change
要求使用 ETag 值,請執行下列指令:$value = (Invoke-RestMethod
-Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY?wait_for_change=true&last_etag=ETAG") $value更改下列內容:
-
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
-
如要查看儲存在專案中繼資料中的
ETAG
:中繼資料鍵的 ETag 值。
在這個範例中,下列指令會使用
tags
鍵的 ETag 值,並查詢執行個體中繼資料項目。PS C:> $value = (Invoke-RestMethod
-Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/tags?wait_for_change=true&last_etag=411261ca6c9e654e") $value中繼資料伺服器將會比對您指定的 ETag 值,如果該值變更,要求會傳回您中繼資料鍵的新內容。
-
Python
以下 Python 範例顯示如何以程式化的方式觀察中繼資料伺服器的變更。
這個範例將初始 ETag 設為 0
。在中繼資料伺服器傳回的回應中,永遠不會將 0
當成 ETag。在要求中將 0
指定為最後一個 ETag 時,中繼資料伺服器將會以目前值與 ETag 回應。這樣可以省去一點取得初始值和 ETag 所需的程式碼。
設定逾時時間
如果您想要讓 wait-for-change
要求在一定的秒數之後逾時,可以設定 timeout_sec
參數。timeout_sec
參數會將您要求的等待時間限制於您指定的秒數,而當要求達到該限制時,就會傳回中繼資料鍵的目前內容。
當您設定 timeout_sec
參數時,無論中繼資料值是否已實際發生變更,要求都一律會在指定秒數之後傳回。您只能為逾時設定整數值。
Linux
- 連線至 Linux VM。
在 Linux VM 中,使用
curl
工具執行查詢。如要針對 VM 執行個體或專案中繼資料項目執行含有逾時值的wait-for-change
要求,請執行下列指令:curl "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY?wait_for_change=true&timeout_sec=TIMEOUT" -H "Metadata-Flavor: Google"
更改下列內容:
-
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
-
如要查看儲存在專案中繼資料中的
TIMEOUT
:逾時值。
-
舉例來說,下列指令會執行 wait-for-change
要求,並將逾時時間設為 360 秒:
user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/tags?wait_for_change=true&timeout_sec=360" -H "Metadata-Flavor: Google"
Windows
- 連線至 Windows VM。
在 Windows VM 中,使用
Invoke-RestMethod
指令執行查詢。如要針對 VM 執行個體或專案中繼資料項目執行含有逾時值的wait-for-change
要求,請執行下列指令:$value = (Invoke-RestMethod
-Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY?wait_for_change=true&timeout_sec=TIMEOUT") $value更改下列內容:
-
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
-
如要查看儲存在專案中繼資料中的
TIMEOUT
:逾時值。
-
舉例來說,下列指令會執行 wait-for-change
要求,並將逾時時間設為 360 秒:
PS C:>
$value = (Invoke-RestMethod -Headers @{'Metadata-Flavor' = 'Google'}
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/tags?wait_for_change=true&timeout_sec=360")
$value
使用 HTTPS 中繼資料伺服器端點查詢中繼資料
HTTPS 中繼資料伺服器端點 (https://metadata.google.internal/computeMetadata/v1
) 可在中繼資料伺服器和 VM 之間傳輸資訊時,提供額外的安全性。
如要使用 HTTPS 中繼資料伺服器端點,請詳閱下列規定:
您必須要求存取 HTTPS 中繼資料伺服器端點的預覽功能。
將專案新增至許可清單後,您就可以建立 VM。VM 必須符合下列規定:
- 訪客環境必須在 VM 上執行。
- VM 必須是受防護的 VM。這是因為 HTTPS 中繼資料伺服器需要使用統一可延伸韌體介面 (UEFI) 和虛擬信任平台模組 (vTPM) 來驗證憑證。
如需 HTTPS 中繼資料伺服器端點查詢的處理方式總覽,請參閱「HTTPS 中繼資料伺服器端點」。無論您使用 https 還是 http 端點,都可以對中繼資料伺服器執行所有相同的查詢。不過,如要呼叫 HTTPS 端點,您必須指定用戶端身分憑證的路徑,在某些情況下還要指定根憑證。
以下指令示範如何使用 https 端點查詢中繼資料伺服器。
Linux
連線至 Linux VM。
在 Linux 虛擬機器中,使用
curl
工具執行查詢,並指定用戶端身分憑證。您也可以選擇指定根憑證。curl "https://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY" \ -E CLIENT_CERTIFICATE \ [--cacert ROOT_CERTIFICATE] \ -H "Metadata-Flavor: Google"
更改下列內容:
-
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
-
如要查看儲存在專案中繼資料中的
CLIENT_CERTIFICATE
:用戶端身分憑證的路徑:/run/google-mds-mtls/client.key
。- 選用:
ROOT_CERTIFICATE
:根憑證的路徑:/run/google-mds-mtls/root.crt
。
舉例來說,如要查詢 VM 的啟動映像檔,請執行下列查詢:
user@myinst:~$ curl "https://metadata.google.internal/computeMetadata/v1/instance/image" \ -E /run/google-mds-mtls/client.key \ -H "Metadata-Flavor: Google"
輸出結果會與下列內容相似:
projects/rhel-cloud/global/images/rhel-8-v20210122
如果系統顯示錯誤訊息,請參閱疑難排解說明文件。
-
Windows
連線至 Windows VM。
使用下列任一指令取得用戶端身分憑證:
$cert = Get-PfxCertificate -FilePath "C:\ProgramData\Google\Compute Engine\mds-mtls-client.key.pfx"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Issuer -like "google.internal" }
在 Windows VM 中使用
Invoke-RestMethod
指令,並指定用戶端身分憑證來執行查詢。PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} -Certificate CLIENT_CERTIFICATE ` -Uri "https://metadata.google.internal/computeMetadata/v1/PATH_TO_METADATA_ENTRY") $value
更改下列內容:
CLIENT_CERTIFICATE
:VM 上用戶端身分憑證的路徑。這是在前一個步驟中設定的$cert
變數。-
將
PATH_TO_METADATA_ENTRY
替換為您要查詢值的 VM 執行個體或專案中繼資料鍵的路徑。如果索引鍵位於執行個體或專案目錄的子目錄中,請務必一併納入子目錄。例如:-
如要查看儲存在專案中繼資料中的
project-id
中繼資料鍵,請指定project/project-id
。 -
如要查看儲存在 VM 執行個體中繼資料中的
image
中繼資料鍵,請指定instance/image
。 -
如要查看可儲存在專案或 VM 執行個體中繼資料屬性子目錄中的
enable-oslogin
,請根據用途指定project/attributes/enable-oslogin
或instance/attributes/enable-oslogin
。
-
如要查看儲存在專案中繼資料中的
舉例來說,如要查詢 Windows Server 2019 VM 的啟動映像檔,請執行下列查詢:
PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} -Certificate $cert ` -Uri "https://metadata.google.internal/computeMetadata/v1/instance/image") $value
輸出結果會與下列內容相似:
projects/windows-cloud/global/images/windows-server-2019-dc-v20210112
限制
中繼資料伺服器會自動拒絕包含
X-Forwarded-For
標頭的任何要求。此標頭一般指示要求經由 Proxy 傳送,可能不是由授權使用者提出的要求。基於安全性考量,將一律拒絕這類要求。請注意,使用
curl
指令從伺服器擷取中繼資料時,要求路徑不支援部分編碼字元。編碼字元僅在查詢路徑受到支援。舉例來說,下列要求可能無法運作:
curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/123456789-compute%40developer.gserviceaccount.com/?query_path=https%3A%2F%2Flocalhost%3A8200%2Fexample%2Fquery&another_param=true" -H "Metadata-Flavor: Google"
若要執行此要求,您必須將要求路徑 (
%40
) 中不支援的編碼字元替換為相等的可接受值 (@
)。curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/1234567898-compute@developer.gserviceaccount.com/?query_path=https%3A%2F%2Flocalhost%3A8200%2Fexample%2Fquery&another_param=true" -H "Metadata-Flavor: Google"
下表大致列出要求路徑中不支援的編碼字元。
編碼字元 可接受的值 %21 !
%24 $
%27 '
%28 (
%29 )
%2A *
%2C ,
%40 @
狀態碼
向中繼資料伺服器提出要求時,中繼資料伺服器會傳回標準 HTTP 狀態碼,用於表示成功或失敗。有時,網路狀況或主機事件可能會導致中繼資料伺服器無法處理您的要求,並傳回錯誤代碼。在這種情況下,您應將應用程式設計成能夠容錯,並且能夠辨識及處理這些錯誤。
如需可傳回的狀態碼詳細清單,請參閱「排解伺服器代碼問題」。
查看 VM 的自訂中繼資料
您可以透過下列任一方式查看 Compute Engine VM 的自訂中繼資料值:
查看專案中繼資料
如要查看套用至專案中所有 VM 的自訂中繼資料,請使用下列任一方法。
主控台
前往 Google Cloud 控制台的「Metadata」頁面。
在「中繼資料」頁面上,您會看到專案的所有自訂專案中繼資料項目清單。
gcloud
使用 gcloud compute project-info describe
指令查詢專案中繼資料:
gcloud compute project-info describe --flatten="commonInstanceMetadata[]"
輸出結果會與下列內容相似:
--- fingerprint: HcSFdS_1_1I= items: - key: ssh-keys value: USERNAME:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWZ... kind: compute#metadata
REST
如要查詢專案中繼資料,請建立目標為 project.get
方法的 GET
要求。
將 PROJECT_ID
替換為您的專案 ID。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
輸出結果會與下列內容相似:
"kind": "compute#project", "id": "XXXXXXX", "creationTimestamp": "2018-12-10T08:34:33.616-08:00", "name": "YOUR_PROJECT", "commonInstanceMetadata": { "kind": "compute#metadata", "fingerprint": "XXXXXCdg=", "items": [ { "key": "enable-guest-attributes", "value": "TRUE" }, { "key": "enable-os-inventory", "value": "true" }, { "key": "enable-osconfig", "value": "TRUE" }, { "key": "enable-oslogin", "value": "TRUE" }, { "key": "sshKeys", "value": "XXXXX" } ] }, ...
查看可用區中繼資料
如要查看套用至專案中特定可用區內所有 VM 執行個體的自訂中繼資料,請使用下列任一方法。
gcloud
如要查詢自訂區域中繼資料,請使用 gcloud compute project-zonal-metadata describe
指令。
gcloud compute project-zonal-metadata describe \ --zone=ZONE \ --project=PROJECT_ID
更改下列內容:
PROJECT_ID
:您的專案 IDZONE
:您要查看區域中繼資料的區域。
輸出結果會與下列內容相似:
{ "fingerprint": "VlRIl8dx9vk=", "metadata": { items: { "key-1": "value-1", "key-2": "value-2" } } }
REST
如要查詢自訂區域中繼資料,請對 instanceSettings().get
方法發出 GET
要求
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceSettings
更改下列內容:
PROJECT_ID
:您的專案 IDZONE
:您要查看區域中繼資料的區域。
輸出結果會與下列內容相似:
{ "fingerprint": "VlRIl8dx9vk=", "metadata": { items: { "key-1": "value-1", "key-2": "value-2" } } }
查看執行個體中繼資料
如要查看專案中適用於單一 VM 的中繼資料,請使用下列其中一種方法。
主控台
- 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
按一下要查看中繼資料的 VM 名稱。
這個 VM 的安全殼層金鑰。在「安全性和存取權」專區中,查看「安全殼層金鑰」欄位。
如果值為
None
,表示執行個體中繼資料中沒有儲存任何安全殼層金鑰。任何其他值都表示在執行個體中繼資料中儲存了 SSH 金鑰。
專案的安全殼層金鑰。在「安全性和存取權」專區中,查看「封鎖全專案安全殼層金鑰」欄位。
如果值為
On
,表示中繼資料鍵block-project-ssh-keys
的值為執行個體中繼資料中的TRUE
。值為
Off
表示中繼資料鍵block-project-ssh-keys
的值為FALSE
,或是未設定鍵。
所有其他自訂中繼資料。查看「自訂中繼資料」部分。您會看到所有自訂中繼資料鍵和值,但 SSH 金鑰中繼資料除外。
gcloud
使用 gcloud compute instances describe
指令查詢執行個體中繼資料:
gcloud compute instances describe VM_NAME --flatten="metadata[]"
將 VM_NAME
替換為您要查找中繼資料的 VM 名稱。
輸出結果會與下列內容相似:
--- fingerprint: MTgTJ5m-Cjs= items: - key: enable-oslogin value: 'true' kind: compute#metadata
REST
如要查詢特定 VM 的中繼資料,請將 GET
要求傳送至 instances.get
方法。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
輸出結果會與下列內容相似:
...... "metadata": { "kind": "compute#metadata", "fingerprint": "XXXXXXVo=", "items": [ { "key": "enable-oslogin", "value": "true" } ] },....
更改下列內容:
PROJECT_ID
:您的專案 IDZONE
:VM 所在區域VM_NAME
:VM 名稱