TL;DR
gcloud alpha logging sinks createコマンドの --use-partition-tables
オプションを使えば良い。
やりたいこと
Cloud Loggingのログルーターを用いて、ログ指標をBigQueryにエクスポートするシンクを作成したい。
かつ、エクスポート先のBigQueryはシンクを作成するプロジェクトとは別である。
参考ドキュメント:
GCPコンソールでは設定できない(2020-04-13現在)
シンクとエクスポート先のBigQueryが同一プロジェクトであれば、GCPコンソール操作でパーティション分割するか否かを選択できるが、別プロジェクトの場合はシンクのエクスポート先を入力する形となり、パーティション分割の有無を選択できない。
この場合、すべて日付別シャーディングテーブル( _YYYYMMDD
suffix付きのテーブル)となる。
どうするか
冒頭の通り。
コマンド例:
gcloud alpha logging sinks create $SINK_NAME \
bigquery.googleapis.com/projects/$EXPORT_PROJECT_ID/datasets/$DATASET \
--project $SINK_PROJECT \
--log-filter='<<SOME LOG FILTERS>>' \
--use-partitioned-tables
補遺
LogSink.destinationの仕様から、GCPコンソール上で「エクスポート先」の指定だけでパーティション分割の有無を指定することはできないと考えられる。