Actualiza los detalles de una instancia federada de base de datos en el Proyecto especificado. Para utilizar este recurso, la clave de API o la cuenta de servicio que realiza la solicitud debe tener el rol de propietario del proyecto o un rol superior.
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})$. -
Etiqueta legible por humanos que identifica la instancia de base de datos federada que se actualizará.
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 -
Marca que indica si esta solicitud debe comprobar si el rol de IAM solicitante puede leer desde el bucket S3. AWS comprueba si el rol puede listar los objetos del bucket antes de escribir en él. Algunos roles de IAM solo necesitan permisos de escritura. Esta marca permite omitir esta comprobación.
Cuerpo
Requerido
Detalles de una base de datos federada para actualizar en el proyecto especificado.
-
Proveedor de nube donde está alojada esta instancia de base de datos federada.
-
Información sobre la región del proveedor de la nube a la que la instancia de base de datos federada enruta las conexiones del cliente.
-
Etiqueta legible por humanos que identifica la instancia de base de datos federada.
-
Información de configuración para cada almacén de datos y su mapeo a bases de datos de MongoDB Cloud.
atlas api dataFederation updateDataFederation --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20230101001/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.UpdateGroupDataFederationApiParams{}
sdkResp, httpResp, err := client.DataFederationApi.
UpdateGroupDataFederationWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-01-01+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2023-01-01+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/dataFederation/{tenantName}" \
-d '{ <Payload> }'
{
"cloudProviderConfig": {
"aws": {
"roleId": "32b6e34b3d91647abb20e7b8",
"testS3Bucket": "string"
},
"azure": {
"roleId": "32b6e34b3d91647abb20e7b8"
},
"gcp": {
"roleId": "32b6e34b3d91647abb20e7b8"
}
},
"dataProcessRegion": {
"cloudProvider": "AWS",
"region": "SYDNEY_AUS"
},
"name": "string",
"storage": {
"databases": [
{
"collections": [
{
"dataSources": [
{
"allowInsecure": false,
"collection": "string",
"collectionRegex": "string",
"database": "string",
"databaseRegex": "string",
"datasetName": "v1$atlas$snapshot$Cluster0$myDatabase$myCollection$19700101T000000Z",
"datasetPrefix": "string",
"defaultFormat": ".avro",
"path": "string",
"provenanceFieldName": "string",
"storeName": "string",
"trimLevel": 42,
"urls": [
"string"
]
}
],
"name": "string"
}
],
"maxWildcardCollections": 100,
"name": "string",
"views": [
{
"name": "string",
"pipeline": "string",
"source": "string"
}
]
}
],
"stores": [
{
"name": "string",
"provider": "s3",
"additionalStorageClasses": [
"STANDARD"
],
"bucket": "string",
"delimiter": "string",
"includeTags": false,
"prefix": "string",
"public": false,
"region": "US_GOV_WEST_1"
}
]
}
}
{
"cloudProviderConfig": {
"aws": {
"externalId": "string",
"iamAssumedRoleARN": "arn:aws:iam::123456789012:root",
"iamUserARN": "string",
"roleId": "32b6e34b3d91647abb20e7b8"
},
"azure": {
"atlasAppId": "string",
"roleId": "32b6e34b3d91647abb20e7b8",
"servicePrincipalId": "string",
"tenantId": "string"
},
"gcp": {
"gcpServiceAccount": "string",
"roleId": "32b6e34b3d91647abb20e7b8"
}
},
"dataProcessRegion": {
"cloudProvider": "AWS",
"region": "SYDNEY_AUS"
},
"groupId": "32b6e34b3d91647abb20e7b8",
"hostnames": [
"string"
],
"name": "string",
"privateEndpointHostnames": [
{
"hostname": "string",
"privateEndpoint": "string"
}
],
"state": "UNVERIFIED",
"storage": {
"databases": [
{
"collections": [
{
"dataSources": [
{
"allowInsecure": false,
"collection": "string",
"collectionRegex": "string",
"database": "string",
"databaseRegex": "string",
"datasetName": "v1$atlas$snapshot$Cluster0$myDatabase$myCollection$19700101T000000Z",
"datasetPrefix": "string",
"defaultFormat": ".avro",
"path": "string",
"provenanceFieldName": "string",
"storeName": "string",
"trimLevel": 42,
"urls": [
"string"
]
}
],
"name": "string"
}
],
"maxWildcardCollections": 100,
"name": "string",
"views": [
{
"name": "string",
"pipeline": "string",
"source": "string"
}
]
}
],
"stores": [
{
"name": "string",
"provider": "s3",
"additionalStorageClasses": [
"STANDARD"
],
"bucket": "string",
"delimiter": "string",
"includeTags": false,
"prefix": "string",
"public": false,
"region": "US_GOV_WEST_1"
}
]
}
}
{
"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": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}