Useimmat Salesforcen ja ulkoisten Analytics-alustojen väliset enterprise-integrointiputket ovat riippuvaisia mukautetusta koodista. Ne toimivat, kunnes jokin rikkoutuu. Skeeman hajonta, API-kuormitus ja pysyvästi poistettavat aukot vaativat jatkuvaa suunnittelua. Kun yritykset kehittävät joustavia, kansalaisille tarkoitettuja arkkitehtuuria, tästä mallista tulee pullonkaula: analyysitiimit odottavat, että insinööri-sprintit lisäävät Salesforce-kentän alempaan skeemaan, epäonnistuneet öiset lataukset viivästyttävät maanantaiaamun raportointia, ja yksinkertaiset kokoonpanomuutokset vaativat koodin tarkastuksia ja käyttöönottoja.

CRM Analytics, Salesforcen natiivi Analytics- ja Business Intelligence -alusta, ratkaisee tämän ongelman sallimalla yritysten tutkia dataa, laatia interaktiivisia mittaristoja ja löytää tekoälyyn perustuvia havaintoja poistumatta Salesforce-ekosysteemistä. Tämän ominaisuuden keskeinen osa on deklaratiivinen, alhaisen koodin datan synkronointiominaisuus, joka on rakennettu alustalle: CRM Analyticsin synkronointi ja CRM Analyticsin synkronointi.

CRM Analytics SyncOut siirtää Salesforce-tietueita ulkoisiin datasäiliöihin määritetyllä aikataululla käyttämällä muutostietojen datan taltiointi (CDC) asteittaisille latauksille ja sisäänrakennettua pysyvästi poistettujen tietueiden seurantaa. CRM Analytics SyncIn tuo ulkoisen datan takaisin Salesforceen, kartoittaa sarakkeita objektikenttiin ja lähettää tietueita uudelleen Bulk API 2.0:n avulla. Molemmat on määritetty kokonaan Salesforcen Määritykset-valikosta. Ei myyntiputkia, ei vaiheittaisia komentosarjoja tai mukautettua valvontaa. Pääkäyttäjät määrittävät synkronointityön yhdessä määritysistunnossa. Sovellusalusta käsittelee suorituksen, uudelleenyrityksen, virhelokin ja skeemakartoituksen automaattisesti.

Tämä opas selittää kuvion, milloin sitä käytetään, miten sitä voidaan toteuttaa Snowflakella työstettynä esimerkkinä sekä arkkitehtonisia huomioitavia asioita, jotka määrittävät, soveltuuko se tiettyyn integraatioprobleemaan.

CRM Analytics CRM Analytics on Salesforcen natiivi analyysi- ja liiketoimintaälyalusta, jonka avulla käyttäjät voivat tutkia dataa, laatia interaktiivisia mittaristoja ja löytää tekoälyyn perustuvia havaintoja — kaikki Salesforce-ekosysteemissä. Tämä alusta siirtää dataa Salesforcen ja ulkoisten järjestelmien välillä kahden avainominaisuuden kautta\: CRM Analyticsin synkronointi ja CRM Analyticsin synkronointi. CRM Analytics SyncOut siirtää Salesforce-objektin datan ulkoiseen datalustaan tukemalla täyttä ja asteittaista synkronointitilaa (CDC) ja sisäänrakennettua pysyvän poistamisen seurantaa. CRM Analytics SyncIn suorittaa kaksisuuntaisen silmukan noutamalla dataa ulkoisesta alustasta takaisin Salesforce-objekteihin Bulk API 2.0:n avulla varmistaakseen, että suuria datamääriä käsitellään luotettavasti ja tehokkaasti.

Lisenssihuomautus: CRM Analytics SyncIn ja SyncOut eivät ole käytettävissä Salesforce-perusversioissa ilman CRM Analytics -lisäosaa. Vahvista lisenssien oikeutukset ennen kuin suunnittelet näihin ominaisuuksiin perustuvaa synkronointiarkkitehtuuria.

Datan integrointi on yksi yritysarkkitehtuurin kireimmistä pinnoista. Mukautettu ETL-putki Salesforcesta Analytics-alustaan vaatii tavallisesti yhdistetyn sovelluksen todennusta varten, ajoitetun työn SOQL-noudolle, transformaatiokerroksen kenttätyyppien täsmäämiseksi, joukkolatauksen vaiheittaisen alueen ja valvontakerroksen virheiden havaitsemiseen. Mukautetun koodin jokainen komponentti edustaa virheenpistettä.

