Einschränkungen für Zugriff auf externe Netzwerke

Unter diesem Thema werden die Einschränkungen für den Zugriff auf externe Netzwerkstandorte über benutzerdefinierte Funktionen und Prozeduren beschrieben.

Einschränkungen

  • Derzeit können nur in Java oder Python geschriebene Handler auf Netzwerkstandorte außerhalb von Snowflake zugreifen.

  • Externe Netzwerkstandorte, die sich nicht im öffentlichen Internet befinden, werden für den externen Zugriff nicht unterstützt. So können beispielsweise Standorte hinter einem virtuellen privaten Netz (VPN) oder einem virtuellen Netz (VNet) nicht von einer UDF oder Prozedur aus erreicht werden.

  • Wenn Sie einen Platzhalter in einem VALUE_LIST-Wert in einer Netzwerkregel verwenden, sind die folgenden Verwendungen von Platzhaltern nicht zulässig:

    • snowflake.*. google.com

      Kann nicht für snowflake.sub1.sub2.google.com verwendet werden, da das Sternchen nur für alphanumerische Zeichen und Bindestriche verwendet werden kann.

    • *.*.google.com

      Ungültig, da der Platzhalter mehrere Sternchen enthält.

    • *.com

      Ungültig, da das Sternchen nicht zum Abgleich mit der Domäne der zweiten Ebene verwendet werden kann.

  • Bei der Verwendung eines Geheimnisses vom Typ PASSWORD wird das Doppelpunktzeichen (:) in den Parametern USERNAME oder PASSWORD nicht unterstützt.

  • Innerhalb des Handler-Codes müssen Sie auf die Geheimnis-API vom Hauptthread der Prozedur oder UDF zugreifen. Wenn Ihr Handler-Code einen neuen Thread forkt und versucht, eine Geheimnis-API von diesem Thread aus zu verwenden, wird ein Fehler wie der folgende angezeigt:

    Secrets can only be accessed from the main thread.
    

    Der folgende Python-Code generiert beispielsweise einen Fehler:

    with ThreadPoolExecutor(max_workers=1) as executor:
      futures = [executor.submit(function, get_generic_secret)]
    
    Copy
  • Snowflake aktiviert standardmäßig keinen externen Zugriff auf Testkonten. Wenden Sie sich an Ihren Kundenbetreuer, um den externen Zugriff auf ein Testkonto zu aktivieren.

  • Snowflake unterstützt nicht die Angabe von 0.0.0.0 um aus einer gespeicherten Prozedur oder UDF den ausgehenden Datenverkehr zu jeder beliebigen Zieladresse zu erlauben.