Google Compute EngineインスタンスでGoogleBigQueryを認証する最も簡単な方法は何ですか。
まず最初に、インスタンスにBigQueryにアクセスするスコープがあることを確認してください。これは作成時にのみ決定できます。
bashスクリプトで、次を呼び出してoauthトークンを取得します。
ACCESSTOKEN=`curl -s "http://metadata/computeMetadata/v1/instance/service-accounts/default/token" -H "X-Google-Metadata-Request: True" | jq ".access_token" | sed 's/"//g'`
echo "retrieved access token $ACCESSTOKEN"
ここで、プロジェクト内のデータセットのリストが必要だとします。
CURL_URL="https://www.googleapis.com/bigquery/v2/projects/YOURPROJECTID/datasets"
CURL_OPTIONS="-s --header 'Content-Type: application/json' --header 'Authorization: OAuth $ACCESSTOKEN' --header 'x-goog-project-id:YOURPROJECTID' --header 'x-goog-api-version:1'"
CURL_COMMAND="curl --request GET $CURL_URL $CURL_OPTIONS"
CURL_RESPONSE=`eval $CURL_COMMAND`
JSON形式の応答は、変数CURL_RESPONSEにあります。
PS:この質問はPythonとしてタグ付けされていることに気付きましたが、同じ原則が適用されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加