Crea un enlace privado en el proyecto especificado. Para usar este recurso, la cuenta de servicio o la clave API solicitante debe tener el rol de propietario del proyecto o propietario del procesamiento de flujos del proyecto.
Parámetros de ruta
-
Cadena 24hexadecimal única que identifica su proyecto. Utilice el punto de conexión /groups para recuperar todos los proyectos a los que el usuario autenticado tiene acceso.
NOTA: Grupos y proyectos son términos sinónimos. El ID de tu grupo es el mismo que el de tu proyecto. Para los grupos existentes, el ID de tu grupo/proyecto permanece igual. El recurso y los puntos finales correspondientes usan el término "grupos".
El formato debe coincidir con el siguiente patrón:
^([a-f0-9]{24})$.
Parámetros de consulta
-
Indicador que indica si la aplicación encapsula la respuesta en un objeto JSON
envelope. Algunos clientes de la API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, configure envelope=true en la consulta. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como encapsulado. La aplicación añade el parámetro de estado al cuerpo de la respuesta.El valor predeterminado es
false. -
Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.
El valor predeterminado es
false.Impresión bonita
Cuerpo
Requerido
Detalles para crear una conexión de enlace privado para un proyecto. proyecto.
-
Nombre de Recursos de Amazon (ARN). Requerido para el Proveedor de AWS y el proveedor de MSK.
El formato debe coincidir con el siguiente patrón:
^arn:aws:kafka. -
Identificadores de recursos de Azure de cada zona de disponibilidad para el clúster de Azure Confluent.
-
El nombre de host del dominio. Requerido para las siguientes combinaciones de proveedores:
- Proveedor de AWS con proveedor CONFLUENT.
- Proveedor de AZURE con proveedor EVENTHUB o CONFLUENT.
-
Nombre del subdominio del clúster Confluent. Estas suelen ser sus zonas de disponibilidad. Obligatorio para proveedores de AWS y proveedores de CONFLUENT. Si su clúster de AWS CONFLUENT no utiliza subdominios, debe configurarlo con la matriz vacía [].
-
Lista de ID de conexión de servicio privado de GCP.
No más de
3elementos. -
URI de conexión de servicio de cada zona de disponibilidad para el clúster GCP Confluent.
No más de
3elementos. -
Proveedor donde se implementa el clúster de Kafka. Los valores válidos son AWS y Azure.
-
Para AZURE EVENTHUB, este es el ID del punto de conexión del espacio de nombres. Para el clúster de AWS CONFLUENT, este es el nombre del servicio del punto de conexión de la VPC.
-
Proveedor que gestiona el servicio en la nube. La lista de valores de proveedor admitidos es:
AWS -- MSK para clústeres de AWS MSK Kafka -- CONFLUENT para clústeres de Confluent Kafka en AWS -- KINESIS para AWS Kinesis Data Streams
Azure: EVENTHUB para Azure EventHub. -- CONFLUENT para clústeres de Confluent Kafka en Azure
GCP - CONFLUENT para clústeres de Confluent Kafka en GCP
NOTA: Si se omite el campo de proveedor, se utilizará de manera predeterminada el proveedor GENÉRICO.
atlas api streams createPrivateLinkConnection --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250219001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.CreateGroupStreamPrivateLinkConnectionApiParams{}
sdkResp, httpResp, err := client.StreamsApi.
CreateGroupStreamPrivateLinkConnectionWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-02-19+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/streams/privateLinkConnections" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-02-19+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/streams/privateLinkConnections" \
-d '{ <Payload> }'
{
"arn": "string",
"azureResourceIds": [
"string"
],
"dnsDomain": "string",
"dnsSubDomain": [
"string"
],
"gcpConnectionIds": [
"string"
],
"gcpServiceAttachmentUris": [
"string"
],
"provider": "string",
"region": "string",
"serviceEndpointId": "string",
"vendor": "string"
}
{
"_id": "32b6e34b3d91647abb20e7b8",
"arn": "string",
"azureResourceIds": [
"string"
],
"dnsDomain": "string",
"dnsSubDomain": [
"string"
],
"errorMessage": "string",
"gcpConnectionIds": [
"string"
],
"gcpServiceAttachmentUris": [
"string"
],
"interfaceEndpointId": "string",
"interfaceEndpointName": "string",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
],
"provider": "string",
"providerAccountId": "string",
"region": "string",
"serviceEndpointId": "string",
"state": "string",
"vendor": "string"
}
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"error": 404,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"reason": "Not Found",
"errorCode": "RESOURCE_NOT_FOUND"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}