英文:
Is there any Python API to fetch the list of all the active resources(VM's, Buckets, Datasets, etc) and their metadata for a project in GCP?
问题
我正在寻找一个Python API,用于获取GCP项目中的实例、存储桶、数据集、数据处理等资源的元数据。我查看了云监控API,但它只提供资源描述符、指标描述符和时间序列数据。我已经探索了资源管理器API,但我无法获取项目的服务级别资源。
例如,我需要VM元数据,如实例ID、安装的操作系统、内存配置、机器系列等。同样,我也需要存储、BigQuery、Dataproc和其他服务的元数据。
在Python中是否有这样的API可用?
英文:
I'm looking for a Python API to fetch instances, buckets, datasets, data proc, and other resource metadata for my project in GCP. I looked into cloud monitoring API, but it only gives resource descriptors, metric descriptors, and time series data. I've explored resource manager API, but I am unable to fetch resources at the service level for a project.
For example, I required VM metadata like instance_id, OS installed, memory config, machine series, etc. Similarly, I required metadata for storage, bigquery, dataproc, and other services too.
Is there any such API available in Python?
答案1
得分: 0
是的,我们可以使用Cloud Asset Inventory API获取项目中活动资源的列表。请查看从这里列出资源所需的权限:https://cloud.google.com/asset-inventory/docs/access-control
以下是使用Python的google-cloud-asset API检索所有带有元数据的资源的代码示例:
from google.oauth2 import service_account
from google.cloud import asset_v1
credentials_path = ''
credentials = service_account.Credentials.from_service_account_file(credentials_path)
project_id = ''
client = asset_v1.AssetServiceClient(credentials=credentials)
results = client.search_all_resources(scope=project_id)
for res in results:
print(res)
您可以在这里了解更多有关API的信息:https://cloud.google.com/python/docs/reference/cloudasset/latest
英文:
Yes, we can use the Cloud Asset Inventory API to fetch the list of active resources for our project. Check the permissions required to list resources from here: https://cloud.google.com/asset-inventory/docs/access-control
Here is a code sample in Python that uses google-cloud-asset API to fetch all resources with metadata:
from google.oauth2 import service_account
from google.cloud import asset_v1
credentials_path = ''
credentials =
service_account.Credentials.from_service_account_file(credentials_path)
project_id = ''
client = asset_v1.AssetServiceClient(credentials=credentials)
results = client.search_all_resources(scope=project_id)
for res in results:
print(res)
You can explore more about the API here: https://cloud.google.com/python/docs/reference/cloudasset/latest
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论