当我尝试从 Google Cloud Storage 将数据加载到 BigQuery 时,它会要求提供 Google Cloud Storage URI (gs://)。 我已经查看了你们所有的在线支持以及 stackoverflow,但无法找到一种方法来通过基于浏览器的 Google Developers Console 识别我上传的数据的 URL。 我发现找到 URL 的唯一方法是通过 gsutil,但我无法让 gsutil 在我的计算机上工作。
有没有办法通过基于浏览器的 Google Developers Console 确定 URL?
路径应该是
gs://<bucket_name>/<file_path_inside_bucket>
。
要回答这个问题,需要更多信息。您是否已将数据加载到 GCS 中?
如果没有,最简单的方法是转到项目控制台,单击项目,然后选择存储 -> 云存储 -> 存储浏览器。
您可以在那里创建存储桶并将文件上传到存储桶。
然后将在
gs://<bucket_name>/<file_path_inside_bucket>
找到文件,如 @nmore 所说。
找不到直接获取网址的方法。但找到了一种间接的方法,步骤如下:
请按照以下步骤操作:
1. 前往GCS
2. 进入已上传文件的文件夹
3. 顶部可以看到概览选项
4. 你可以看到会有 Link URL 和 GSUtil
检索 Google 云存储 URI 要使用 Google Cloud Storage 数据源创建外部表,您必须提供 Cloud Storage URI。
Cloud Storage URI 由您的存储桶名称和对象(文件名)组成。例如,如果 Cloud Storage 存储桶名为 mybucket,数据文件名为 myfile.csv,则存储桶 URI 将为 gs://mybucket/myfile.csv。如果您的数据分为多个文件,您可以在 URI 中使用通配符。有关更多信息,请参阅云存储请求 URI。
BigQuery 不支持在初始双斜杠后包含多个连续斜杠的源 URI。 Cloud Storage 对象名称可以包含多个连续的斜杠 (“/”) 字符。但是,BigQuery 会将多个连续斜杠转换为单个斜杠。例如,以下源 URI 虽然在 Cloud Storage 中有效,但在 BigQuery 中不起作用:gs://[BUCKET]/my//object//name。
要检索云存储 URI:
打开云存储 Web UI。
云存储网页用户界面
浏览到包含源数据的对象(文件)的位置。
在 Cloud Storage Web UI 顶部,记下对象的路径。要组成 URI,请将 gs://[BUCKET]/[FILE] 替换为适当的路径,例如 gs://mybucket/myfile.json。 [BUCKET] 是 Cloud Storage 存储桶名称,[FILE] 是包含数据的对象(文件)的名称。
如果您需要有关子目录的帮助,请查看 https://cloud.google.com/storage/docs/gsutil/addlhelp/HowSubdirectoriesWork
以及 https://cloud.google.com/storage/images/gsutil-subdirectories-thumb.png,如果您需要了解 gsutil 如何提供存储桶中对象的分层视图。
除了nmore的回答:
def blobInternalUri(blob):
return f"gs://{blob.bucket.name}/{blob.name}"
我也不清楚为什么这不是 Blob 类的方法。
这将是完整路径
https://storage.googleapis.com/<bucketname>/<file path>