Problembehandlung bei Snowflake Data Clean Rooms¶
Diese Seite dient als allgemeine Anleitung zur Fehlerbehebung bei der Verwendung von Clean Rooms. Wenn Sie die API verwenden, lesen Sie unbedingt die Referenzdokumentation für alle Prozeduren, die Sie aufrufen, sowie die Richtlinien für Anwendungsfälle, um zu sehen, ob Ihr Problem dort behandelt wird.
Wenn Sie Entwickelnde(r) sind, finden Sie weitere Informationen unter Richtlinien zur Problembehandlung für Entwickelnde.
Installationsprobleme¶
Weitere Informationen finden Sie im Abschnitt zur Behandlung von Installationsproblemen.
Stellen Sie sicher, dass Sie Ihre Netzwerkrichtlinie aktualisiert haben, um der UI den Zugriff auf Ihre Daten zu erlauben.
Analysis and template issues¶
- Fehler:
Failure during expansion of shared view <CLEAN ROOM VIEW NAME> as view owner: Insufficient permission to resolve external/iceberg table <TABLE_NAME> shared by application SAMOOHA_CLEANROOM_APP_<CLEAN ROOM ID>- Ursache:
Sie versuchen, auf externe oder Iceberg-Tabellen zuzugreifen, aber externe und Iceberg-Tabellen sind weder in den Anbieter- noch in den Verbraucherkonten aktiviert.
- Lösung:
Stellen Sie sicher, dass sowohl für Anbieter- als auch für Verbraucherkonten externe und Iceberg-Tabellen aktiviert sind.
- Fehler:
SQL-Kompilierungsfehler: Failure during expansion of shared view '<CLEAN ROOM VIEW NAME>' as view owner: Object '<some object name>' does not exist or not authorized.- Ursache:
Für das Datenset, auf das Sie zugreifen möchten, gibt es keine Clean Room-Berechtigungen mehr. Dies ist höchstwahrscheinlich darauf zurückzuführen, dass das Quellobjekt umbenannt oder ersetzt wurde.
- Lösung:
Wenn die Tabelle umbenannt wurde, ändern Sie den Namen wieder in den Namen, der im Clean Room verknüpft ist. Möglicherweise müssen Sie das Objekt auch neu registrieren.
Wenn die Tabelle neu erstellt wurde, registrieren Sie das Objekt erneut im Clean Room.
- Fehler:
Query returns zero results and you think that’s wrong.
- Mögliche Ursachen und Lösungen:
Stellen Sie sicher, dass keine der beiden Seiten eine Maskierungsrichtlinie für die Daten hat, die verhindern könnte, dass sie verknüpft oder angezeigt werden.
Stellen Sie sicher, dass die Join-Spalten auf dieselbe Weise formatiert sind.
Confirm that you are not falling below any fixed threshold settings. The audience overlap has a default threshold of five, meaning that fewer than five rows will be omitted from the results. Ask the provider what the threshold is, and confirm whether you have any overlaps greater than that number; temporarily modify the overlap specifications to guarantee large segment groups to see whether you get results then.
- Fehler:
Uncaught exception of type 'STATEMENT_ERROR' ... SQL compilation error: invalid URL prefix found ...- Ursache:
Die Vorlage verwendet für einen Spalten- oder Tabellennamen einen Zeichenfolgewert anstelle eines Bezeichners. Dies geschieht, wenn die Vorlage Zeichenfolgenvariablen nicht ordnungsgemäß in Bezeichner umwandelt, entweder mit der
sqlsafe-Filter oder derIDENTIFIER-Funktion.Beispiel: Wenn Sie
p.col1anmy_columnin der VorlageSELECT {{ my_column }} ...übergeben, wird dies zuSELECT "p.col1" ...aufgelöst. „p.col1“ ist eine Zeichenfolge, kein gültiger Bezeichner (undp.wird als URL-Präfix interpretiert).- Lösung:
Wenden Sie entweder die IDENTIFIER-Funktion (bevorzugt) oder die
sqlsafe-Filter auf die Variable an:SELECT IDENTIFIER({{ my_column }}) ...(bevorzugt)SELECT {{ my_column | sqlsafe }} ...
- Fehler:
**FAILURE**: Unauthorized columns: column_name- Ursache:
Ihre Abfrage verwendet eine Spalte mit Teilnehmerdaten, die nicht Teil der Nutzungsrichtlinie dieses Teilnehmers im Clean Room sind. Sie versuchen zum Beispiel eine Spalte mit Teilnehmerdaten mit SELECT auszuwählen, die nicht in deren Spaltenrichtlinie enthalten ist.
- Lösung:
Verwenden Sie eine Spalte in Ihrer Abfrage, die Ihr Teilnehmer für Projektion, Verknüpfung oder Aktivierung freigegeben hat. Prüfen Sie die Vorlage für Richtlinienfilter, indem Sie
consumer.view_template_definitionaufrufen, und prüfen Sie dann, welche Spalten der Anbieter Ihnen erlaubt, durch Aufruf vonconsumer.view_provider_join_policyoderconsumer.view_provider_column_policyzu projizieren oder zu verknüpfen. Aktualisieren Sie anschließend Ihre Abfrage, um eine genehmigte Spalte zu übergeben, oder bitten Sie Ihren Teilnehmer, seine Nutzungsrichtlinie so anzupassen, dass die Spalte enthalten ist, die Sie verwenden möchten.
- Fehler:
**FAILURE**: Invalid aliases: P.column name'oder**FAILURE**: Invalid aliases: C.column name'- Ursache:
Sie verwenden Tabellen-Aliasnamen mit
PoderCin Großbuchstaben, um einen Spaltennamen festzulegen. Sie müssen klein geschriebene Aliasnamen mitpodercfür den Bereich eines Spaltennamens verwenden. (Die Vorlage selbst kann beim Deklarieren des Alias entweder Groß- oder Kleinbuchstaben verwenden.)- Lösung:
Verwenden Sie immer einen Alias in Kleinbuchstaben, wenn Sie den Bereich einer Spalte festlegen.
Beispiel:
-- Always scope the column name with a lowercase alias. -- The casing of the alias declared for the table doesn't matter. -- These will fail. SELECT P.hashed_email FROM mydb.mysch.t1 AS P; SELECT P.hashed_email FROM mydb.mysch.t1 AS p; -- These will succeed. SELECT p.hashed_email FROM mydb.mysch.t1 AS P; SELECT p.hashed_email FROM mydb.mysch.t1 AS p;
- Fehler:
**FAILURE**: Invalid aliases: database name.schema name.column name- Ursache:
Sie müssen immer mit dem
p- oderc-Aliasnamen, der für eine Tabelle deklariert ist, auf Spalten verweisen. Spalten können nicht über den vollständigen Pfad auf eine Tabelle verweisen.Ungültig:
SELECT hashed_email FROM mydb.mysch.t1;- Lösung:
Verwenden Sie den Tabellenalias
poderc(Kleinbuchstaben!), wenn Sie auf eine Spalte verweisen:Gültig:
SELECT p.hashed_email FROM mydb.mysch.t1 AS p;
Cloudübergreifende Probleme¶
- Fehler:
Analysis Execution Failure: 'SnowparkSQLException' due to Database Listing Conflictin einem Test-Clean-Room mit einem einzelnen Konto- Ursache:
Die cloudübergreifende automatische Ausführung wird nicht unterstützt, wenn Clean Rooms mit einzelnem Konto getestet werden.
- Lösung:
Deaktivieren Sie die cloudübergreifende automatische Ausführung in diesem Clean-Room-Konto, indem Sie während des Testens
library.disable_laf_on_accountaufrufen, oder sehen Sie davon ab, cloudübergreifende Prozeduraufrufe in diesem Clean Room zu tätigen.
Probleme mit dem Clouddaten-Konnektor¶
Wenn Sie Probleme mit einem externen Datenkonnektor für AWS, Azure oder Google Cloud Storage haben, lesen Sie bitte Snowflake Data Clean Rooms: Problembehandlung bei externen Konnektoren.
Probleme mit dem Anforderungsprotokoll¶
- Fehler:
**Failure**: Request logs unable to be mounted. Try again.- Ursache:
Das Einbinden der Anforderungsprotokolle war für den internen Clean Room erfolgreich, schlägt dann für den externen Clean Room desselben Kontos fehl. Interne Clean Rooms haben weniger Anforderungen als externe Clean Rooms. Ihre Installation erfüllte die Anforderungen für die Verwendung interner Clean Rooms, aber nicht für externe Clean Rooms.
- Lösung:
Stellen Sie sicher, dass Ihre E-Mail durch Clean Rooms validiert wurde und dass Sie alle Anforderungen an Konten für Clean Rooms erfüllen.
Probleme beim Datenzugriff¶
Allgemeine Richtlinien zu Datenzugriffsproblemen¶
Sie können eine Fehlermeldung erhalten, die besagt, dass der Zugriff auf eine Datenquelle an mehreren Stellen des Nutzungsablaufs nicht möglich ist:
Wenn der Fehler während des Registrierungsprozesses aufgetreten ist:
Bei Verwendung der API haben Sie den Tabellennamen oder den Pfad falsch geschrieben.
Wenn es sich um eine externe oder Iceberg-Tabelle handelt, stellen Sie sicher, dass Sie die Anforderungen und Verfahren zur Registrierung einer externen oder Iceberg-Tabelle erfüllt haben.
Vergewissern Sie sich, dass Ihre aktuelle Rolle über dieOWNERSHIP-Berechtigung für das zu registrierende Objekt verfügt.
Wenn der Fehler während des Verknüpfungsprozesses aufgetreten ist:
Möglicherweise verwenden Sie in der API die falsche Rolle.
Das Objekt ist möglicherweise nicht registriert worden. Wenn Sie in der API versuchen, ein Objekt zu verknüpfen, das nicht registriert ist, wird eine Fehlermeldung angezeigt. Auf der UI sollten Sie nur Objekte sehen, die als für die Verknüpfung verfügbar registriert wurden.
Vergewissern Sie sich, dass SAMOOHA_APP_ROLE über die Berechtigungen USAGE und SELECT für Ihr Objekt verfügt.
Die Tabelle wurde seit der Registrierung möglicherweise verschoben oder umbenannt oder ihre Berechtigungen (oder etwaige Berechtigungen aus Snowflake-Richtlinien) wurden geändert. Wenn dies der Fall ist, wird möglicherweise auch der
SQL-Zugriffssteuerungsfehler angezeigt: Insufficient privileges to operate on table...
Wenn der Fehler aufgetreten ist, nachdem die Daten erfolgreich registriert und verknüpft wurden:
Überprüfen Sie bei Verwendung der API, ob Sie den voll qualifizierten Tabellennamen korrekt geschrieben haben.
Data access errors¶
- Fehler:
Object '<some_object_name>' does not exist or not authorized- Ursache:
Die Quelltabelle wurde möglicherweise verschoben oder umbenannt oder ihre Berechtigungen (oder die Berechtigungen einer Richtlinie oder eines Vorgängerobjekts, von dem sie abhängt) wurden geändert.
- Lösung:
Versuchen Sie, das Objekt in Ihrem Konto erneut zu registrieren und erneut zu verknüpfen, oder verschieben Sie das Objekt zurück an den alten Speicherort, oder machen Sie alle zusätzlich hinzugefügten Berechtigungen rückgängig.
- Fehler:
Insufficient permission to resolve external/iceberg table- Ursache:
Wenn Ihre Abfrage eine externe oder Iceberg-Tabelle enthält, wurde die Tabelle nicht korrekt registriert.
- Lösung:
Lesen Sie Externe und Apache Iceberg™-Tabellen aktivieren, um sicherzustellen, dass Sie die Anforderungen und Verfahren für die Verwendung dieser Tabellentypen erfüllen. Dieses Problem lässt sich manchmal lösen, wenn Sie explizit SELECT für die Tabelle SAMOOHA_BY_SNOWFLAKE erteilen.
- Fehler:
Fehler
not approved:unauthorized columns usedals Ergebnis der Analyseausführung- Ursache:
Sie verknüpfen oder projizieren die Spalte eines Teilnehmenden entgegen der Verknüpfungs- oder Spaltenrichtlinie des Teilnehmenden.
- Lösung:
Zeigen Sie die von Ihrem Teilnehmenden festgelegten Join- und Spaltenrichtlinien an, indem Sie
consumer.view_provider_column_policyundconsumer.view_provider_join_policyaufrufen.CALL samooha_by_snowflake_local_db.consumer.view_provider_join_policy($cleanroom_name); CALL samooha_by_snowflake_local_db.consumer.view_provider_column_policy($cleanroom_name);
Möglicherweise haben Sie auch Ihr Datenschutzbudget ausgeschöpft:
CALL samooha_by_snowflake_local_db.consumer.view_remaining_privacy_budget($cleanroom_name);
- Fehler:
Wenn der Verbraucher eine beliebige Prozedur aufruft, die einen Clean Room-Namen erfordert, erscheint
Application 'SAMOOHA_CLEANROOM_APP<Name>' does not exist or not authorized.- Ursache:
Wenn der Name des Clean Rooms als
SAMOOHA_CLEANROOM_APP<cleanroom name>anstelle vonSAMOOHA_CLEANROOM_APP_<cleanroom name>gemeldet wird, (es fehlt der Unterstrich nachSAMOOHA_CLEANROOM_APP), hat der Anbieter die Clean Room-Umgebung nicht korrekt in seinem Konto installiert.- Lösung:
Teilen Sie dem Anbieter mit, dass er die Clean Room-Umgebung in seinem Konto mithilfe dieser Anweisungen installieren soll: Snowflake Data Clean Rooms-Umgebung installieren. Danach kann der Anbieter den Clean Room erneut erstellen und freigeben.
Probleme mit externen Tabellen und Iceberg-Tabellen¶
- Fehler:
Failure during expansion of shared view <CLEAN ROOM VIEW NAME> as view owner: Insufficient permission to resolve external/iceberg table <TABLE_NAME> shared by application SAMOOHA_CLEANROOM_APP_<CLEAN ROOM ID>- Ursache:
Externe oder Iceberg-Tabellen sind weder in Anbieter- noch in Verbraucherkonten aktiviert.
- Lösung:
Stellen Sie sicher, dass sowohl für Anbieter- als auch für Verbraucherkonten externe und Iceberg-Tabellen aktiviert sind.
- Fehler:
Verbrauchenden wird beim Verknüpfen mit einer externen oder Iceberg-Tabelle der Fehler
Invalid restricted feature 'external_data'angezeigt.- Ursache:
Die betreffenden Anbietenden haben noch keine externen und Iceberg-Tabellen aktiviert.
- Lösung:
Anbietende müssen den Prozess der Aktivierung externer und Iceberg-Tabellen für ihr Konto abschließen. Wenn Anbietende dies im Code tun, müssen sie die Ergebnisse der Sicherheitsprüfung überprüfen und bei Erfolg die Standard-Release-Version aktualisieren.
- Fehler:
Fehler
Insufficient permission to resolve external/iceberg table, wenn Sie eine Analyse mit einer externen oder Iceberg-Tabelle durchführen- Ursache:
Die Tabelle wurde wahrscheinlich sowohl vom Anbietenden als auch vom Verbrauchenden nicht ordnungsgemäß registriert.
- Lösung:
Lesen Sie die Registrierungsinformationen für externe und Iceberg-Tabellen, und stellen Sie sicher, dass Sie alle Anweisungen sowohl auf Anbieter- als auch auf Verbraucherseite befolgen.