从 Google Big Query 获取任何信息
Get any information from Google Big Query
我在 BigQuery API 方面需要一些帮助,因为我无法获取或post 任何带有身份验证问题的 HTTP 请求。
我在这个链接上找到了关于如何向 GBQ 发送 http 请求的信息:
https://developers.google.com/explorer-help/
https://cloud.google.com/bigquery/docs/reference/rest/?apix=true
不仅如此,我还有机会使用内置 API 获取有关我的数据集的信息。但是找不到关于 API_KEY 和 ACCESS_TOKEN.
的信息
我需要一个请求示例或链接,我可以在哪里 find/create 我的令牌。 Client ID 和 Client secret 也是我创建的。
这是适用于尝试此方法 (https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/get) 的 cURL:
curl \
'https://bigquery.googleapis.com/bigquery/v2/projects/PROJECT/datasets/DATASET?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
enter image description here
您可以尝试在 Linux/MacOS(我使用 Cloud shell)或 Windows 中使用 curl 方法,以便您可以在环境中明确定义您的服务密钥。对于服务帐户和密钥的创建,以及将其设置到您的环境中,您可以参考此 documentation.
命令:
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://bigquery.googleapis.com/bigquery/v2/projects/{my-projectId}/datasets/{my-datasetId}"
输出:
a@cloudshell:~ (a)$ curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://bigquery.googleapis.com/bigquery/v2/projects/{my-projectId}/datasets/{my-datasetId}"
{
"kind": "bigquery#dataset",
"etag": "Sg/LBN/riP3JmF+QDeKpLg==",
"id": "{my-projectId}:{my-datasetId}",
"selfLink": "https://bigquery.googleapis.com/bigquery/v2/projects/{my-projectId}/datasets/{my-datasetId}",
"datasetReference": {
"datasetId": "{my-datasetId}",
"projectId": "{my-projectId}"
},
"access": [
{
"role": "WRITER",
"specialGroup": "projectWriters"
},
{
"role": "OWNER",
"specialGroup": "projectOwners"
},
{
"role": "OWNER",
"userByEmail": "{my-email}"
},
{
"role": "READER",
"specialGroup": "projectReaders"
}
],
"creationTime": "1640656847727",
"lastModifiedTime": "1640656847727",
"location": "{my-location}",
"type": "DEFAULT"
}
我在 BigQuery API 方面需要一些帮助,因为我无法获取或post 任何带有身份验证问题的 HTTP 请求。
我在这个链接上找到了关于如何向 GBQ 发送 http 请求的信息:
https://developers.google.com/explorer-help/ https://cloud.google.com/bigquery/docs/reference/rest/?apix=true
不仅如此,我还有机会使用内置 API 获取有关我的数据集的信息。但是找不到关于 API_KEY 和 ACCESS_TOKEN.
的信息我需要一个请求示例或链接,我可以在哪里 find/create 我的令牌。 Client ID 和 Client secret 也是我创建的。
这是适用于尝试此方法 (https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets/get) 的 cURL:
curl \
'https://bigquery.googleapis.com/bigquery/v2/projects/PROJECT/datasets/DATASET?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
enter image description here
您可以尝试在 Linux/MacOS(我使用 Cloud shell)或 Windows 中使用 curl 方法,以便您可以在环境中明确定义您的服务密钥。对于服务帐户和密钥的创建,以及将其设置到您的环境中,您可以参考此 documentation.
命令:
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://bigquery.googleapis.com/bigquery/v2/projects/{my-projectId}/datasets/{my-datasetId}"
输出:
a@cloudshell:~ (a)$ curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://bigquery.googleapis.com/bigquery/v2/projects/{my-projectId}/datasets/{my-datasetId}"
{
"kind": "bigquery#dataset",
"etag": "Sg/LBN/riP3JmF+QDeKpLg==",
"id": "{my-projectId}:{my-datasetId}",
"selfLink": "https://bigquery.googleapis.com/bigquery/v2/projects/{my-projectId}/datasets/{my-datasetId}",
"datasetReference": {
"datasetId": "{my-datasetId}",
"projectId": "{my-projectId}"
},
"access": [
{
"role": "WRITER",
"specialGroup": "projectWriters"
},
{
"role": "OWNER",
"specialGroup": "projectOwners"
},
{
"role": "OWNER",
"userByEmail": "{my-email}"
},
{
"role": "READER",
"specialGroup": "projectReaders"
}
],
"creationTime": "1640656847727",
"lastModifiedTime": "1640656847727",
"location": "{my-location}",
"type": "DEFAULT"
}