Atualizar uma instância do banco de dados federado em um projeto
Atualiza os detalhes de uma instância do banco de dados federado no projeto especificado. Para usar esse recurso, a conta de serviço ou a chave de API solicitante deve ter a função de proprietário do projeto ou superior.
parâmetros de caminho
-
Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso.
AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos.
O formato deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$
. -
Rótulo legível por humanos que identifica a instância do banco de dados federado que será atualizada.
parâmetros de query
-
Sinalizador que indica se o aplicativo empacota a resposta em um objeto JSON
envelope
. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na consulta. Os endpoints que retornam uma lista de resultados usam o objeto de resultados como um envelope. O aplicativo adiciona o parâmetro de status ao corpo da resposta.O valor padrão é
false
. -
Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint.
O valor padrão é
false
.Prettyprint -
Sinalizador que indica se essa solicitação deve verificar se a role do IAM solicitante pode ler a partir do bucket do S3. A AWS verifica se a role pode listar os objetos no bucket antes de gravar nele. Algumas roles do IAM precisam apenas de permissões de gravação. Este sinalizador permite pular essa verificação.
corpo, corpo
Obrigatório
Detalhes de um banco de dados federado a ser atualizado no projeto especificado.
-
Provedor de nuvem em que essa instância de banco de dados federado está hospedada.
-
Informações sobre a região do fornecedor de serviços em nuvem para a qual a instância do banco de dados federado encaminha as conexões do cliente.
-
Etiqueta legível por humanos que identifica a instância do banco de dados federado.
-
Informações de configuração para cada armazenamento de dados e seu mapeamento para bancos de dados do MongoDB Cloud.
atlas api dataFederation updateGroupDataFederation --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20240530001/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.2024-05-30+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.2024-05-30+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",
"": "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",
"": "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"
}