[Ultimate]{class="badge positive"}
Snowflake streamingbron
-
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:
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
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 . |
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.
Voer de volgende opdracht op uw terminal uit om de gecodeerde Snowflake persoonlijke sleutel te genereren:
code language-shell |
---|
|
Als dit lukt, ontvangt u de persoonlijke sleutel in de PEM-indeling.
code language-shell |
---|
|
Als u de niet-gecodeerde Snowflake persoonlijke sleutel wilt genereren, voert u de volgende opdracht uit op uw terminal:
code language-shell |
---|
|
Als dit lukt, ontvangt u de persoonlijke sleutel in de PEM-indeling.
code language-shell |
---|
|
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:
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
ofTIMESTAMP_NTZ
. Als de tijdstempelkolom is ingesteld opTIMESTAMP_NTZ
, moet de bijbehorende tijdzone waarin de waarden zijn opgeslagen, via de parametertimezoneValue
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
In de volgende zelfstudie worden stappen beschreven voor het verbinden van uw Snowflake -streamingbron met Experience Platform met behulp van de API: