[Ultimate]{class="badge positive"}

Snowflake streamingbron

IMPORTANT
  • De Snowflake -streamingbron is in de API beschikbaar voor gebruikers die Real-Time CDP Ultimate hebben aangeschaft.

  • U kunt nu de Snowflake -streamingbron gebruiken wanneer u Adobe Experience Platform uitvoert op Amazon Web Services (AWS). Experience Platform die op AWS wordt uitgevoerd, is momenteel beschikbaar voor een beperkt aantal klanten. Meer over de gesteunde infrastructuur van Experience Platform leren, zie het ​ multi-wolkenoverzicht van Experience Platform ​.

Adobe Experience Platform staat toe dat gegevens uit externe bronnen worden opgenomen en biedt u de mogelijkheid om inkomende gegevens te structureren, labelen en verbeteren met behulp van Experience Platform-services. U kunt gegevens invoeren uit verschillende bronnen, zoals Adobe-toepassingen, opslag in de cloud, databases en vele andere.

Experience Platform biedt ondersteuning voor het streamen van gegevens uit een Snowflake -database.

De Snowflake streamingbron

De Snowflake streamingbron werkt door gegevens te laten laden door periodiek een SQL-query uit te voeren en een uitvoerrecord te maken voor elke rij in de resulterende set.

Met Kafka Connect houdt de Snowflake streamingbron de meest recente record bij die van elke tabel wordt ontvangen, zodat deze op de juiste locatie voor de volgende herhaling kan beginnen. De bron gebruikt deze functionaliteit om gegevens te filteren en slechts de bijgewerkte rijen van een lijst op elke herhaling te krijgen.

Vereisten

In de volgende sectie worden de vereiste stappen beschreven die moeten worden uitgevoerd voordat u gegevens kunt streamen van uw Snowflake -database naar Experience Platform:

IP adres lijst van gewenste personen

U moet gebied-specifieke IP adressen aan uw lijst van gewenste personen toevoegen alvorens uw bronnen aan Experience Platform aan te sluiten. Voor meer informatie, lees de gids op ​ voegend op lijst van gewenste personen IP adressen om met Experience Platform ​ voor meer informatie te verbinden.

In de onderstaande documentatie vindt u informatie over het tot stand brengen van een verbinding tussen Amazon Redshift en Experience Platform via API's of de gebruikersinterface:

Vereiste referenties verzamelen

Flow Service kan alleen verbinding maken met Snowflake als u de volgende verbindingseigenschappen opgeeft:

Basisauthentificatie
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
Credentials Beschrijving
account

De volledige account-id (naam van account of accountlocator) van uw Snowflake -account is toegevoegd met het achtervoegsel snowflakecomputing.com . De account-id kan verschillende indelingen hebben:

  • {ORG_NAME} - {ACCOUNT_NAME} .snowflakecomputing.com (b.v. acme-abc12345.snowflakecomputing.com)
  • {ACCOUNT_LOCATOR}.{CLOUD_REGION_ID} .snowflakecomputing.com (bijvoorbeeld acme12345.ap-southeast-1.snowflakecomputing.com)
  • {ACCOUNT_LOCATOR}.{CLOUD_REGION_ID}.{CLOUD} .snowflakecomputing.com (bijvoorbeeld acme12345.east-us-2.azure.snowflakecomputing.com)

Voor meer informatie, lees Snowflake document on account identifiers ​.

warehouse Het Snowflake pakhuis beheert het proces van de vraaguitvoering voor de toepassing. Elk Snowflake -pakhuis is onafhankelijk van elkaar en moet afzonderlijk worden benaderd wanneer u gegevens naar Experience Platform overbrengt.
database De database Snowflake bevat de gegevens die u aan de Experience Platform wilt toevoegen.
username De gebruikersnaam voor de Snowflake -account.
password Het wachtwoord voor de Snowflake -gebruikersaccount.
role (Optioneel) Een op maat gedefinieerde rol die voor een gebruiker, voor een bepaalde verbinding kan worden opgegeven. Als deze waarde niet is opgegeven, wordt deze standaard ingesteld op public .
connectionSpec.id De verbindingsspecificatie keert de schakelaareigenschappen van een bron, met inbegrip van authentificatiespecificaties met betrekking tot het creëren van de basis en bronverbindingen terug. De verbindingsspecificatie-id voor Snowflake is 51ae16c2-bdad-42fd-9fce-8d5dfddaf140 .
zeer belangrijk-paar authentificatie

