google-cloud-platform - 已跳过 gcloud 属性验证
问题描述
我正在使用 gcloud CLI 配置我的区域和专区:
gcloud config set compute/region us-central1
gcloud config set compute/zone us-central1-c
但是每个命令持续大约 15 秒,我收到一个警告:
WARNING: Property validation for compute/region was skipped
一切正常,但为什么我有 15 秒的延迟和警告?
使用详细参数,输出为:
DEBUG: Running [gcloud.config.set] with arguments: [--verbosity: "debug", SECTION/PROPERTY: "compute/region", VALUE: "us-central1"]
Updated property [compute/region].
DEBUG: Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/?recursive=true
DEBUG: Starting new HTTP connection (1): metadata.google.internal:80
DEBUG: http://metadata.google.internal:80 "GET /computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/?recursive=true HTTP/1.1" 200 185
DEBUG: Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/token
DEBUG: http://metadata.google.internal:80 "GET /computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/token HTTP/1.1" 200 1050
DEBUG: Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/?recursive=true
DEBUG: Starting new HTTP connection (1): metadata.google.internal:80
DEBUG: http://metadata.google.internal:80 "GET /computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/?recursive=true HTTP/1.1" 200 185
DEBUG: Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/token
DEBUG: http://metadata.google.internal:80 "GET /computeMetadata/v1/instance/service-accounts/GOOGLE_AACOUNT_REPLACED@cloudbuild.gserviceaccount.com/token HTTP/1.1" 200 1050
DEBUG: Starting new HTTPS connection (1): compute.googleapis.com:443
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
DEBUG: https://compute.googleapis.com:443 "POST /batch/compute/v1 HTTP/1.1" 200 None
WARNING: Property validation for compute/region was skipped.
解决方案
为了使 gcloud 工具更易于使用,Google Cloud 将尝试验证提供的值,包括“计算/区域”。在这种情况下,它必须从 API 获取可用区域的完整列表。如果失败,无论出于何种原因,它将显示此警告消息。
众多原因之一可能是未启用 Compute Engine API。也可能是缺少身份验证,尽管 Cloud Build 默认启用身份验证,并且您不需要任何特殊权限即可运行此命令。
要找出究竟出了什么问题,您可以尝试将 --log-http 参数添加到您的 gcloud 命令行。这将显示与 API 的任何交互的完整详细信息,包括响应中的任何错误消息。
无论如何,这只是一个警告,配置条目仍在更新中。即使验证失败也会发生这种情况,例如该区域不存在。正如我上面提到的,这只是一个帮助让用户知道他们是否犯了某些类型的简单错误的功能。
推荐阅读
- sql - 在 Postgres 表中选择 id 模式
- sql - Oracle 中的嵌套循环无法正常工作(超过最大值)
- javascript - 使用 getBoundingClientRect 加载内容
- docker - 在 Docker 容器上的 Elasticsearch 中配置安全性
- amazon-web-services - Direct Connect - 网络网关用例
- python - 如何在databricks中读取由.gz压缩的镶木地板文件?
- android - Android 设备上保存崩溃信息的文件夹
- java - 与 Java 包冲突的问题
- reactjs - 如何在 React Apexcharts 中的每个系列的条形之间添加间隙?
- java - 从带有数组的 JSON 创建 POJO 模型