Google cloud platform 从GCP中的日志接收器创建BigQuery数据集

Google cloud platform 从GCP中的日志接收器创建BigQuery数据集,google-cloud-platform,google-bigquery,Google Cloud Platform,Google Bigquery,跑步时 gcloud logging sinks list 看来我的项目有几个水槽 ▶ gcloud logging sinks list NAME DESTINATION FILTER myapp1 bigquery.googleapis.com/proje

跑步时

gcloud logging sinks list
看来我的项目有几个水槽

▶ gcloud logging sinks list
NAME                    DESTINATION                                                                                    FILTER
myapp1                  bigquery.googleapis.com/projects/myproject/datasets/myapp1                      resource.type="k8s_container" resource.labels.cluster_name="mygkecluster" resource.labels.container_name="myapp1"
myapp2                  bigquery.googleapis.com/projects/myproject/datasets/myapp2                      resource.type="k8s_container" resource.labels.cluster_name="mygkecluster" resource.labels.container_name="myapp2"
myapp3                  bigquery.googleapis.com/projects/myproject/datasets/myapp3                      resource.type="k8s_container" resource.labels.cluster_name="mygkecluster" resource.labels.container_name="myapp3"
但是,当我在
BigQuery
控制台中导航时,我看不到相应的数据集

有没有办法将这些接收器作为数据集导入,以便我可以对它们运行查询

《创建
BigQuery
数据集指南》没有列出如何从日志接收器执行此操作(除非我遗漏了某些内容)


还知道为什么在使用
bq ls
命令时不显示上述数据集吗?

首先,确保处于良好的项目中。如果没有,您可以通过单击PIN按钮从外部项目导入数据集(并且您需要对此具有足够的权限)

其次,BigQuery的云日志接收器不创建数据集,只创建表。因此,如果您在没有数据集的情况下创建了接收器,那么接收器就没有运行(或者运行错误)

BigQuery:选择或创建特定的数据集以接收导出的日志。您还可以选择使用分区表


首先,一定要参加好的项目。如果没有,您可以通过单击PIN按钮从外部项目导入数据集(并且您需要对此具有足够的权限)

其次,BigQuery的云日志接收器不创建数据集,只创建表。因此,如果您在没有数据集的情况下创建了接收器,那么接收器就没有运行(或者运行错误)

BigQuery:选择或创建特定的数据集以接收导出的日志。您还可以选择使用分区表


一般来说,您希望此功能所做的是正确的,使用BigQuery作为日志接收器是为了允许您使用BQ查询日志。对于您所面临的问题,我认为这与使用Web控制台和gcloud有关

将BigQuery用作日志接收器时,有两种方法可以指定数据集:

  • 指向现有的数据集
  • 创建一个新的数据集
  • 当通过web控制台创建一个新的接收器时,还可以选择让云日志为您创建一个新的数据集。但是,使用
    gcloud logging sink create
    时,它不会自动为您创建数据集,只会创建日志sink。它似乎也不会验证指定的数据集是否存在

    要解决这个问题,您可以使用web控制台执行任务,也可以自己创建数据集。与为其他目的创建BQ数据集相比,创建BQ数据集作为日志接收目的地并没有什么特别之处。创建一个BQ数据集,然后创建一个指向该数据集的日志接收器,就可以开始了


    从概念上讲,GCP上的不同产品(BigQuery、云日志记录)是独立运行的,云日志记录中的日志接收器只是一个将过滤器和目标配对的对象,但不拥有/管理目标资源(例如BQ数据集)。只是在web控制台中,它提供了一些额外的集成,使事情变得更简单。

    一般来说,您希望此功能能够做到的是正确的,使用BigQuery作为日志接收器是为了允许您使用BQ查询日志。对于您所面临的问题,我认为这与使用Web控制台和gcloud有关

    将BigQuery用作日志接收器时,有两种方法可以指定数据集:

  • 指向现有的数据集
  • 创建一个新的数据集
  • 当通过web控制台创建一个新的接收器时,还可以选择让云日志为您创建一个新的数据集。但是,使用
    gcloud logging sink create
    时,它不会自动为您创建数据集,只会创建日志sink。它似乎也不会验证指定的数据集是否存在

    要解决这个问题,您可以使用web控制台执行任务,也可以自己创建数据集。与为其他目的创建BQ数据集相比,创建BQ数据集作为日志接收目的地并没有什么特别之处。创建一个BQ数据集,然后创建一个指向该数据集的日志接收器,就可以开始了

    从概念上讲,GCP上的不同产品(BigQuery、云日志记录)是独立运行的,云日志记录中的日志接收器只是一个将过滤器和目标配对的对象,但不拥有/管理目标资源(例如BQ数据集)。只是在web控制台中,它提供了一些额外的集成,使事情变得更简单