返回一个项目中的所有联合数据库实例

获取 /api/atlas/v2/groups/{groupId}/dataFederation

返回指定项目中的所有联合数据库实例的详细信息。要使用此资源,请求的服务帐户或 API 密钥必须具有“项目只读”或更高权限的角色。

路径参数

  • groupId 字符串 必需

    用于标识项目的唯一 24-十六进制数字字符串。 使用 /groups 端点检索身份验证的用户有权访问权限的所有项目。

    注意:群组和项目是同义词。您的群组 ID 与项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。资源和相应的端点使用“群组”一词。

    格式应符合以下模式:^([a-f0-9]{24})$

查询参数

  • envelope 布尔

    指示应用程序是否将响应包装在envelope JSON 对象中的标志。某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,请在查询中设置 Envelope=true。返回结果列表的端点将结果对象用作 envelope。应用程序将状态参数添加到响应正文中。

    默认值为false

  • pretty 布尔

    指示响应正文是否应采用 prettyprint 格式的标记。

    默认值为false

    Prettyprint
  • 类型 字符串

    要返回的联合数据库实例的类型。

    值为 USERONLINE_ARCHIVE。默认值为 USER

响应

  • 200 application/vnd.atlas.2023-01-01+json

    正常

    隐藏响应属性 显示响应属性 对象
    • cloudProviderConfig 对象

      托管此联合数据库实例的云提供商。

      隐藏 cloudProviderConfig 属性 显示 cloudProviderConfig 属性 对象
      • AWS 对象

        在 AWS 中运行Data Federation的配置。

        隐藏 aws 属性 显示 aws 属性 对象
        • externalId 字符串

          与data lake在访问数据存储时所承担的身份和访问管理 (IAM)角色关联的唯一标识符。

        • iamAssumedRoleARN 字符串

          data lake在访问数据存储时假定的身份和访问管理 (IAM)角色的Amazon资源名称 (ARN)。

          最小长度为 20,最大长度为 2048

        • iamUserARN 字符串

          data lake在访问数据存储时假定的用户的Amazon资源名称 (ARN)。

        • roleId 字符串 必需

          data lake可用于访问权限数据存储的角色的唯一标识符。如果指定 cloudProviderConfig,则为必填项。

          格式应符合以下模式:^([a-f0-9]{24})$

      • AZURE 对象

        在Azure中运行Data Federation的配置。

        隐藏 Azure 属性 显示 Azure 属性 对象
        • atlasAppId 字符串

          Atlas为服务主体的访问权限策略生成的应用程序ID 。

        • roleId 字符串 必需

          Data Federation可用于访问权限数据存储的角色的唯一标识符。如果指定 cloudProviderConfig,则为必填项。

          格式应符合以下模式:^([a-f0-9]{24})$

        • 服务主体 ID 字符串

          具有供Atlas访问权限Azure资源的访问权限策略的服务主体的ID 。

        • 租户 ID 字符串

          与服务主体关联的Azure Active Directory/Entra ID租户ID 。

      • GCP 对象

        在GCP中运行Data Federation的配置。

        隐藏 GCP 属性 显示 gcp 属性 对象
        • gcpServiceAccount 字符串

          Atlas创建的Google Cloud Platform (GCP ) 服务帐户的电子邮件解决,应授权该帐户允许Atlas访问权限Google Cloud Storage。

        • roleId 字符串 必需

          Data Federation可用于访问权限数据存储的角色的唯一标识符。如果指定 cloudProviderConfig,则为必填项。

          格式应符合以下模式:^([a-f0-9]{24})$

    • dataProcessRegion 对象

      有关联邦数据库实例路由客户端连接的云提供商区域的信息。

      隐藏 dataProcessRegion 属性 显示 dataProcessRegion 属性 对象
      • 云服务提供商 字符串 必需

        托管联合数据库实例基础架构的云服务的名称。

        值为 AWSAZUREGCP

      • 区域 字符串 必需

        data lake将客户端连接路由到的地区的名称。

        以下之一:

        Atlas Data Federation AWS 区域。

        值为 SYDNEY_AUSMUMBAI_INDFRANKFURT_DEUDUBLIN_IRLLONDON_GBRVIRGINIA_USAOREGON_USASAOPAULO_BRAMONTREAL_CANTOKYO_JPNSEOUL_KORSINGAPORE_SGP

        Atlas Data Federation Azure区域。

        值为 VIRGINIA_USAAMSTERDAM_NLDSAOPAULO_BRA

        Atlas Data Federation GCP区域。

        值为 IOWA_USABELGIUM_EU

    • groupId 字符串

      唯一的 24 位十六进制字符串,用于标识项目。

      格式应符合以下模式:^([a-f0-9]{24})$

    • 主机名 array[string]

      包含分配给联合数据库实例的主机名的列表。

    • 名称 字符串

      人类可读标签,用于标识联合数据库实例。

    • privateEndpointHostnames 大量[对象]

      包含私有端点和主机名集的列表。

      私有端点和主机名集。

      隐藏 privateEndpointHostnames 属性 显示 privateEndpointHostnames 属性 对象
      • 主机名 字符串

        标识主机名的人类可读标签。

      • privateEndpoint 字符串

        用于标识私有端点的人类可读标签。

    • 字符串

      指示联合数据库实例状态的标签。

      值为 UNVERIFIEDACTIVEDELETED

    • 存储空间: 对象

      每个数据存储的配置信息及其到 MongoDB Cloud 数据库的映射。

      隐藏存储属性 显示存储属性 对象
      • databases 大量[对象]

        包含此data lake的可查询数据库和集合的数组。

        与此data lake关联的数据库。数据库包含集合和视图。

        隐藏数据库属性 显示数据库属性 对象
        • collections 大量[对象]

          映射到 stores 数据存储的集合和数据源的数组。

          映射到 stores 数据存储的集合和数据源。

          隐藏集合属性 显示集合属性 对象
          • dataSources 大量[对象]

            包含映射到此data lake的集合的数据存储的数组。

            映射到此data lake的集合的数据存储。

            隐藏数据源属性 显示数据源属性 对象
            • allowInsecure 布尔

              用于验证指定 URL 中的方案的标志。如果为 true,则允许不安全的 HTTP 方案,不验证服务器的证书链和主机名,并接受服务器提供的具有任何主机名的任何证书。如果为 false,则仅允许安全的 HTTPS 方案。

              默认值为false

            • 集合 字符串

              人类可读标签,用于标识数据库中的集合。要创建通配符 (*)集合,必须省略此参数。

            • collectionRegex 字符串

              用于创建通配符 (*)集合的正则表达式模式。要学习;了解有关 regex 语法的更多信息,请参阅Go编程语言。

            • database 字符串

              用于标识数据库的人类可读标签,其中包含集群中的集合。必须省略此参数才能为动态生成的数据库生成通配符 (*) 集合。

            • databaseRegex 字符串

              用于创建通配符 (*)数据库的正则表达式模式。要学习;了解有关 regex 语法的更多信息,请参阅Go编程语言。

            • datasetName 字符串

              人类可读标签,用于标识Atlas为摄取管道运行或 Online 存档生成的数据集。

            • datasetPrefix 字符串

              人类可读标签,与摄取管道运行或在线存档的数据集名称匹配。

            • defaultFormat 字符串

              MongoDB Cloud 在搜索 storeName 时遇到不带文件扩展名的文件时使用的文件格式。

              值为 .avro.avro.bz2.avro.gz.bson.bson.bz2.bson.gz.bsonx.csv.csv.bz2.csv.gz.json.json.bz2.json.gz.orc.parquet.tsv.tsv.bz2.tsv.gz

            • 路径 字符串

              文件路径,用于控制MongoDB Cloud 在将 storeName 中的文件映射到集合之前如何搜索和解析这些文件。指定/ 以捕获prefix 路径中的所有文件和文件夹。

            • ProvenanceFieldName 字符串

              包含结果中文档来源的字段的名称。 MongoDB Cloud 在结果中为每个支持的提供商返回不同的字段。

            • storeName 字符串

              人类可读标签,用于标识MongoDB Cloud 映射到集合的数据存储。

            • 修剪级别 integer(int32)

              无符号整数,指定在将剩余字段映射到通配符集合名称之前,要从数据集名称左侧修剪多少个数据集合名称字段。

            • urls array[string]

              可公开访问的数据文件的 URL。不能指定需要身份验证的 URL。 Atlas Data Lake会为每个URL创建一个分区。如果为空或省略,则Atlas 数据湖将使用 dataSources.storeName 参数中指定的存储中的 URL。

          • 名称 字符串

            人类可读标签,用于标识MongoDB Cloud 将数据存储中的数据映射到的集合。

        • maxWildcardCollections integer(int32)

          数据库中通配符集合的最大数量。这仅适用于 S3 数据源。

          最小值为 1,最大值为 1000。默认值为 100

        • 名称 字符串

          人类可读标签,用于标识数据库data lake将数据映射到的数据库。

        • 查看次数 大量[对象]

          应用集合的聚合管道数组。这仅适用于 S3 数据源。

          应用于集合的聚合管道。

          隐藏视图属性 显示视图属性 对象
          • 名称 字符串

            用于标识视图的人类可读标签,对应于collection上的聚合管道。

          • 管道 字符串

            要应用于源collection的聚合管道阶段。

            聚合管道
          • 来源 字符串

            人类可读标签,用于标识视图的源集合。

      • stores 大量[对象]

        包含data lake的数据存储的数组。

        以下之一:
  • 401 application/json

    未经授权。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

  • 403 application/json

    Forbidden.

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

  • 404 application/json

    未找到。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

  • 500 application/json

    内部服务器错误。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      错误请求详情。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        描述客户端请求中的所有违规行为。

        隐藏字段属性 显示字段属性 对象
        • 描述 字符串 必需

          关于请求元素错误的原因的描述。

        • 字段 字符串 必需

          指向请求正文中字段的路径。

    • 详细信息 字符串

      描述导致每种错误类型的具体条件或原因。

    • 错误 integer(int32) 必需

      与此错误一起返回的 HTTP 状态代码。

      外部文档
    • 错误代码 字符串 必需

      返回此错误时附带应用程序错误代码。

    • 参数 大量[对象]

      用于提供更多错误信息的参数。

    • 原因 字符串

      随此错误返回的应用程序错误消息。

GET /api/atlas/v2 /groups/{groupId}/dataFederation
atlas api dataFederation listGroupDataFederation --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20231001001/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.ListGroupDataFederationApiParams{}
	sdkResp, httpResp, err := client.DataFederationApi.
		ListGroupDataFederationWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2023-10-01+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/dataFederation?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2023-10-01+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/dataFederation?pretty=true"
响应示例 (200)
[
  {
    "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"
        }
      ]
    }
  }
]
响应示例 (401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
响应示例 (403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
响应示例 (404)
{
  "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"
}
响应示例 (500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}