Als u sleutelparverificatie wilt gebruiken, moet u een 2048-bits RSA-sleutelpaar genereren en de volgende waarden opgeven wanneer u een account voor uw Snowflake -bron maakt.

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
Credentials Beschrijving
account Een accountnaam vormt een unieke identificatie van een account binnen uw organisatie. In dit geval moet u een account op unieke wijze identificeren voor verschillende Snowflake -organisaties. Hiervoor moet u de naam van uw organisatie aan de accountnaam toevoegen. Bijvoorbeeld: orgname-account_name . Lees de gids bij ​ het terugwinnen van uw Snowflake rekeningsherkenningsteken ​ voor extra begeleiding. Raadpleeg voor meer informatie de Snowflake documentatie.
username De gebruikersnaam van uw Snowflake -account.
privateKey De Base64- gecodeerde privé sleutel van uw Snowflake rekening. U kunt gecodeerde of niet-gecodeerde persoonlijke sleutels genereren. Als u een gecodeerde persoonlijke sleutel gebruikt, moet u ook een persoonlijke-sleutelwachtwoord opgeven bij verificatie met behulp van Experience Platform. Lees de gids op ​ het terugwinnen van uw Snowflake privé sleutel ​ voor meer informatie.
passphrase Passphrase is een extra laag van veiligheid die u moet gebruiken wanneer het voor authentiek verklaren met een gecodeerde privé sleutel. U hoeft de wachtwoordzin niet op te geven als u een niet-gecodeerde persoonlijke sleutel gebruikt.
database De Snowflake -database die de gegevens bevat die u aan Experience Platform wilt toevoegen.
warehouse Het Snowflake pakhuis beheert het proces van de vraaguitvoering voor de toepassing. Elk Snowflake -pakhuis is onafhankelijk van elkaar en moet afzonderlijk worden benaderd wanneer u gegevens naar Experience Platform overbrengt.

Voor meer informatie over deze waarden, verwijs de Snowflake sleutel-paar authentificatiegids ​.

Uw account-id ophalen retrieve-your-account-identifier

Als u uw Snowflake -instantie wilt verifiëren met Experience Platform, moet u uw account-id opvragen via het Snowflake UI-dashboard.

Voer de volgende stappen uit om uw account-id te zoeken:

  • Navigeer aan uw rekening op het Snowflake toepassingsUI dashboard ​.
  • Selecteer in de linkernavigatie Accounts , gevolgd door Active Accounts in de koptekst.
  • Selecteer vervolgens het informatiepictogram en selecteer en kopieer de domeinnaam van de huidige URL.

Persoonlijke sleutel ophalen retrieve-your-private-key

Als u sleutelparverificatie wilt gebruiken voor uw Snowflake -verbinding, moet u een persoonlijke sleutel genereren voordat u verbinding maakt met Experience Platform.

creeer een gecodeerde privé sleutel

Voer de volgende opdracht op uw terminal uit om de gecodeerde Snowflake persoonlijke sleutel te genereren:

code language-shell
openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8

Als dit lukt, ontvangt u de persoonlijke sleutel in de PEM-indeling.

code language-shell
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIE6T...
-----END ENCRYPTED PRIVATE KEY-----
creeer een niet gecodeerde privé sleutel

Als u de niet-gecodeerde Snowflake persoonlijke sleutel wilt genereren, voert u de volgende opdracht uit op uw terminal:

code language-shell
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt

Als dit lukt, ontvangt u de persoonlijke sleutel in de PEM-indeling.

code language-shell
-----BEGIN PRIVATE KEY-----
MIIE6T...
-----END PRIVATE KEY-----

Nadat u de persoonlijke sleutel hebt gegenereerd, codeert u deze rechtstreeks in Base64 zonder wijzigingen aan te brengen in de indeling of inhoud. Zorg ervoor dat er aan het einde van de persoonlijke sleutel geen extra spaties of lege regels (inclusief volgnewlines) staan voordat u gaat coderen.

Configuraties verifiëren

Voordat u een bronverbinding voor uw Snowflake gegevens kunt maken, moet u ook controleren of aan de volgende configuraties is voldaan:

  • Het standaardpakhuis dat aan een bepaalde gebruiker wordt toegewezen moet het zelfde zijn als het pakhuis dat u wanneer het voor authentiek verklaren aan Experience Platform invoert.
  • De standaardrol die aan een bepaalde gebruiker wordt toegewezen moet toegang tot het zelfde gegevensbestand hebben dat u wanneer het voor authentiek verklaren aan Experience Platform invoert.

Om uw rol en pakhuis te verifiëren:

  • Selecteer Admin in de linkernavigatie en selecteer vervolgens Users & Roles .
  • Selecteer de juiste gebruiker en selecteer vervolgens de ellipsen (...) in de rechterbovenhoek.
  • Navigeer in het Edit user -venster dat wordt weergegeven naar Default Role om de rol weer te geven die aan de opgegeven gebruiker is gekoppeld.
  • Navigeer in hetzelfde venster naar Default Warehouse om het pakhuis weer te geven dat aan de opgegeven gebruiker is gekoppeld.

