Créer un Reverse Private Endpoint
Cet endpoint est en bêta. Le contrat de l’API est stable et aucune modification incompatible n’est attendue à l’avenir.
Crée un nouveau Reverse Private Endpoint.
curl --request POST \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "My reverse private endpoint",
"mskAuthentication": "SASL_IAM",
"mskClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567",
"vpcResourceConfigurationId": "rcfg-12345678901234567",
"vpcResourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567"
}
'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints"
payload = {
"description": "My reverse private endpoint",
"mskAuthentication": "SASL_IAM",
"mskClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567",
"vpcResourceConfigurationId": "rcfg-12345678901234567",
"vpcResourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'My reverse private endpoint',
mskAuthentication: 'SASL_IAM',
mskClusterArn: 'arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster',
type: 'VPC_ENDPOINT_SERVICE',
vpcEndpointServiceName: 'com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567',
vpcResourceConfigurationId: 'rcfg-12345678901234567',
vpcResourceShareArn: 'arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567'
})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'My reverse private endpoint',
'mskAuthentication' => 'SASL_IAM',
'mskClusterArn' => 'arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster',
'type' => 'VPC_ENDPOINT_SERVICE',
'vpcEndpointServiceName' => 'com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567',
'vpcResourceConfigurationId' => 'rcfg-12345678901234567',
'vpcResourceShareArn' => 'arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints"
payload := strings.NewReader("{\n \"description\": \"My reverse private endpoint\",\n \"mskAuthentication\": \"SASL_IAM\",\n \"mskClusterArn\": \"arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster\",\n \"type\": \"VPC_ENDPOINT_SERVICE\",\n \"vpcEndpointServiceName\": \"com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567\",\n \"vpcResourceConfigurationId\": \"rcfg-12345678901234567\",\n \"vpcResourceShareArn\": \"arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"My reverse private endpoint\",\n \"mskAuthentication\": \"SASL_IAM\",\n \"mskClusterArn\": \"arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster\",\n \"type\": \"VPC_ENDPOINT_SERVICE\",\n \"vpcEndpointServiceName\": \"com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567\",\n \"vpcResourceConfigurationId\": \"rcfg-12345678901234567\",\n \"vpcResourceShareArn\": \"arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"My reverse private endpoint\",\n \"mskAuthentication\": \"SASL_IAM\",\n \"mskClusterArn\": \"arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster\",\n \"type\": \"VPC_ENDPOINT_SERVICE\",\n \"vpcEndpointServiceName\": \"com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567\",\n \"vpcResourceConfigurationId\": \"rcfg-12345678901234567\",\n \"vpcResourceShareArn\": \"arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567\"\n}"
response = http.request(request)
puts response.read_body{
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"result": {
"description": "My reverse private endpoint",
"dnsNames": [
"<string>"
],
"endpointId": "vpce-12345678901234567",
"id": "12345678-1234-1234-1234-123456789012",
"mskAuthentication": "SASL_IAM",
"mskClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster",
"privateDnsNames": [
"<string>"
],
"serviceId": "12345678-1234-1234-1234-123456789012",
"status": "Ready",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567",
"vpcResourceConfigurationId": "rcfg-12345678901234567",
"vpcResourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567"
},
"status": 200
}{
"error": "<string>",
"status": 400
}Autorisations
Utilisez l’ID de la clé et le secret de la clé obtenus dans la ClickHouse Cloud console : https://clickhouse.com/docs/cloud/manage/openapi
Paramètres de chemin
ID de l’organisation propriétaire du service.
ID du service propriétaire du Reverse Private Endpoint.
Corps
Description du reverse private endpoint. La longueur maximale est de 255 caractères.
"My reverse private endpoint"
Type d’authentification du cluster MSK. Obligatoire pour le type MSK_MULTI_VPC.
SASL_IAM, SASL_SCRAM "SASL_IAM"
ARN du cluster MSK. Requis pour le type MSK_MULTI_VPC.
"arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster"
Type du reverse private endpoint.
VPC_ENDPOINT_SERVICE, VPC_RESOURCE, MSK_MULTI_VPC "VPC_ENDPOINT_SERVICE"
Nom du service de point de terminaison VPC.
"com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567"
ID de configuration de la ressource VPC. Requis pour le type VPC_RESOURCE.
"rcfg-12345678901234567"
ARN du partage de la ressource VPC. Requis pour le type VPC_RESOURCE.
"arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567"
Cette page vous a-t-elle été utile ?
curl --request POST \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "My reverse private endpoint",
"mskAuthentication": "SASL_IAM",
"mskClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567",
"vpcResourceConfigurationId": "rcfg-12345678901234567",
"vpcResourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567"
}
'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints"
payload = {
"description": "My reverse private endpoint",
"mskAuthentication": "SASL_IAM",
"mskClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567",
"vpcResourceConfigurationId": "rcfg-12345678901234567",
"vpcResourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'My reverse private endpoint',
mskAuthentication: 'SASL_IAM',
mskClusterArn: 'arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster',
type: 'VPC_ENDPOINT_SERVICE',
vpcEndpointServiceName: 'com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567',
vpcResourceConfigurationId: 'rcfg-12345678901234567',
vpcResourceShareArn: 'arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567'
})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'My reverse private endpoint',
'mskAuthentication' => 'SASL_IAM',
'mskClusterArn' => 'arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster',
'type' => 'VPC_ENDPOINT_SERVICE',
'vpcEndpointServiceName' => 'com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567',
'vpcResourceConfigurationId' => 'rcfg-12345678901234567',
'vpcResourceShareArn' => 'arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints"
payload := strings.NewReader("{\n \"description\": \"My reverse private endpoint\",\n \"mskAuthentication\": \"SASL_IAM\",\n \"mskClusterArn\": \"arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster\",\n \"type\": \"VPC_ENDPOINT_SERVICE\",\n \"vpcEndpointServiceName\": \"com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567\",\n \"vpcResourceConfigurationId\": \"rcfg-12345678901234567\",\n \"vpcResourceShareArn\": \"arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"My reverse private endpoint\",\n \"mskAuthentication\": \"SASL_IAM\",\n \"mskClusterArn\": \"arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster\",\n \"type\": \"VPC_ENDPOINT_SERVICE\",\n \"vpcEndpointServiceName\": \"com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567\",\n \"vpcResourceConfigurationId\": \"rcfg-12345678901234567\",\n \"vpcResourceShareArn\": \"arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/clickpipesReversePrivateEndpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"My reverse private endpoint\",\n \"mskAuthentication\": \"SASL_IAM\",\n \"mskClusterArn\": \"arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster\",\n \"type\": \"VPC_ENDPOINT_SERVICE\",\n \"vpcEndpointServiceName\": \"com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567\",\n \"vpcResourceConfigurationId\": \"rcfg-12345678901234567\",\n \"vpcResourceShareArn\": \"arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567\"\n}"
response = http.request(request)
puts response.read_body{
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"result": {
"description": "My reverse private endpoint",
"dnsNames": [
"<string>"
],
"endpointId": "vpce-12345678901234567",
"id": "12345678-1234-1234-1234-123456789012",
"mskAuthentication": "SASL_IAM",
"mskClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster",
"privateDnsNames": [
"<string>"
],
"serviceId": "12345678-1234-1234-1234-123456789012",
"status": "Ready",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567",
"vpcResourceConfigurationId": "rcfg-12345678901234567",
"vpcResourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567"
},
"status": 200
}{
"error": "<string>",
"status": 400
}