- カテゴリ:
システム関数 (システム制御)
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT¶
プライベート接続を使用して Snowflake が外部サービスに接続できるように、Snowflake VPC または VNet にプライベート接続エンドポイントを提供します。エンドポイントは、Snowflakeアカウントをホストするクラウドプラットフォームに応じて、サービスエンドポイントまたはリソースエンドポイントになります。
- こちらもご参照ください。
構文¶
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
'<provider_resource_id>' ,
'<host_name>' ,
'<subresource>'
)
引数¶
provider_resource_id
VPC または VNet のリソースまたはサービスの完全修飾識別子を指定します。
'subresource'
host_name
引数でサブリソースの名前を指定します。host_name
の値は、プライベートエンドポイントのプロビジョニング時に使用されます。以下のサービスでアウトバウンドプライベート接続を使用する場合は、以下の値を指定します。
Microsoft Azure の外部ネットワークアクセス: ホスト名の値が
externalaccessdemo.database.windows.net
の場合、subresource
の値はsqlServer
になります。Microsoft Azure の外部ステージ: ホスト名の値が
storagedemo.blob.core.windows.net
の場合、subresource
の値はblob
になります。
サポートされているすべての値については、 サブリソースの表 をご参照ください。
'host_name'
VPC または VNet でリソースにアクセスするための完全修飾ホスト名を指定します。
この値にはポート番号は含まれず、外部サービスへの接続を可能にするSnowflakeオブジェクトで指定したものと一致する必要があります。例:
Microsoft Azure API 管理:値は API 統合の
API_ALLOWED_PREFIXES
プロパティと一致する必要があります。https://
を含めないでください。例については、 Azure Portal および Azure ARM テンプレート のプライベート接続を使用する外部機能の構成手順をご参照ください。
戻り値¶
エンドポイントのプロビジョニングに成功したというステータスメッセージ、またはエンドポイントのプロビジョニングに失敗した理由の詳細と指示を返します。
使用上の注意¶
アカウント管理者(ACCOUNTADMIN ロールを持つユーザー)のみが、この関数を呼び出すことができます。
既存のプライベート接続エンドポイントを変更することはできません。エンドポイントのデプロビジョンを行うには、 SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT システム関数を呼び出します。
この関数は、(Snowflake外の)クラウドプラットフォームのプライベート接続エンドポイントをプロビジョニングするプロセスに依存するため、実行に約5分かかることがあります。
プライベートエンドポイント制限の詳細については、 スケーリングに関する考慮事項 をご参照ください。
例¶
プライベートエンドポイントをプロビジョニングして、 Microsoft Azure のSnowflakeが Microsoft Azure VNet の Microsoft Azure API 管理サービスに接続できるようにします。
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.
プライベートエンドポイントをプロビジョニングして、 Microsoft Azure のSnowflakeが外部ネットワークアクセスを使用して外部サービスに接続できるようにします。
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"
プライベートエンドポイントをプロビジョニングして、Snowflakeが 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"