Tämän jännitysyhdistelmän kustannukset tietyltä aikaväliltä. Salesforcessa tapahtuva skeemavirta (uudelleennimetty kenttä, uusi valintaluetteloarvo, muutettu API-nimi) rikkoo myyntiputken hiljaa. API-kuormitus huippukäytön aikana lykkää noutoa. Pysyvästi poistettuja tietueita ei näytetä koskaan kohdetaulukossa, mikä jättää vanhentuneen datan, jota downstream-analyysi käsittelee live-tilassa. Suunnittelutiimistä tulee rutiinitietotoimintojen pullonkaula.

CRM Analyticsin SyncIn ja SyncOut muuttavat toimintomallia. Kokoonpano korvaa koodin. Sovellusalusta on vastuussa suorituksesta, virheiden käsittelystä, skeemakartoituksesta ja havaittavuudesta. Pääkäyttäjät voivat määrittää, muokata ja valvoa synkronointitöitä nostamatta kehityslippua.

Tämän uuden toimintomallin tuloksena integroinnin suunnittelusta toiminnalliseen synkronointiin on lyhennetty aikaa, vähemmän teknisiä kustannuksia ja integrointimalli, joka skaalaa sovellusalustan rajoituksissa eikä vaadi mukautetun koodin ylläpitoa.

SyncIn ja SyncOut ovat CRM Analytics -datan synkronoinnin kaksi suuntaista tilaa. SyncOut siirtää Salesforce-tietueet ulkoiseen alustaan. SyncIn tuo ulkoiset tietueet Salesforceen. Molemmat toimivat deklaratiivisessa kokoonpanomallissa ilman mukautettua koodia.

Declarative-kokoonpano tarkoittaa, että kaikki synkronointitoiminnot määritetään Salesforcen Määritykset-valikon Osoita ja napsauta -käyttöliittymän kautta. Lähdeobjekti, kohdetaulukko, kenttäkartoitukset, synkronointiaikataulu, synkronointitila ja suodattimet määritetään kokoonpanon metadatan kautta. Sovellusalusta luo suoritussuunnitelman kyseisestä metadatasta ja hallitsee sitä loppuun asti.

Täysi synkronointi vs. asteittainen synkronointi määrittää, mitä dataa siirretään jokaisessa suorituksessa. Täysi synkronointi kyselee kaikkia tietueita, jotka vastaavat kunkin suorituksen suodatusehtoja. Asteittainen synkronointi käyttää CDC:tä kyselläkseen vain tietueita, jotka ovat muuttuneet edellisen suorituksen jälkeen. Asteittainen synkronointi on suositeltu tila raskaille objekteille, koska se vähentää API-kulutusta ja synkronoinnin kestoa merkittävästi.

Change Data Taltiointi (CDC) on Salesforce Platform -ominaisuus, joka tallentaa kenttätason muutokset objekteihin tapahtumaketjuina. SyncOut käyttää CDC:tä havaitakseen luontia, päivityksiä ja poistoja suorittamatta täyttä taulukon skannausta. CDC täytyy olla käytössä per objekti Salesforcen Määritykset-valikossa ennen kuin synkronointikokoonpano voi viitata siihen.

Hard-delete-seuranta ratkaisee yhden pysyväisimmistä ongelmista Salesforce to External ETL:ssä. Kun tietue poistetaan pysyvästi Salesforcesta, se katoaa SOQL-vakiokyselyistä. Ilman suoraa seurantaa ulkoinen sovellusalusta ei saa koskaan tietää, että tietue poistettiin. Kun SyncOut:in pysyvä poisto -seuranta on käytössä, se merkitsee kohteen taulukossa poistetut tietueet DEL_FLAG = 'Y'-arvolla, mikä tarjoaa alemmille järjestelmille luotettavan signaalin vanhentuneiden tietojen suodattamiseksi.

Synkronoinnin yleisyys voidaan määrittää 15 minuutista viikoittain. Vaihtoehto on kompromissi datan tuoreuden, API-kulutuksen ja Snowflake-varaston laskentakustannusten välillä. 15 minuutin synkronointi lähestyy liiketoimintamittaristoja lähes reaaliajassa. Päivittäiset synkronoinnit soveltuvat eräraportoinnin työkuormiin.

