Google cloud platform 如何在GCP中获得方法instances.aggregatedList计算API的部分响应
我正在尝试从Compute API methodGoogle cloud platform 如何在GCP中获得方法instances.aggregatedList计算API的部分响应,google-cloud-platform,google-compute-engine,google-compute-api,Google Cloud Platform,Google Compute Engine,Google Compute Api,我正在尝试从Compute API method实例中获取特定响应。aggregatedList通过根据设置字段请求参数 但我收到了400个错误请求 是否有一个示例可供我参考以获得聚合方法的部分响应?如果使用以下CURL命令: curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) "https://compute.googleapis.com/com
实例中获取特定响应。aggregatedList
通过根据设置字段
请求参数
但我收到了400个错误请求
是否有一个示例可供我参考以获得聚合方法的部分响应?如果使用以下CURL命令:
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) "https://compute.googleapis.com/compute/v1/projects/[CHANGE-FOR-YOUR-PROJECT-ID]/aggregated/instances?maxResults=1"
您会注意到,结果的形式类似于:
{
"id": "projects/[PROJECT-ID]/aggregated/instances",
"items": {
"zones/us-central1-a": {
"instances": [
{
"id": "[INSTANCE-ID]",
"creationTimestamp": "2020-09-21T06:22:21.604-07:00",
"name": "instance-1",
"description": "",
"tags": {
"items": [
"http-server",
"https-server"
],
"fingerprint": "XXXXXX"
},
"machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
"status": "RUNNING",
"zone": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a",
"canIpForward": false,
"networkInterfaces": [
{
"network": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/global/networks/default",
"subnetwork": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/regions/us-central1/subnetworks/[SUBNETWORK_NAME]",
"networkIP": "10.8.0.13",
"name": "nic0",
... with a lot more fields
如您所见,结果略有不同,如下所示:
请注意,如果比较两个结果,您收到的实际响应在我认为导致您体验的行为的实例:
字段之前还有一个额外的“zones/us-central1-a”:
字段
如果您对使用部分资源感兴趣,并且只获取响应中的某些特定字段,则只需遵守共享文档中的说明,并在查询参数中使用
例如,如果您只对获取项目的id
以及实例名称,machineType
和status
感兴趣,我在GCP项目中从Cloud Shell测试了以下curl命令,该命令运行正常:
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) "https://compute.googleapis.com/compute/v1/projects/[PROJECT-ID]/aggregated/instances?fields=id,items/zones%2Finstances(name,machineType,status)"
我看到返回了类似于以下内容的内容:
{
"id": "projects/[PROJECT-ID]/aggregated/instances",
"items": {
"zones/us-central1-a": {
"instances": [
{
"name": "instance-1",
"machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
"status": "RUNNING"
},
{
"name": "instance-2",
"machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
"status": "TERMINATED"
}
]
}
}
}
@Manindechhabra我很高兴它起了作用!如果答案对你有帮助,请投票并接受:)
{
"id": "projects/[PROJECT-ID]/aggregated/instances",
"items": {
"zones/us-central1-a": {
"instances": [
{
"name": "instance-1",
"machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
"status": "RUNNING"
},
{
"name": "instance-2",
"machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
"status": "TERMINATED"
}
]
}
}
}