- Kategorien:
Systemfunktionen (Systemsteuerung)
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT¶
Stellt einen Endpunkt für private Konnektivität in der Snowflake-VPC oder-VNet bereit, damit Snowflake eine Verbindung zu einem externen Dienst über private Konnektivität herstellen kann. Bei dem Endpunkt kann es sich um einen Dienstendpunkt oder einen Ressourcenendpunkt handeln. Dies hängt von der Cloud-Plattform, die Ihr Snowflake Konto hostet.
Bemerkung
Wenn sich das Snowflake-Konto in einer Azure-Region befindet, muss die Anbieter-Ressourcen-ID die ID einer Ressource in Abonnement einer Regierungsbehörde sein. Weitere Informationen über Regionen für Regierungsbehörden für Snowflake-Kunden finden Sie unter US- SnowGov-Regionen.
Syntax¶
AWS:
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '<provider_service_name>', '<host_name>' )
Azure:
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '<provider_resource_id>', '<host_name>' [, '<subresource>' ] )
Argumente¶
'provider_service_name'
Gibt den externen Dienst oder die Ressource an, mit der eine Verbindung hergestellt werden soll. Zum Beispiel:
com.amazonaws.us-west-2.execute-api
für das Amazon API-Gateway odercom.amazonaws.us-west-2.s3
für Amazon S3.Weitere Informationen zum Abrufen dieses Wertes von AWS finden Sie unter Bereitstellung privater Konnektivitätsendpunkte.
'host_name'
Gibt den vollqualifizierten Hostnamen für den Zugriff auf die Ressource in Ihrem VPC oder VNet an.
Dieser Wert enthält keine Portnummern und muss mit dem Wert übereinstimmen, den Sie im Snowflake-Objekt angegeben haben, das Ihnen die Verbindung zum externen Dienst ermöglicht.
AWS:
Beispiele hierfür sind
bedrock-runtime.us-west-2.amazonaws.com
und*.s3.us-west-2.amazonaws.com
.Wenn Sie eine private Konnektivität für externe Stagingbereiche und externe Volumes verwenden, muss
host_name
einen Platzhalter verwenden, anstatt einen bestimmten AWS S3-Bucket anzugeben.Weitere Informationen zum Abrufen dieses Wertes von AWS finden Sie unter Bereitstellung privater Konnektivitätsendpunkte.
Azure:
Für Microsoft Azure API-Management muss der Wert mit der Eigenschaft
API_ALLOWED_PREFIXES
der Integration API übereinstimmen.https://
nicht einschließen.Beispiele für den Hostnamen für ausgehende private Konnektivität für externe Funktionen finden Sie im Folgenden:
'provider_resource_id'
Gibt den vollqualifizierten Bezeichner für die Ressource in Ihrem VPC oder VNet an.
'subresource'
Gibt den Namen der Subressource der Azure-Ressource an.
Dieses Argument ist für Azure Private Link Service und Azure API Management Service nicht erforderlich.
Alle unterstützten Werte finden Sie in der Tabelle Subressourcen.
Rückgabewerte¶
Gibt eine Statusmeldung zurück, dass der Endpunkt erfolgreich bereitgestellt wurde, oder Details und Anweisungen, warum der Endpunkt nicht erfolgreich bereitgestellt wurde.
Nutzungshinweise¶
Diese Funktion kann nur von Kontoadministratoren (d. h. Benutzer mit der Rolle ACCOUNTADMIN) ausgeführt werden.
Sie können einen bestehenden privaten Konnektivitätsendpunkt nicht ändern. Sie müssen die Bereitstellung des Endpunkts aufheben und dann einen neuen Endpunkt bereitstellen. Um den Endpunkt zu entfernen, rufen Sie die Systemfunktion SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT auf.
Die Ausführung dieser Funktion kann etwa 5 Minuten dauern, da sie von der Bereitstellung der Konnektivitätsendpunkte in der Cloud-Plattform (außerhalb von Snowflake) abhängt.
Weitere Information zu den Beschränkungen für private Endpunkte finden Sie unter Hinweise zur Skalierung.
Beispiele¶
- AWS:
Einrichten einer ausgehenden privaten Konnektivität zu einem externen S3-Dienst:
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( 'com.amazonaws.us-west-2.s3', '*.s3.us-west-2.amazonaws.com' );
Weitere AWS-Beispiele finden Sie in den folgenden Anleitungen:
- Microsoft Azure:
Stellen Sie einen privaten Endpunkt bereit, damit Snowflake auf Microsoft Azure mit dem Microsoft Azure API Management Service in Ihrem Microsoft Azure VNet verbunden werden kann:
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api', 'aztest1-external-function-api.azure.net', 'Gateway' );
Private endpoint with ID "/subscriptions/e48379a7-2fc4-473e-b071-f94858cc83f5/resourcegroups/test_rg/providers/microsoft.network/privateendpoints/32bd3122-bfbd-417d-8620-1a02fd68fcf8" to resource "/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api" has been provisioned successfully. Please note down the endpoint ID and approve the connection from it on the Azure portal.
Stellen Sie einen privaten Endpunkt bereit, damit Snowflake auf Microsoft Azure eine Verbindung zu einem externen Dienst über einen externen Netzwerkzugang herstellen kann:
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '/subscriptions/11111111-2222-3333-4444-5555555555/resourceGroups/leorg1/providers/Microsoft.Sql/servers/myserver/databases/testdb', 'testdb.database.windows.net', 'sqlServer' );
"Resource Endpoint with id "/subscriptions/f0abb333-1b05-47c6-8c31-dd36d2512fd1/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" provisioned successfully"
Stellen Sie einen privaten Endpunkt bereit, damit Snowflake eine Verbindung zu einem externen Stagingbereich für Microsoft Azure herstellen kann:
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '/subscriptions/cc2909f2-ed22-4c89-8e5d-bdc40e5eac26/resourceGroups/mystorage/providers/Microsoft.Storage/storageAccounts/storagedemo', 'storagedemo.blob.core.windows.net', 'blob' );
"Resource Endpoint with id "/subscriptions/57faea9a-20c2-4d35-b283-9c0c1e9593d8/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" provisioned successfully"