- Categorias:
Funções do sistema (Controle do sistema)
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT¶
Fornece um ponto de extremidade de conectividade privada no Snowflake VPC ou VNet para permitir que o Snowflake se conecte a um serviço externo usando conectividade privada. O ponto de extremidade pode ser um ponto de extremidade de servidor ou um ponto de extremidade de recurso, dependendo da plataforma de nuvem que hospeda sua conta Snowflake.
Nota
Se a conta Snowflake estiver em uma região governamental do Azure, o ID de recurso do provedor deverá ser o ID de um recurso em uma assinatura governamental. Para obter mais informações sobre regiões governamentais para clientes Snowflake, consulte Governo Regiões SnowGov.
Sintaxe¶
AWS:
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '<provider_service_name>', '<host_name>' )
Azure:
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '<provider_resource_id>', '<host_name>' [, '<subresource>' ] )
Argumentos¶
'provider_service_name'
Especifica o serviço ou recurso externo ao qual você deve se conectar. Por exemplo,
com.amazonaws.us-west-2.execute-api
para o Amazon API Gateway oucom.amazonaws.us-west-2.s3
para o Amazon S3.Para obter informações sobre como recuperar esse valor no AWS, consulte Provisionar pontos de extremidade de conectividade privada.
'host_name'
Especifica o nome do host totalmente qualificado para acessar o recurso em sua VPC ou VNet.
Este valor não contém nenhum número de porta e deve corresponder ao que você especificou no objeto Snowflake que permite que você se conecte ao serviço externo.
AWS:
Os exemplos incluem
bedrock-runtime.us-west-2.amazonaws.com
e*.s3.us-west-2.amazonaws.com
.Ao usar a conectividade privada para estágios externos e volumes externos, o
host_name
deve usar um curinga em vez de especificar um bucket S3 específico do AWS.Para obter informações sobre como recuperar esse valor no AWS, consulte Provisionar pontos de extremidade de conectividade privada.
Azure:
Para o gerenciamento da Microsoft Azure API, o valor deve corresponder à propriedade
API_ALLOWED_PREFIXES
da integração de API. Não incluahttps://
.Para obter exemplos do nome de host para conectividade privada de saída para funções externas, consulte o seguinte:
'provider_resource_id'
Especifica o identificador totalmente qualificado do recurso em sua VPC ou VNet.
'subresource'
Especifica o nome do sub-recurso do recurso do Azure.
Esse argumento não é necessário para o Azure Private Link Service e Azure API Management Service.
Para todos os valores compatíveis, consulte a Tabela sub-recursos.
Retornos¶
Retorna uma mensagem de status informando que o ponto de extremidade foi provisionado com sucesso ou detalhes e instruções sobre o motivo pelo qual o ponto de extremidade não foi provisionado com sucesso.
Notas de uso¶
Somente administradores de conta (usuários com a função ACCOUNTADMIN) podem chamar esta função.
Você não pode modificar um ponto de extremidade de conectividade privada existente; deve desprovisionar o ponto de extremidade e, em seguida, provisionar um novo. Para desprovisionar o ponto de extremidade, chame a função do sistema SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT.
Esta função pode levar aproximadamente 5 minutos para ser executada porque depende do processo de provisionamento do ponto de extremidade de conectividade privada na plataforma de nuvem (fora do Snowflake).
Para obter detalhes sobre os limites de pontos de extremidade privados, consulte Considerações de escala.
Exemplos¶
- AWS:
Configure a conectividade privada de saída para um serviço S3 externo:
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( 'com.amazonaws.us-west-2.s3', '*.s3.us-west-2.amazonaws.com' );
Para obter mais exemplos do AWS, consulte os seguintes guias:
- Microsoft Azure:
Provisione um ponto de extremidade privado para permitir que o Snowflake no Microsoft Azure se conecte ao serviço Microsoft Azure API Management na sua Microsoft Azure VNet:
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.
Provisione um ponto de extremidade privado para permitir que o Snowflake no Microsoft Azure se conecte a um serviço externo usando o acesso de rede externa:
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"
Provisione um ponto de extremidade privado para permitir que o Snowflake se conecte a um estágio externo para o 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"