Nadat de codering is voltooid, kunt u die Base64 gecodeerde persoonlijke sleutel op Experience Platform gebruiken om uw Snowflake -account te verifiëren.

Rolinstellingen configureren configure-role-settings

U moet voorrechten aan een rol vormen, zelfs als de standaard openbare rol wordt toegewezen, om uw bronverbinding toe te staan om tot het relevante Snowflake gegevensbestand, schema, en lijst toegang te hebben. De verschillende rechten voor verschillende Snowflake -entiteiten zijn als volgt:

Snowflake entiteit
Rolvoorrecht vereisen
Warehouse
WERKEN, GEBRUIKEN
Database
GEBRUIK
Schema
GEBRUIK
Tabel
SELECT
NOTE
De auto-hervat en auto-onderbreekt moeten in de geavanceerde montagesconfiguratie van uw pakhuis worden toegelaten.

Voor meer informatie over rol en voorrechtbeheer, verwijs naar de Snowflake API verwijzing ​.

Unix-tijd converteren naar datumvelden

Snowflake Streaming ontleedt en schrijft DATE gebieden als aantal dagen sinds het tijdperk van Unix (1970-01-01). Een DATE -waarde 0 betekent bijvoorbeeld 1 januari 1970, een waarde van 1 betekent 2 januari 1970. Wanneer u het bestand voorbereidt om toewijzingen te maken in de Snowflake Streaming -bron, moet u er daarom voor zorgen dat de DATE -kolom wordt weergegeven als een geheel getal.

U kunt {de gegevens en tijdfuncties van de Prep van Gegevens van 0} gebruiken ​ om de tijd van Unix in datumgebieden om te zetten die in Experience Platform kunnen worden opgenomen. ​ Bijvoorbeeld:

dformat({DATE_COLUMN} * 86400000, "yyyy-MM-dd")

In deze functie:

  • {DATE_COLUMN} is de datumkolom die het gehele getal van de epoche-dag bevat.
  • Vermenigvuldigen met 8640000 zet de epochdagen om in milliseconden.
  • 'yyyy-MM-dd' geeft de gewenste datumnotatie aan.

Deze omzetting zorgt ervoor dat de datum correct in uw dataset wordt vertegenwoordigd.

Beperkingen en veelgestelde vragen limitations-and-frequently-asked-questions

  • De gegevensdoorvoer voor de Snowflake -bron is 2000 records per seconde.

  • De prijs kan afhankelijk van de hoeveelheid tijd variëren dat een pakhuis actief is en de grootte van het pakhuis. Voor de Snowflake bronintegratie, is de kleinste grootte, x-kleine pakhuis voldoende. Voorgesteld wordt automatische schorsing in te schakelen, zodat het entrepot in zijn eentje kan worden stilgelegd wanneer het niet in gebruik is.

  • De Snowflake -bron vraagt de database om de tien seconden om nieuwe gegevens.

  • Configuratieopties:

    • Wanneer u een bronverbinding maakt, kunt u een backfill booleaanse markering voor uw Snowflake -bron inschakelen.

      • Als backfill is ingesteld op true, wordt de waarde voor timestamp.initial ingesteld op 0. Dit betekent dat gegevens met een tijdstempelkolom die langer is dan 0 tijdperk worden opgehaald.
      • Als backfill is ingesteld op false, wordt de waarde voor timestamp.initial ingesteld op -1. Dit betekent dat gegevens met een tijdstempelkolom die langer is dan de huidige tijd (de tijd waarin de bron begint op te nemen), worden opgehaald.
    • De tijdstempelkolom moet worden opgemaakt als type: TIMESTAMP_LTZ of TIMESTAMP_NTZ . Als de tijdstempelkolom is ingesteld op TIMESTAMP_NTZ , moet de bijbehorende tijdzone waarin de waarden zijn opgeslagen, via de parameter timezoneValue worden doorgegeven. Als deze waarde niet wordt opgegeven, wordt de standaardwaarde voor UTC gebruikt.

      • TIMESTAMP_TZ kan niet worden gebruikt in een tijdstempelkolom of in een toewijzing.

Volgende stappen

NOTE
Nadat u een streaming gegevensstroom hebt gemaakt of bijgewerkt, moet u de gegevensinvoer kort na vijf minuten pauzeren om te voorkomen dat gegevens verloren gaan of dat gegevens verloren gaan.

In de volgende zelfstudie worden stappen beschreven voor het verbinden van uw Snowflake -streamingbron met Experience Platform met behulp van de API:

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089