- Catégories :
Fonctions système (Contrôle du système)
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT¶
Fournit un point de terminaison de connectivité privée dans le VPC ou VNet Snowflake pour permettre à Snowflake de se connecter à un service externe à l’aide d’une connectivité privée. Le point de terminaison peut être un point de terminaison de service ou un point de terminaison de ressource selon la plateforme cloud qui héberge votre compte Snowflake.
Note
Si le compte Snowflake se trouve dans une région Azure Government, l’ID de la ressource du fournisseur doit être l’ID d’une ressource dans un abonnement gouvernemental. Pour plus d’informations sur les régions gouvernementales pour les clients Snowflake, voir États-Unis Régions SnowGov.
Syntaxe¶
AWS:
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '<provider_service_name>', '<host_name>' )
Azure :
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '<provider_resource_id>', '<host_name>' [, '<subresource>' ] )
Arguments¶
'provider_service_name'
Spécifie le service externe ou la ressource auquel se connecter. Par exemple,
com.amazonaws.us-west-2.execute-api
pour Amazon API Gateway oucom.amazonaws.us-west-2.s3
pour Amazon S3.Pour obtenir des informations sur la manière de récupérer cette valeur à partir de AWS, voir Fournir des points de terminaison de connectivité privée.
'host_name'
Spécifie le nom d’hôte complet pour accéder à la ressource dans votre VPC ou VNet.
Cette valeur ne contient aucun numéro de port et doit correspondre à ce que vous avez spécifié dans l’objet Snowflake qui vous permet de vous connecter au service externe.
AWS:
Les exemples incluent
bedrock-runtime.us-west-2.amazonaws.com
et*.s3.us-west-2.amazonaws.com
.Lors de l’utilisation de la connectivité privée pour les zones de préparation externes et les volumes externes, le
host_name
doit utiliser un caractère générique au lieu de spécifier un compartiment S3 AWS spécifique.Pour obtenir des informations sur la manière de récupérer cette valeur à partir de AWS, voir Fournir des points de terminaison de connectivité privée.
Azure :
Pour la gestion Microsoft Azure API, la valeur doit correspondre à la propriété
API_ALLOWED_PREFIXES
de l’intégration API. Ne pas inclurehttps://
.Vous trouverez ci-dessous des exemples de nom d’hôte pour la connectivité privée sortante pour les fonctions externes :
'provider_resource_id'
Spécifie l’identificateur complet de la ressource dans votre VPC ou VNet.
'subresource'
Spécifie le nom de la sous-ressource de la ressource Azure.
Cet argument n’est pas requis pour Azure Private Link Service et Azure API Management Service.
Pour toutes les valeurs prises en charge, consultez la Table des sous-ressources.
Renvoie¶
Renvoie un message de statut indiquant que le point de terminaison a été provisionné correctement ou des détails et des instructions expliquant pourquoi le point de terminaison n’a pas été provisionné correctement.
Notes sur l’utilisation¶
Seuls les administrateurs de comptes (utilisateurs dotés du rôle ACCOUNTADMIN) peuvent appeler cette fonction.
Vous ne pouvez pas modifier un point de terminaison de connectivité privée existant ; vous devez déprovisionner le point de terminaison, puis en provisionner un nouveau. Pour déprovisionner le point de terminaison, appelez la fonction système SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT.
Cette fonction peut prendre environ 5 minutes à exécuter, car elle dépend du processus de provisionnement du point de terminaison de connectivité privée sur la plateforme cloud (en dehors de Snowflake).
Pour plus de détails sur les limites des points de terminaison privés, voir Remarques relatives à la mise à l’échelle.
Exemples¶
- AWS:
Configurer la connectivité privée sortante à un service S3 externe :
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( 'com.amazonaws.us-west-2.s3', '*.s3.us-west-2.amazonaws.com' );
Pour d’autres exemples AWS, consultez les guides suivants :
- Microsoft Azure :
Fournissez un point de terminaison privé pour autoriser Snowflake sur Microsoft Azure à se connecter au service de gestion des API Microsoft Azure dans votre VNet Microsoft Azure :
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.
Fournissez un point de terminaison privé pour autoriser Snowflake sur Microsoft Azure à se connecter à un service externe à l’aide d’un accès réseau externe :
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"
Fournissez un point de terminaison privé pour autoriser Snowflake à se connecter à une zone de préparation externe pour Microsoft Azure :
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"