Я пытаюсь реализовать Key Rotation для учетных записей службы GCP.Мне удалось создать новый ключ и затем декодировать privateKeyData
, который закодирован в base64, который имеет фактический файл SA JSON.Теперь, когда я читаю файл обратно для аутентификации, он выдает мне эту ошибку:
'У объекта Unicode нет iterKeys ()'
Проблема с json.dumps
Я думаю.
data = base64.b64decode(key['privateKeyData']).decode('utf-8')
print data # this prints expected output
with open('file.json', mode='w') as out:
str = json.dumps(data)
print out # this adds \n,\\ to the output
out.write(str)
Ошибка:
AttributeError: 'unicode' object has no attribute 'iterkeys'
Пустой фрагмент того, как файл конвертируется после json.dumps
:
"{\n \"type\": \"service_account\",\n \"project_id\": \"testproj\",\n \"private_key_id\": \6866996939\"}"\n