``客户端''对象在gcp中没有属性``授权''如何解决?

问题描述

我要删除GKE群集中的磁盘。我使用JSON密钥凭据来删除与特定群集相关联的磁盘。

Python

from google.cloud import storage
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials

credentials = storage.Client.from_service_account_json("json_key")
service = discovery.build('compute','v1',credentials=credentials)
project = #PROJECT-NAME#
zone = #ZONE-NAME#
disk = [#list of disks]
for i in disk:
    request = service.disks().delete(project=project,zone=zone,disk=disk)
    response = request.execute()
    print(response)

执行过程中遇到错误“客户端”对象没有属性“授权” 。我在哪里出错?

如何删除特定群集的磁盘。还有其他方法可以做到这一点。

谢谢。

解决方法

您可以按照link尝试使用ServiceAccountCredentials来代替存储,并尝试以下示例:

from pprint import pprint
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials
from oauth2client.service_account import ServiceAccountCredentials

credentials = ServiceAccountCredentials.from_json_keyfile_name(
      'key.json',scopes='https://www.googleapis.com/auth/cloud-platform')

service = discovery.build('compute','v1',credentials=credentials)