我正在编写一个python函数,该函数使用服务帐户凭据来调用Google cloudSQLAdmin api将数据库导出到存储桶。
已为服务帐户授予项目所有者权限,并且存储桶具有为项目所有者设置的权限。已为我们的项目启用sqlAdmin api。
Python代码:
from google.oauth2 import service_account
from googleapiclient.discovery import build
import googleapiclient
import json
def main():
SCOPES = ['https://www.googleapis.com/auth/sqlservice.admin', 'https://www.googleapis.com/auth/cloud-platform', 'https://www.googleapis.com/auth/devstorage.full_control']
SERVICE_ACCOUNT_FILE = './creds/service-account-credentials.json'
PROJECT = "[REDACTED]"
DB_INSTANCE = "[REDACTED]"
BUCKET_PATH = "gs://[REDACTED]/[REDACTED].sql"
DATABASES = [REDACTED]
BODY = { # Database instance export request.
"exportContext": { # Database instance export context. # Contains details about the export operation.
"kind": "sql#exportContext", # This is always sql#exportContext.
"fileType": "SQL", # The file type for the specified uri.
# …
Run Code Online (Sandbox Code Playgroud) python google-api google-cloud-sql google-oauth google-cloud-platform