実現したいこと
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()
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
現状は「Cloud SQL管理者」「Cloud Storage Object 閲覧者」を与えています。
一時的に「オーナー」権限を与えてみましたが、権限エラーが変わりませんでした。
Cloud SQL Admin APIは有効にしている状態です。
補足
特になし
あなたの回答
tips
プレビュー