使用Python调用GCP Assets API遇400错误:无匹配资产类型
解决GCP Asset API搜索计算资源的参数错误问题
问题根源:Python客户端的
asset_types参数要求传入列表类型,而非字符串。你传入的"compute.*"会被客户端错误解析为单个字符序列,导致匹配到无效的c类型。修正后的代码:
from google.cloud import asset_v1 def sample_search_all_resources(scope_value): # Create a client client = asset_v1.AssetServiceClient() # Initialize request argument(s) request = asset_v1.SearchAllResourcesRequest( scope=scope_value, read_mask="displayName,assetType", asset_types=["compute.*"], # 改为列表格式 ) # Make the request page_result = client.search_all_resources(request=request) # Handle the response for response in page_result: print(response) sample_search_all_resources("projects/<project_id>")
- 额外优化:如果只需要计算实例(而非所有compute类资源),可以指定更精确的资产类型:
asset_types=["compute.googleapis.com/Instance"]
内容的提问来源于stack exchange,提问作者jissé Rabin
相关产品推荐
相关产品推荐