Päällikkö rajoittaa synkronointitöiden suunnittelua: Salesforce API -pyyntöjen rajoitus (15 000 kutsua per 24 tuntia Unlimited Edition -versiossa), 10 000 tietueen Bulk API 2.0 -eräkoko ja 50 000 SOQL-kyselyn rivien rajoitus per transaktio ovat kaikki ohjeita synkronointitöiden koon ja ajoittamiseen. Sovellusalusta käsittelee pilkkomisen ja sivutuksen automaattisesti, mutta arkkitehtien täytyy ottaa huomioon rajoitettu vapaat ajat kaikista organisaatiossa suoritetuista synkronointitöistä.

Snowflake on datan synkronoinnin ensisijainen kohde ja lähde Salesforce CRM Analyticsin kanssa. Se on konkreettinen esimerkki siitä, miten erä- ja asteittainen datan siirto toimii loppuun asti.

Tämä osio tarjoaa yleiskatsauksen CRM Analyticsin SyncOut- ja SyncIn-toteutuksesta käyttämällä Snowflakea ulkoisena analyysialustana. Se kattaa kunkin metodin, jaetut todennusmallit, suojauskehykset, sovellusalustan tärkeimmät huomioitavat asiat ja havaittavuuskäytännöt.

Tässä SyncOut-kokoonpanossa Salesforce käyttää CRM Analytics SyncOut -ominaisuutta lähettääkseen tietueita Snowflakeen. Sovellusalusta kerää dataa SOQL:n kautta, käsittelee tyyppien muunnokset automaattisesti ja lataa ne Snowflake-taulukoihin määritetyllä aikataululla (15 minuutista viikkoon). Lisätietoja latauksen semantiikoista on Salesforcen ja Snowflake-dokumentaatiossa.

SyncOut-arkkitehtuuri

Tässä SyncIn-kokoonpanossa Salesforce käyttää CRM Analytics -synkronointia noutaakseen dataa takaisin Salesforceen. Sovellusalusta kyselee Snowflakea Statements API:n kautta ja lähettää tulokset Salesforceen Bulk API 2.0:n avulla. Suuret tulosjoukot sivutetaan automaattisesti pysyäkseen API-rajoitusten sisällä. Synkronointi suoritetaan määritetyllä aikataululla, 15 minuutista viikoittain.

SyncIn-arkkitehtuuri

Salesforce-synkronointi tukee useita todennusmenetelmiä, jotta voit muodostaa yhteyden turvallisesti Snowflakeen. Enterprise-integraatioiden kaksi ensisijaista lähestymistapaa ovat Key-Pair (Yksityinen avain) ja Delegoitu OAuth 2.0.

Metodi 1: Avainparin (yksityinen avain) todennus: Avainparien todennus on suositeltu tapa automatisoida järjestelmästä järjestelmään -datan siirtoja, kuten CRM Analyticsin SyncIn ja SyncOut. Todennus perustuu JSON-verkkovaltuuksiin (JWT) salasanojen tai päivitettävien valtuuksien sijaan, joten se soveltuu hyvin valvottomille ajoitetuille töille, jotka eivät vaadi valtuuksien päivittämistä.

  • Salesforce-sertifikaatti: Luo yksityinen avain ja tallenna se turvallisesti Salesforcen sertifikaattien ja avainten hallintaan.
  • Ulkoinen/nimetty tunnus: Määritetty käyttämään JWT-vaihtoehtoa. Salesforce käyttää tallennettua yksityistä avainta lähtevien yhteyspyyntöjen allekirjoittamiseen.
  • Snowflake-käyttäjän julkinen avain: Vastaava julkinen avain kohdistetaan suoraan erilliselle Snowflake-palvelun tilille (esimerkiksi ALTER USER CRM_ANALYTICS_SYNC_USER SET RSA_PUBLIC_KEY = '...'). Snowflake käyttää tätä avainta vahvistaakseen saapuvan JWT-allekirjoituksen. Tämä menetelmä ei vaadi suojausintegraatiota.

