実現したいこと
Cloud Storage内のCSVをCloud FunctionでCloud SQLにインポートしたい。
発生している問題・分からないこと
Cloud Function実行後、権限エラーが発生する。
エラーメッセージ
error
1Details: "[{'message': 'The client is not authorized to make this request.', 'domain': 'global', 'reason': 'notAuthorized'}]">"
該当のソースコード
python
1import json 2import base64 3from flask import Flask, request 4from googleapiclient.discovery import build 5from google.oauth2 import service_account 6 7# サービスアカウントファイルを指定8service_account_path = 'service-account-file.json'9# サービスアカウント資格情報の読み込み10credentials = service_account.Credentials.from_service_account_file(service_account_path)11# Google APIクライアントの構築12service = build('sqladmin', 'v1beta4', credentials=credentials, cache_discovery=False)13# リクエスト14request = service.instances().import_(project=project, instance=instance, body=instances_import_request_body)15response = request.execute()
試したこと・調べたこと
上記の詳細・結果
現状は「Cloud SQL管理者」「Cloud Storage Object 閲覧者」を与えています。
一時的に「オーナー」権限を与えてみましたが、権限エラーが変わりませんでした。
Cloud SQL Admin APIは有効にしている状態です。
補足
特になし
0 コメント