- 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>' ] )Google Cloud:
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '<target_service_id>', '<host_name>' )
Argumente¶
AWS:
'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 in dem Snowflake-Objekt angegeben haben, das Ihnen die Verbindung mit dem externen Dienst ermöglicht.
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:
'provider_resource_id'
Gibt den vollqualifizierten Bezeichner für die Ressource in Ihrem VPC oder VNet an.
'host_name'
Gibt den vollqualifizierten Hostnamen für den Zugriff auf die Ressource in Ihrem VPC oder VNet an.
Beispiele für den Hostnamen für ausgehende private Konnektivität für externe Funktionen finden Sie in den folgenden Themen:
'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.
Google Cloud:
'target_service_id'
Gibt die Service-Anhang-ID (für einen kundenspezifischen Dienst) oder den regionalen Google API-Endpunkt an, mit dem eine Verbindung hergestellt werden soll.
'host_name'
Gibt den vollqualifizierten Hostnamen für den Zugriff auf die Ressource an.
Rückgabewerte¶
Gibt eine Statusmeldung zurück, dass der Endpunkt erfolgreich bereitgestellt wurde, oder Details und Anweisungen, warum der Endpunkt nicht erfolgreich bereitgestellt wurde.
Anforderungen an die Zugriffssteuerung¶
Diese Funktion kann nur von Kontoadministratoren (d. h. Benutzer mit der Rolle ACCOUNTADMIN) ausgeführt werden.
Nutzungshinweise¶
Sie können nur den Hostnamen eines bestehenden privaten Konnektivitätsendpunkts ändern. Weitere Informationen zum Ändern eines Hostnamens finden Sie unter SYSTEM$SET_PRIVATELINK_ENDPOINT_HOSTNAME.
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', '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"
- Google Cloud:
Verbinden Sie sich mit einem veröffentlichten Dienst:
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( 'projects/my-project/regions/us-west2/serviceAttachments/my-http-server', 'my-http-server.com' );
Nach dem Erstellen des Endpunkts muss die Verbindung in Google Cloud durch den Ressourcenanbieter akzeptiert werden.
Stellen Sie einen privaten Endpunkt bereit, um Snowflake in Google Cloud zu erlauben, eine Verbindung zu einem Dienstanhang in Ihrem Google Cloud VPC-Netzwerk herzustellen:
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( 'projects/my-project/regions/us-east4/serviceAttachments/my-service-attachment', 'my-service.com' );
Private endpoint with ID "abcd0000000000000001" to resource "projects/my-project/regions/us-east4/serviceAttachments/my-service-attachment" was provisioned successfully. Please note the Private Endpoint ID and approve the corresponding connection request in the cloud provider console.
Stellen Sie einen privaten Endpunkt bereit, um Snowflake in Google Cloud zu erlauben, eine Verbindung zum regionalen Cloud Key Management Service (Cloud KMS)-Endpunkt herzustellen:
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( 'cloudkms.us-east4.rep.googleapis.com', 'cloudkms.us-east4.rep.googleapis.com' );
Private endpoint with ID "abcd0000000000000001" to resource "cloudkms.us-east4.rep.googleapis.com" was provisioned successfully. Please note the Private Endpoint ID and approve the corresponding connection request in the cloud provider console.
Stellen Sie einen privaten Endpunkt bereit, damit Snowflake eine Verbindung zu einem externen Stagingbereich für Google Cloud herstellen kann:
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( 'storage.us-east4.rep.googleapis.com', 'storage.us-east4.rep.googleapis.com' );
Private endpoint with ID "abcd0000000000000001" to resource "storage.us-east4.rep.googleapis.com" was provisioned successfully. Please note the Private Endpoint ID and approve the corresponding connection request in the cloud provider console.