Criar endpoint privado reverso
Este endpoint está em beta. O contrato da API é estável, e não são esperadas breaking changes no futuro.
Cria um novo 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
}Autorizações
Use o ID da chave e o segredo da chave obtidos no console do ClickHouse Cloud: https://clickhouse.com/docs/cloud/manage/openapi
Parâmetros de caminho
ID da organização proprietária do serviço.
ID do serviço proprietário do Reverse Private Endpoint.
Corpo
Descrição do endpoint privado reverso. Comprimento máximo de 255 caracteres.
"My reverse private endpoint"
Tipo de autenticação do cluster MSK. Obrigatório para o tipo MSK_MULTI_VPC.
SASL_IAM, SASL_SCRAM "SASL_IAM"
ARN do cluster MSK. Obrigatório para o tipo MSK_MULTI_VPC.
"arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster"
Tipo do endpoint privado reverso.
VPC_ENDPOINT_SERVICE, VPC_RESOURCE, MSK_MULTI_VPC "VPC_ENDPOINT_SERVICE"
Nome do serviço de endpoint da VPC.
"com.amazonaws.vpce.us-east-1.vpce-svc-12345678901234567"
ID da configuração do recurso de VPC. Obrigatório para o tipo VPC_RESOURCE.
"rcfg-12345678901234567"
ARN do compartilhamento de recurso da VPC. Obrigatório para o tipo VPC_RESOURCE.
"arn:aws:ram:us-east-1:123456789012:resource-share/share-12345678901234567"
Esta página foi útil?
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
}