Derxistina depoya objeyan
Ji bo her armanca pêkhatî objeyekî JSON di bucketeke we de. Ev rêya her embarê daneyan e ku ne BigQuery ye.
1. Valahiya ku ev tijî dike
Heta niha ji MousePlayer bo embara daneyan tam yek rê hebû û diçû Google. Heke hûn Snowflake, Redshift an ClickHouse dixebitandin, rê tune bû - her çend her sê ji depoya objeyan bê pirsgirêk dixwînin.
Ji ber vê yekê pir li şûna nivîsandina ji bo her embarê bi dorê di depoya objeyan de dinivîse. Snowflake ji S3 werdigire, Redshift ji S3 werdigire, ClickHouse ji S3 werdigire û BigQuery ji Google Cloud Storage werdigire. Yek derxistin digihîje hemûyan.
| Li ku | Çawa navnîşan tê dayîn |
|---|---|
| Amazon S3 | Signature Version 4, bucket di mêvandarê de |
| Cloudflare R2 | Signature Version 4 li xala dawî ya hesabê we |
| Google Cloud Storage | bi APIya wê ya lihevhatî bi S3 û mifta HMAC |
| MinIO, Wasabi, Backblaze B2 û yên din | Signature Version 4 li xala dawî ya we |
| Azure Blob Storage | girêdana SAS ya konteynerê - li aliyê me tu îmzekirin tune ye |
2. Çima Azure cuda ye û çima ev çêtir e
Azure Blob Signature Version 4 bi kar nayîne; bi SharedKey îmze dike. Me dikaribû şêweyeke îmzekirinê ya duyem ava bikira. Li şûna wê pir vê digire: girêdana SAS ya konteynerê - URLyeke ku hûn di hesabê xwe yê depoyê de çêdikin, bi îmzaya jixwe tê de.
Ev li aliyê me kodê kêmtir û li aliyê we hewceyê baweriya kêmtir e. Em qet mifta hesabê nabînin: ya hûn didin destûreke ku we bi xwe bi yek konteynerê sînorkiriye ye, bi dîroka qedandinê ya hilbijartî û her demê bê destlêdana tiştên din tê betalkirin.
Heman sînorkirin hêjayî ye ji bo aliyê S3 jî: destûra nivîsandinê bidin mifta gihîştinê tenê di vê yek pêşgirê de û tu tiştê din na. Mifteya ku tenê dikare li mouseplayer/goals/ zêde bike nikare bucketên we yên din bixwîne heta heke derkeve derve jî.
3. Ji bo her armancê yek obje û mifte dîrok e
Depoya objeyan zêdekirina li dawiya pelê nîne. Pela rojane diviyabû her carê bi tevahî ji nû ve bê nivîsandin û du armancên bi hev re digihîjin dê li ser hev binivîsandin. Ji ber vê yekê her armanca pêkhatî dibe objeya xwe.
Lêçûn gelek objeyên biçûk in; avahiya mifteyê ev xebitandinbar dike:
prefix/YYYY/MM/DD/channel/session-goal.json
Embar rojekê wek yek beş dixwîne û tijîkirina paşve lêgerîna pêşgirê ye, ne pirs. Heke hûn bixwazin li şûna dîrokê li gor projeyê dabeş bikin, IDya kanalê di pêşgirê de deynin.
Her obje yek rêza JSON e
Bi zanebûn bê valahiyên destpêka rêzan e, da ku hemû pêşgir wek NDJSON bê xwendin bê vekirina objeyan yek bi yek. Nîşana demê, proje, danişîn, IDya mişterî, armanc, nirx, yekeya pereyê û girêdana ku tomarê ji nû ve dilîze.
Nirxa vala null e, ne sifir
Armanca bê nirxa diravî vê dinivîse: null. Di embarê de sifir dê di komeke ku qet tunebû de bê komkirin - cudahiya di navbera “pere nehat lihevkirin” û “pereyê sifir” di derxistinê de dimîne.
4. Heke 403 bersiv dide, pêşî vê bixwînin
Daxwaza S3 ya redkirî hema tiştekî nabêje û sedem heye ku peyama çewtiyê ya qeyda me ji S3 zêdetir dibêje: herêm dikeve îmzayê. Herêma şaş û mifta şaş heman 403 çêdikin, ji ber vê yekê gumana eşkere - mifte - tenê nîvê caran rast e.
Sê tişt ji bo kontrolkirinê, bi vê rêzê:
- Herêm, tam wek bucket rapor dike. R2 û Google Cloud Storage vê digirin:
autoû kontrol nakin; hemû yên din kontrol dikin. - Destûra pêşgirê. Mifteya bi vê sînorkirî:
mouseplayer/nikare li vê binivîse:mouseplayer-goals/- xêza qutkirinê ya dawî di ARN ya çavkaniyê de girîng e. - Xala dawî, ji bo depoyên R2 û lihevhatî bi S3. Navê mêvandarê bê vê pê ve bikin:
https://; em di her rewşê de jê dikin, lê rêya li dawiyê zêdekirî bucketeke cuda ye.
IDya mifta gihîştinê bi zanebûn wek nivîsa zelal tê girtin. Ji sêwiranê ve di her daxwaza îmzekirî de tê şandin, ji ber vê yekê şîfrekirin dê hewleke bê parastin bûya. Mifteya veşartî şîfrekirî ye, êdî nayê nîşandan û qet nakeve rêza hundirîn a peywirê.
Hemû nîşanên bazirganî yên li vir navkirî yên xwediyên wan in. MousePlayer têkiliya bazirganî bi van peydekeran re nîne.