Metodi 2: Valtuutettu OAuth 2.0 -todennus: Salesforce voi myös käyttää todentamiseen OAuth-vahvistusta. Avainkomponentit ovat:

  • Todentaja: Hallitsee OAuth-rakennetta Snowflakella käyttämällä Snowflake-suojausintegraatiosta haettuja asiakassovelluksen tunnuksia.
  • Ulkoinen tunnus: Pidättää OAuth-valtuudet turvallisesti Salesforcessa ja lisää ne synkronointikutsut automaattisesti.
  • Nimetty tunnus: Määrittää Snowflake-päätepisteen URL-osoitteen (esimerkiksi https://<tili>.snowflakecomputing.com) ja viittaa Ulkoinen tunnus -kenttään.
  • Snowflake-suojauksen integrointi: Rekisteröi Salesforcen luotetuksi OAuth-asiakassovellukseksi Snowflakessa (OAUTH_CLIENT = CUSTOM). Määrittää sallitun uudelleenohjauksen URI-osoitteen ja ottaa päivitysvaltuudet käyttöön.

Kokoonpanon sidonnaisuus: Riippumatta valitusta menetelmästä, nämä komponentit muodostavat riippuvuusketjun, joka yhdistää synkronointikokoonpanon päätepisteeseen. Nimetyn tunnuksen käyttöoikeuden myöntäminen on pakollista asiaankuuluville Salesforce-profiileille. Ilman tätä käyttöoikeutta synkronointityöt epäonnistuvat todennusvirheiden vuoksi riippumatta kaikista muista kokoonpanoista.

Taustasynkronointi perustuu yhteen integraatiotunnukseen.

  • Kohdistetun palvelun tili: Luo erillinen Snowflake-palvelutili, jonka vähiten käyttöoikeuksia käyttävä rooli on rajoitettu vain synkronointiin vaadittuihin tietokantoihin, skeemoihin ja taulukoihin.
  • Yleiset käyttöoikeudet: SyncOut edellyttää, että tämä rooli vaatii INSERT-, UPDATE- ja SELECT-vaihtoehdot kohdetaulukoissa. Älä koskaan käytä korkean oikeutuksen rooleja, kuten ACCOUNTADMIN, SECURITYADMIN tai SYSADMIN.
  • Governor-rajoitukset ja pilkkominen: Suuret tulosjoukot pilkotaan automaattisesti synkronoinnin aikana Salesforcen SOQL-hallintarajoitusten noudattamiseksi. SyncIn noutaa suuria tulosjoukkoja Snowflake Statements API -rajapinnasta automaattisen sivutuksen kautta hallitakseen datamääriä tehokkaasti.
  • Muutostietojen taltiointi (CDC): Asteittainen synkronointi luottaa Salesforce CDC -tapahtumaketjuun tunnistaakseen luodut, päivitetyt tai poistetut tietueet. Jos pysyvän poistamisen seuranta on käytössä, poistettuja Salesforce-tietueita ei jätetä pois, vaan ne merkitään DEL_FLAG = 'Y' Snowflakessa.
  • Upsert-rajoitukset: SyncIn luottaa Bulk API 2.0 -rajapintaan ladatakseen dataa takaisin Salesforceen. Tämä vaatii, että Salesforcen kohdeobjektille on määritetty Ulkoinen tunnus -kenttä, joka toimii upsert-avaimena.
  • Suunnittelua koskevia ohjeita: Synkronoi aina Snowflake-kutsujen keräämistä raaka-taulukoista. Näkymät sallivat rivien esikatselun, sarakkeiden valinnan ja liiketoimintalogiikan soveltamisen, mikä vähentää datan määrää, synkronoinnin kestoa ja Snowflake-varaston laskentakustannuksia suhteessa käytettyyn esikatseluun.

Jokainen synkronointisuoritus luo kattavia kirjausketjuja datan liikkuvuuden vahvistamiseksi. Synkronoinnin työn valvonta -mittaristo tarjoaa reaaliaikaisia tiloja, käsiteltyjen tietueiden määriä, suorituskertojen kestoja ja yksityiskohtaisia virhelokeja synkronoinnille ja synkronoinnille. Snowflake-puolella kaikki Salesforcen lähettämät kyselyt kirjataan Snowflake-kyselyhistoriaan, mikä tarjoaa täydet tiedot suorituksen viiveestä, skannatuista riveistä ja varaston laskennan käytöstä. Lisäksi arkkitehtit määrittävät Snowflake-todennustaulukoita kerätäkseen synkronoinnin metadataa — aikaleimaa, tietueiden määriä ja virheitä, joita sovellusalusta ei luo automaattisesti. Vertaile tietueiden määriä molemmilla sovellusalustoilla nähdäksesi vahvistuksen loppuun asti: vahvista SyncOut-suoritusten aktiiviset Snowflake (WHERE DEL_FLAG = 'N') -tietueet ja vertaa Salesforcen kohdeobjektien määriä suoraan alkuperäiseen Snowflake-lähdenäkymään SyncIn-suorituksille.

Käytä CRM Analyticsin SyncIn- ja SyncOut-ominaisuuksia, kun:

  • Kaksisuuntainen synkronointi on pakollinen: Data kulkee Salesforceen Syncinin kautta ja ulkoiseen alustaan SyncOutissa.
  • Kyvyn poistamisen seuranta on tärkeää: SyncOutin sisäänrakennettu merkintä ratkaisee monimutkaisen ETL-ongelman ilman mukautettua täsmäyslogiikkaa.
  • CDC-pohjainen asteittainen synkronointi on mahdollista: Jos käytät raskaita Salesforce-objekteja, CDC vähentää API-kulutusta ja synkronoinnin kestoa merkittävästi verrattuna täysiin skannauksiin.
  • Ajoitettu eräsynkronointi täyttää viiveen vaatimukset: Synkronoinnin vähimmäismäärä on 15 minuuttia, mikä soveltuu toiminnallisiin mittaristoihin ja lähes reaaliaikaiseen analyysiraporttiin.
  • Alhainen toimintokustannus on prioriteetti: Sisäänrakennetut mittaristot tarjoavat täyden synkronoinnin näkyvyyden ilman mukautettua lokien tai hälytysten infrastruktuuria, ja määritysten deklaratiivinen käyttöliittymä sallii pääkäyttäjien määrittää, muokata ja valvoa synkronointitöitä nostamatta kehityslippua.

Älä käytä tätä kuviota, jos:

  • Monimutkaiset transformaatiot vaativat: Liitä useita taulukoita, jäsennä JSON-tiedostoja tai käsittele edistynyttä liiketoimintalogiikkaa Snowflake-näkymissä tai erillisessä transformaatiokerroksessa ennen tai synkronoinnin jälkeen.
  • Vähintään 15 minuutin viive vaaditaan: Käytä reaaliaikaisille käyttötarkoituksille sovellusalustan tapahtumia tai Streaming API -rajapintoja.
  • Erittäin raskaat streaming-työkuormat ovat käytettävissä: Objekteja, joilla on miljoonia transaktioita tunnissa, tarjoavat paremmin erilliset streaming-putket (Kafka, Sovellusalustan tapahtumat).
  • Mukautettua virheiden käsittelylogiikkaa tarvitaan: Sovellusalusta tarjoaa vakiomuotoisen uudelleenyrityksen ja virhelokin. Monimutkaiset uudelleenyrityskuviot tai mukautetut hälytykset vaativat Apexin tai ulkoisen orkestroinnin.
  • Monen organisaation tai pilven välinen synkronointi: CRM Analyticsin SyncIn ja SyncOut toimivat yhdessä Salesforce-organisaatiossa. MuleSoft tai mukautettu integraatiokerros vaaditaan usean organisaation skenaarioissa.

Tiimi suoritti monimutkaisia ETL-putkia ladatakseen Snowflake Analytics -dataa CRM Analytics -datajoukkoihin. Myyntiputki oli hidas, hauras ja vaati jatkuvaa teknistä huoltoa.

CRM Analytics SyncIn on määritetty synkronoimaan Snowflake-ryhmitettyjä aggregoituja näkymiä suoraan mukautettuihin Salesforce-objekteihin. Tiimi määritti CRM Analytics -mittaristot uudelleen näiden objektien lukuoikeudeksi CRM Analytics -datajoukkojen sijaan. Tulos: kaksi ETL-putkea poistettu, synkronoinnin kesto lyhennetty neljästä tunnista 30 minuuttiin ja pääkäyttäjät voivat muokata synkronointikokoonpanoja nostamatta insinööripalkkia.

Datatiimi tarvitsee seurata pysyvästi poistettuja Salesforce-tietueita Snowflake-toimintatietokannassaan. Perinteiset lähestymistavat vaativat osuuksien töitä ja monimutkaista tunnusten täsmäyslogiikkaa, joka kesti tunteja ja oli hauras skeeman muutoksissa.

Tiimi on määrittänyt CRM Analyticsin synkronoinnin CDC:llä ja pysyvän poistamisen seurannalla. Poistetut tietueet merkitään nyt automaattisesti kulutustaulukossa DEL_FLAG = 'Y'. Alhaisen analyysin kyselyitä käytetään WHERE DEL_FLAG = 'N' nähdäksesi vain aktiiviset tietueet. Yhteensovitusoikeus poistettiin kokonaan ja synkronoinnin kesto laski kahdeksasta tunnista 15 minuutin asteittaisiin suorituksiin.

Hankinnan aikana hankkiva yhtiö synkronoi kuusi raskaan Salesforce-objektia Snowflakeen organisaatioiden välistä raportointia ja säännösten noudattamista varten kiinteällä aikajanalla.

Tiimi määritti CRM Analytics SyncOut -ominaisuuden kaikille kuudelle objektille CDC-pohjaisilla asteittaisilla synkronoinneilla. Auditoi metadatataulukoita seurataksesi skeeman muutoksia ja tietueiden määriä integrointijakson aikana. He eivät kirjoittaneet mukautettua koodia. Datan tuoreus parani päivittäin 15 minuutin välein, ja auditoinnin metadatataulukot tarjoavat vaatimuksenmukaisuuden raportointiin tarvittavan jäljitettävyyden.

Synkronointityöt jakavat organisaation API-budjetin. Organisaatio, joka suorittaa useita yleisiä synkronointitöitä suurille objekteille, saattaa käyttää 15 000 API-kutsua per 24 tunnin rajoitus. Inventaarioi kaikki synkronointityöt, arvioi API-kulutusta per suoritus ja siirrä aikataulut jakaaksesi latauksen. CDC-pohjainen asteittainen tila voi merkittävästi vähentää API-kulutusta per suorituskerta objekteille, joiden muutosaste on alhainen tai keskitasoinen verrattuna täyteen synkronointiin.

SyncIn ja SyncOut suorittavat kyselyitä ja datan latauksia Snowflake-tietovarastoon, mikä kuluttaa laskentakrediittejä. Tavallisesti yksinkertaisille SELECT-kyselyille riittää X-Pieni tai Pieni varasto. Suurille SyncOut-latauksille saatetaan vaatia Keskikokoinen tai Suuri. Määritä automaattinen keskeytys (5 minuutin ei-aktiivinen) ja automaattinen jatkaminen varastossa. Käytä tuotanto-synkronointitöille erillistä varastoa eristääksesi kustannukset ja välttyäksesi ristiriidoilta käyttäjien kyselyiden kanssa.

Jos Salesforce-kenttää nimetään uudelleen, poistetaan tai muutetaan API-nimeä, sitä vastaava SyncOut-kenttäkartoitus epäonnistuu hiljaa tai kirjaa virheet lokiin. Luo muutostenhallintaprosessi, joka sisältää aktiivisten synkronointikokoonpanojen tarkastamisen osana Salesforcen metadatan muutoksia. Snowflake-tarkistustaulukot tarjoavat muutoshistorian, joka auttaa tunnistamaan, milloin drift-tapahtuma tapahtui.

Pysyvän poistamisen seuranta SyncOutissa vaatii, että CDC on käytössä Salesforce-objektille. Jos CDC ei ole käytössä, "Seuraa pysyviä poistoja" -vaihtoehto ei vaikuta. Vahvista CDC-käyttöönotto osana synkronointikokoonpanojen tarkistuslistaa, varsinkin alustavien määritysten aikana tai organisaation siirtojen jälkeen.

Yleisin virheluokka on tunnusten vanhentuminen tai käyttöoikeuksien katoaminen. Nimettyjen tunnusten täytyy pysyä voimassa ja Snowflake-palvelutilin täytyy säilyttää varaston käyttöoikeudet ja taulukkojen käyttöoikeudet. OAuth-pohjaisten määritysten valtuuksien päivitysvirheet voivat lykätä synkronointitöitä hiljaa. Valvo Sync Job Monitor -mittaristoa todennusvirheiden kuvioiden varalta ja määritä Chatter- tai sähköposti-ilmoitukset töiden epäonnistumisille.

SyncIn käyttää upsert-avaimena Salesforce External ID -kenttää. Jos lähde Snowflake-näkymä sisältää avainkentässä identtisiä arvoja, upsert epäonnistuu asiaankuuluville tietueille. Tee Snowflake-näkymän kerroksessa olevalle avainkentälle yksilöllinen ennen kuin se saavuttaa synkronointikokoonpanon.

Kun synkronointityöt epäonnistuvat, sovellusalusta kirjaa synkronointitöiden valvontaohjelmaan yksityiskohtaisia virheviestejä per tietue. Yleisimmät virheiden skenaariot ja niiden ratkaisut:

  • Todennusvirhe: tarkasta nimetyn tunnuksen tila ja Snowflake-tilin vanhentuminen. Todenna OAuth uudelleen, jos valtuuden päivitys epäonnistui.
  • Kenttäkartoitusvirhe: Tarkasta Snowflake-sarakkeiden ja Salesforce-kenttien tyyppien yhteensopivuus. Tarkasta kenttätason suojaus oletuskäyttäjälle.
  • Päälliköiden rajoitus ylitetty: vähennä synkronoinnin yleisyyttä tai siirry asteittaiseen CDC-tilaan API-kulutuksen levittämiseksi.
  • Snowflake-varasto keskeytetty: määrittää automaattisen jatkamisen varastossa tai käynnistää manuaalisen jatkamisen ennen seuraavaa ajoitettua synkronointia.
  • Kyvän poistamisen seuranta ei toimi: Vahvista, että CDC on käytössä objektille ja että synkronointikokoonpanossa on määritetty "Seuraa pysyviä poistoja" -merkintä.

CRM Analyticsin datan synkronointi noudattaa Salesforcen hyvin rakennetun kehyksen useita pilareita.

  • Luotettavuus (virheiden toleranssi): Sovellusalusta hallitsee suoritusta, uudelleenyrityslogiikkaa ja osittaisten virheiden käsittelyä automaattisesti. Epäonnistuneet tietueet kirjataan yksittäin Synkronointitöiden valvontaohjelmaan. Toteuta tietueiden määrän täsmäys virheiden jälkeen vahvistaaksesi yhdenmukaisuuden, täydentääksesi virheiden ilmoituksilla ja valvoaksesi synkronointitöiden valvontaohjelmaa toistuvien virhekuvioiden varalta. CDC-pohjainen asteittainen synkronointi vähentää epäonnistuneen suorituksen rästityötä rajoittamalla data-ikkunaa vaikutusalueessa.
  • Trust: Tunnusmalli (nimetyt tunnukset, ulkoiset tunnukset, todentaja) käyttää salattua tallennustilaa, valtuuksien automaattista päivitystä ja keskitetyn hallinnan. Snowflake-puolella vähiten käyttöoikeuksia käyttävä käyttöoikeus rajoittaa vaarantuneen tunnuksen rästitehoa. Synkronoinnin aikana noudatetaan kenttätason suojausta. Käyttäjät eivät voi synkronoida kenttiä, joita heillä ei ole oikeutta käyttää.
  • Resurssien ja kustannusten optimointi: Asteittainen CDC-tila on ensisijainen työkalu suorituskyvyn optimointiin. Se vähentää API-kulutusta, synkronoinnin kestoa ja Snowflake-laskentakustannuksia verrattuna täyteen synkronointiin. Snowflake-näkymän esikatselu vähentää datan määrää edelleen siirrettäessä. Varaston automaattinen keskeyttäminen estää toimettomien tietojen käytön.
  • Operational Excellence: Deklaratiivinen kokoonpanomalli tarkoittaa, että synkronointityöt on määritetty metadatassa, ei koodissa. Näin ne ovat tarkastettavissa, toistettavissa ja hallittavissa ilman teknisiä toimia. Sisäänrakennetut valvontamittaristot tarjoavat täydellisen havaittavuuden ilman mukautettua lokien infrastruktuuria.
  • Luotettavuus (skaalattavuus): Sovellusalusta käsittelee pilkkomisen, sivutuksen ja Bulk API -erän automaattisesti. Jos objektissa on erittäin paljon tietueita, asteittainen CDC-tila ja ruuhka-aikataulu ovat ensisijaisia arkkitehtonisia pikavalintoja, joilla voit ylläpitää läpimenoa hallintarajoitusten rajoitusten sisällä.

Tämä tarkistuslista kattaa synkronointikokoonpanon määrittämisen ja vahvistamisen vähimmäisvaiheet.

Esikokoonpanon tarkistuslista:

  • Ota käyttöön Muuta datan taltiointi kaikille Salesforce-objekteille, jotka on tarkoitettu asteittaiseen SyncOut-tilaan (Määritykset → Muuta datan taltiointi).
  • Luo erillinen Snowflake-palvelutili, jolla on vähiten käyttöoikeuksia; myönnä vain vaaditut taulukko- ja varasto-oikeudet.
  • Luo Snowflake-suojausintegraatio, jos käytät OAuth-todennusta.
  • Tunnista jokaisen Salesforce-objektin Ulkoinen tunnus -kenttä, jota SyncIn käyttää upsert-avaimena. Vahvista lähdedatan yksilöllisyys.

Yhteys:

  • Luo todentaja Salesforcessa (Määritykset → Todentajat).
  • Luo ulkoinen tunnus ja linkki todentajaan (Määritykset → Nimetyt tunnukset → Ulkoiset tunnukset).
  • Luo nimetty tunnus ja linkki ulkoiseen tunnukseen (Määritykset → Nimetyt tunnukset).
  • Myönnä nimetty tunnus -käyttöoikeus asiaankuuluville Salesforce-profiileille.

SyncOut-kokoonpano:

  • Luo Snowflake-yhteys (Määritykset → Analytics Studio → Datan hallinta → Yhteydet → Snowflake-yhteydet).
  • SyncOut-kokoonpanon luominen: lähdeobjekti, kohdetaulukko, synkronointitila, kenttäkartoitukset, CDC, pysyvän poistamisen seuranta, aikataulu.
  • Aloita päivittäisellä synkronoinnilla. Vahvista datan laatu ja suorituskyky ennen yleisyyden nostamista.

SyncIn-kokoonpano:

  • Luo ulkoinen tietolähde (Määritykset → Analytics Studio → Datan hallinta → Yhteydet → Snowflake-yhteydet).
  • Synkronointikokoonpanon luominen: lähdenäkymä, kohdeobjekti, Ulkoinen tunnus -kenttä, kenttäkartoitukset, aikataulu.
  • Synkronoi Snowflake-näkymistä, ei raaka-taulukoista.

Vahvistus:

  • Tarkasta Synkronointitöiden valvonta ensimmäisen suorituksen jälkeen (Määritykset → Analytics Studio → Datan hallinta → Synkronointitöiden valvonta).
  • Kysele Snowflake-tarkistustaulukkoa vahvistaaksesi, että synkronoinnin metadata kirjoitettiin.
  • Vahvista pysyvästi poistamisen merkitseminen vahvistamalla, että DEL_FLAG-sarake on olemassa ja täytetty.
  • Vertaa tietueiden määriä lähteen ja kohteen välillä.
  • Määritä virheiden ilmoitukset Chatterin tai sähköpostin kautta.

Käytä tätä kuviota, kun ajoitettu eräsynkronointi täyttää viivevaatimukset, kaksisuuntainen datakulku on tarpeen ja integrointitoimintoihin perustuvan suunnittelun vähentäminen on prioriteetti.

Tämän oppaan Snowflake-työesimerkki kuvaa koko elinkaarta: yhteyden määritykset, kokoonpano, suorituskulku ja vahvistus. Samat periaatteet koskevat kaikkia tuettuja ulkoisia datalustoja.

Kun alle 15 minuutin viive, monimutkaiset transformaatiot tai usean organisaation skenaariot ovat käytössä, arvioi sovellusalustan tapahtumat, Streaming API -rajapinnat tai MuleSoft täydentävänä tai vaihtoehtoisena lähestymistavana.

Yugandhar Bora on Salesforcen ohjelmistotekniikan arkkitehti, joka on erikoistunut Data & Intelligence -sovellusalustan datan arkkitehtuuriin. Hän johtaa Enterprise Architecture Review Board (EARB) -aloitteita, jotka keskittyvät datan hallintaan ja yhtenäistettyihin datamalleihin ja jotka vaikuttavat automatisoituihin sovellusalustan provisiointiratkaisuihin.