Kdysi jsme založili pro klienta Big Query pro účely získávání dat z GA4 pod organizací a to ještě k tomu v USA. Organizačně to kdysi jinak nešlo provést. Dnes si ale klient založil vlastní organizaci a samozřejmě chce mít data v Evropské unii.
Bohužel nelze jednoduše změnit v Big Query lokalitu ani snadno exportovat a importovat celý dataset. V nápovědě se píše, že je možné kontaktovat podporu, která může asistovat s převodem, ale vůči této možnosti jsem byl vcelku skeptický. Rozhodli jsme se tedy projekt převést.
Za exporty a importy se dle podpory nic neplatí a skutečně nám nic strhnuto nebylo (to si radši zkontrolujte dle aktuálních informací).
Jelikož se jednalo o data za GA4, byl každý den ve vlastní tabulce.
1. Změňte projekt v Google Analytics 4
V GA4 změňte napojení na Big Query na region, kam chcete data ukládat. Do 24 hodin se vytvoří v Big Query dataset i první tabulka. Bude pro nás jednodušší dělat další kroky, když už dataset existuje a má vytvořené schéma.
2. Vytvořte si Bucket Storage
Pokud vytvoříte Bucket Storage v rámci stejného projektu, není nutné nijak upravovat práva, automaticky se k němu při exportu z datasetu dostanete.
3. Vyexportujte tabulky do bucket storage
Tabulky je možné po jednom exportovat v uživatelském rozhraní, ale pokud jich máte 180 jako my, tak je toto značně pomalá varianta. Výhoda je, že tabulky měly název podle dne ve formátu RRRR-MM-DD. Takže bylo možné v Excelu vytvořit 180 řádků, připravit si vše pomocí funkcí jako CONCATENATE a najednou je nakopírovat do Google Cloud Shell.
Vždy si musíte vybrat projekt, v kterém budete zrovna pracovat.
gcloud config set project nazev-projektu
Následně už můžete nakopírovat hromadně příkazy:
bq extract --destination_format NEWLINE_DELIMITED_JSON 'analytics_xxx.events_20200716' gs://temp-storage-999/20200716.json
bq extract --destination_format NEWLINE_DELIMITED_JSON 'analytics_xxx.events_20200717' gs://temp-storage-999/20200717.json
3. Tabulky naimportujte do nového Big Query účtu
Je nutné, abyste jako uživatel měli přístup do obou projektů.
Následně opět do cloud shellu nakopírujte příkaz k importu tabulek z bucket storage do nového Big Query datasetu.
bq load --autodetect --source_format=NEWLINE_DELIMITED_JSON 'analytics_xxx.events_20200716' gs://temp-storage-999/20200716.json
bq load --autodetect --source_format=NEWLINE_DELIMITED_JSON 'analytics_xxx.events_20200717' gs://temp-storage-999/20200717.json
bq load --autodetect --source_format=NEWLINE_DELIMITED_JSON
4. Vypněte starý projekt.
A to je vše. Data byla přesunuta do EU.