MongoDB Atlas App Services Admin API (3.0)

下载 OpenAPI 规范:下载

App Services 管理员 API 允许您通过 HTTPS 以编程方式执行管理任务。这包括定义和配置以下内容:

  • 应用部署与安全
  • API 和端点
  • 身份验证和用户管理
  • 数据源
  • 设备同步
  • 环境
  • 功能
  • 日志
  • 规则
  • Schemas
  • 静态托管
  • Triggers
  • 使用情况和计费指标
  • Values & Secrets

Admin API 用于应用程序开发、配置和部署。 要实际使用使用 Admin API 配置的功能,客户端应用程序需要与Atlas Device SDK或通过特定于您的应用的 HTTPS API 进行连接。

项目和应用程序 ID

注意项目 ID群组 ID 这两个术语可以互换。

Atlas App Services Admin API 端点经常要求您在 URL 中包含两个参数:

  • 您的 Atlas 项目 ID(有时也称为群组 ID
  • 您的 App Services 应用程序 ID

项目 ID

您可以从 MongoDB Atlas 仪表盘或使用 MongoDB Atlas CLI 查找项目 ID。

应用程序 ID

要查找应用程序 ID,请向项目的列出应用程序端点发出请求。您需要一个 access_token 来发出此请求。要了解如何获取令牌,请参阅获取管理员 API 会话访问令牌

curl --request GET \
  --header 'Authorization: Bearer <access_token>' \
  https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps

该操作将返回描述所提供项目/群组中每个 App Services 应用程序的对象列表。对于 Admin API 请求,应用程序 ID 是 _id 字段中的对象标识符值,而不是 client_app_id

[
  {
    "_id": "5997529e46224c6e42gb6dd9",
    "group_id": "57879f6cc4b32dbe440bb8c5",
    "domain_id": "5886619e46124e4c42fb5dd8",
    "client_app_id": "myapp-abcde",
    "name": "myapp",
    "location": "US-VA",
    "deployment_model": "GLOBAL",
    "last_used": 1615153544,
    "last_modified": 0,
    "product": "standard",
    "environment": ""
  }
]

获取管理员 API 会话访问令牌

对 App Services Admin API 的每个请求都必须包含由 MongoDB Cloud API 签发的未过期的有效访问令牌。您将此令牌包含在使用承载身份验证方案的每个请求的 Authorization 头中。

您需要有效的 MongoDB Atlas 编程 API 密钥才能让 MongoDB Atlas 获取令牌。

获得 API 密钥对后,调用身份验证端点:

curl --request POST \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --data '{"username": "<Public API Key>", "apiKey": "<Private API Key>"}' \
  https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login

如果身份验证成功,App Services 将返回一个访问令牌作为 JSON 响应文档的一部分:

{
  "access_token": "<access_token>",
  "refresh_token": "<refresh_token>",
  "user_id": "<user_id>",
  "device_id": "<device_id>"
}

access_token 表示与管理员 API 交互的限时授权。要对请求进行身份验证,请将该令牌包含在持有者令牌 Authorization 标头中。

Authorization: Bearer <access_token>

刷新管理员 API 会话访问令牌

会话访问令牌会在其颁发 30 分钟后过期。当您登录时,响应还包含一个 refresh_token,您可以使用它来获取新的访问令牌。这非常有用,因为您只需使用凭证登录一次。之后,只要刷新令牌有效,您就可以使用刷新令牌重新进行身份验证。

默认情况下,刷新令牌在发放 60 天后失效。您可以自定义刷新令牌的有效期,最短 30 分钟,最长 5 年。

要刷新身份验证并获取新的 access_token,请使用 Authorization 标头中的 refresh_token 调用身份验证会话端点:

curl --request POST \
  --header 'Authorization: Bearer <refresh_token>' \
  https://services.cloud.mongodb.com/api/admin/v3.0/auth/session

如果刷新令牌有效,响应正文将包含一个新 access_token,该令牌在接下来的 30 分钟内有效:

{
  "access_token": "<access_token>"
}

管理员

登录并管理 App Services 应用程序。

列出 App Services 管理员身份验证提供程序

响应

响应样本

内容类型
application/json
[
  • {
    }
]

以 App Services 管理员身份进行身份验证

使用 Atlas 编程 API 密钥对以 App Services 管理员身份进行身份验证。要了解更多信息,请参阅获取 Admin API 会话访问令牌

请求正文模式:application/json
用户名
必需
字符串
apiKey
必需
字符串

响应

请求样本

内容类型
application/json
{
  • "username": "string",
  • "apiKey": "string"
}

响应样本

内容类型
application/json
{
  • "access_token": "string",
  • "refresh_token": "string",
  • "user_id": "string",
  • "device_id": "string"
}

获取当前登录用户的信息

授权:
tokenAuth

响应

响应样本

内容类型
application/json
{
  • "user_id": "string",
  • "domain_id": "string",
  • "identities": [
    ],
  • "data": {
    },
  • "type": "normal",
  • "roles": [
    ]
}

获取会话访问令牌

授权:
refreshAuth

响应

响应样本

内容类型
application/json
{
  • "access_token": "string"
}

删除会话访问令牌

授权:
tokenAuth

响应

响应样本

内容类型
application/json
{
  • "error": "invalid session: failed to find refresh token",
  • "error_code": "InvalidSession"
}

API 密钥

通过 API 密钥提供商查看和管理 API 密钥。

列出 API 密钥

列出与 Atlas App Services 应用程序关联的 API 密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建新的 API 密钥

创建新的 API 密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

要创建的 API 密钥。

名称
必需
字符串

响应

请求样本

内容类型
application/json
{
  • "name": "string"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "key": "string",
  • "name": "string",
  • "disabled": "string"
}

检索有关 API 密钥的信息

检索有关 API 密钥的信息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

apiKeyId
必需
字符串

API 密钥的唯一 _id

响应

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "disabled": "string"
}

删除 API 密钥。

删除 API 密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

apiKeyId
必需
字符串

API 密钥的唯一 _id

响应

启用 API 密钥。

启用 API 密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

apiKeyId
必需
字符串

API 密钥的唯一 _id

响应

禁用 API 密钥

禁用 API 密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

apiKeyId
必需
字符串

API 密钥的唯一 _id

响应

应用程序

查看和管理 Atlas 项目中的应用程序。

列出 Atlas 项目/群组中的所有 App Services 应用

列出 Atlas 项目/群组中的所有 App Services 应用。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

查询参数
产品
字符串
枚举: “标准” "atlas" "data-api" “device-sync”

一个或多个特定的 App Services 产品类型。如果指定,该端点只返回指定产品类型的应用程序。

大多数应用使用 standard 产品类型,此端点默认返回该类型。atlasdata-apidevice-sync 产品类型代表 Atlas TriggersAtlas Data APIAtlas Device Sync 的特殊应用,您可以通过 Atlas 用户界面访问这些应用。

您可以将多个产品类型指定为逗号分隔的列表:

/groups/{groupId}/apps?product=atlas,data-api

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建一个新应用

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

查询参数
defaults
布尔

是否创建默认应用程序。

产品
字符串
枚举: “标准” "atlas" "data-api" “device-sync”

应用程序的产品类型。应用程序默认使用 standard 产品类型。对于大多数应用程序,您根本不需要指定 product,或者应该指定 standard

atlasdata-apidevice-sync 产品类型代表 Atlas TriggersAtlas Data APIAtlas Device Sync 的特殊应用,您可以通过 Atlas UI 访问这些应用。

请求正文模式:application/json

要创建的应用程序。

名称
字符串

应用程序的名称。必须以字母开头,并且只能包含 ASCII 字母、数字、下划线和连字符。

AwsDeploymentRegion(字符串)或 AzureDeploymentRegion(字符串)或 GcpDeploymentRegion(字符串) (CloudProviderRegionId)
位置
字符串 (DeploymentLocation)
枚举: "US-VA" “US-OR” "DE-FF" "IE" "AU" "IN-MB" "SG" "BR-SP"

应用程序的物理部署位置。这应该与更具体的 provider_region 值一致。例如,一个 provider_regionaws-us-west-2 的应用映射到 US-ORlocation

deployment_model
字符串 (DeploymentModel)
枚举: "GLOBAL" "local"

应用程序部署模型

environment
字符串 (NullableAppEnvironment)
枚举: "development" "testing" "qa" "production" ""

应用程序的环境。空字符串指示应用没有指定的环境。

template_id
字符串

用作新应用程序基础的 App Services 模板应用的 ID。

AtlasCluster(对象)或 AtlasFederatedInstance(对象) (DataSource)

响应

请求样本

内容类型
application/json
{
  • "name": "MyApp",
  • "provider_region": "aws-us-east-1",
  • "location": "US-VA",
  • "deployment_model": "GLOBAL",
  • "environment": "production",
  • "template_id": "string",
  • "data_source": {
    }
}

响应样本

内容类型
application/json
{
  • "name": "MyApp",
  • "provider_region": "aws-us-east-1",
  • "location": "US-VA",
  • "deployment_model": "GLOBAL",
  • "environment": "production",
  • "_id": "633209ffd3bd3478005d1bac",
  • "client_app_id": "myapp-abcde",
  • "domain_id": "63320a2b5f9de9a6e0a213e8",
  • "group_id": "5b2ec991973129243223a114",
  • "last_used": 1664224746,
  • "last_modified": 1656440824,
  • "product": "standard"
}

获取应用

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "name": "MyApp",
  • "provider_region": "aws-us-east-1",
  • "location": "US-VA",
  • "deployment_model": "GLOBAL",
  • "environment": "production",
  • "_id": "633209ffd3bd3478005d1bac",
  • "client_app_id": "myapp-abcde",
  • "domain_id": "63320a2b5f9de9a6e0a213e8",
  • "group_id": "5b2ec991973129243223a114",
  • "last_used": 1664224746,
  • "last_modified": 1656440824,
  • "product": "standard"
}

删除应用

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

将应用导出为 zip 文件

导出端点已弃用。取而代之的是,使用 Accept: application/zip 标头调用拉取应用配置文件端点。

将应用程序导出为 zip 文件。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
部署
字符串
示例: 部署=6373362f01a569d5cd571c68

要导出的特定部署的 _id。如果未指定,则导出最新部署。

source_control
布尔
默认: false

如果为 true,导出的目录适合从 GitHub 或其他源控制自动部署。

不能与 template 查询参数一起使用。

template
布尔
默认: false

如果为 true,则导出的目录不包含任何将应用绑定到特定部署实例的标识符或其他数据。

不能与 source_control 查询参数一起使用。

版本
字符串
示例: version=20210101

要导出的配置文件模式版本。此值对应于 root_config.json 中的 config_version

响应

拉取应用配置文件

下载当前应用配置。可以选择以两种不同的格式下载:

  • 包含配置文件目录的压缩 zip 文件。当您使用 CLI、版本控制系统或其他基于文件系统的环境时,这非常有用。

  • 包含整个配置的单个 JSON 对象。当您使用 API 或其他可以解析 JSON 的环境时,这非常有用。

可以通过设置 Accept 标头来指定要下载的格式。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
{
  • "name": "string",
  • "provider_region": "aws-us-east-1",
  • "deployment_model": "GLOBAL",
  • "environment": "production",
  • "auth_providers": [
    ],
  • "custom_user_data": {
    },
  • "data_api_config": {
    },
  • "data_sources": [
    ],
  • "endpoints": [
    ],
  • "environments": {
    },
  • "functions": [
    ],
  • "graphql": {
    },
  • "hosting": {
    },
  • "https_endpoints": [
    ],
  • "log_forwarders": [
    ],
  • "schemas": [
    ],
  • "services": [
    ],
  • "sync": {
    },
  • "triggers": [
    ],
  • "values": [
    ]
}

推送应用配置文件

上传新的完整应用配置。此操作将覆盖整个现有应用配置。

注意:如果您的应用配置包含对密钥的任何引用,则必须在推送配置之前创建密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
名称
必需
字符串

应用的名称。

必需
AwsDeploymentRegion(字符串)或 AzureDeploymentRegion(字符串)或 GcpDeploymentRegion(字符串) (CloudProviderRegionId)
deployment_model
必需
字符串 (DeploymentModel)
枚举: "GLOBAL" "local"

应用程序部署模型

environment
字符串 (AppEnvironment)
枚举: "development" "testing" "qa" "production"

应用的环境标签。如果未指定,则应用没有环境标签。

必需
数组 AnonymousAuthProvider(对象)或 EmailPasswordAuthProvider(对象)或 ApiKeyAuthProvider(对象)或 CustomJwtAuthProvider(对象)或 CustomFunctionAuthProvider(对象)或 AppleAuthProvider(对象)或 GoogleAuthProvider(对象)或 FacebookAuthProvider(对象) (AuthProviderConstructor)
CustomUserDataConstructor(对象)或 null
DataApiConfig(对象)或 null
必需
数组 AtlasClusterConstructor(对象)或 AtlasFederatedInstanceConstructor(对象) (DataSourceConstructor)
必需
数组 对象 (EndpointConstructor)
必需
对象 (AllEnvironmentValues)
必需
数组 对象 (FunctionConstructor)
必需
对象 (GraphQLConstructor)
必需
对象 (HostingConstructor)
必需
数组 对象 (ThirdPartyServiceConstructor)

[已弃用] 旧版 HTTP 服务的列表。这仅用于向后兼容。

必需
数组 对象 (LogForwarderConstructor)
必需
数组 对象 (FullSchema)
必需
数组 对象 (ThirdPartyServiceConstructor)

[已弃用] 旧版第三方非 HTTP 服务的列表。这仅用于向后兼容。

必需
对象 (FlexibleSync)
必需
数组 DatabaseTrigger(对象)或 AuthenticationTrigger(对象)或 ScheduledTrigger(对象) (TriggerConstructor)
必需
数组 对象 (ValueConstructor)

响应

请求样本

内容类型
application/json
{
  • "name": "string",
  • "provider_region": "aws-us-east-1",
  • "deployment_model": "GLOBAL",
  • "environment": "production",
  • "auth_providers": [
    ],
  • "custom_user_data": {
    },
  • "data_api_config": {
    },
  • "data_sources": [
    ],
  • "endpoints": [
    ],
  • "environments": {
    },
  • "functions": [
    ],
  • "graphql": {
    },
  • "hosting": {
    },
  • "https_endpoints": [
    ],
  • "log_forwarders": [
    ],
  • "schemas": [
    ],
  • "services": [
    ],
  • "sync": {
    },
  • "triggers": [
    ],
  • "values": [
    ]
}

对提供商进行身份验证

查看和管理身份验证提供者

列出 Atlas App Services 应用中的身份验证提供者

列出 Atlas App Services 应用中的身份验证提供商

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建身份验证提供者

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
任何
名称
必需
字符串

身份验证提供程序的名称。该值必须与 type 的值相同。

值: "anon-user"
类型
必需
字符串
枚举: "anon-user" “local-userpass” "api-key" “oauth2-apple” "oauth2-google" "oauth2-facebook" “custom-token” “custom-function”

身份验证提供者的名称。对于匿名身份验证,此值始终为 anon-user

值: "anon-user"
残疾人
布尔

如果为 true,则禁用身份验证提供商。在启用提供商之前,用户无法通过提供商登录。

响应

请求样本

内容类型
application/json
例子
{
  • "name": "anon-user",
  • "type": "anon-user",
  • "disabled": true
}

响应样本

内容类型
application/json
例子
{
  • "name": "anon-user",
  • "type": "anon-user",
  • "disabled": true,
  • "_id": "string"
}

检索有关身份验证提供者的信息

检索有关应用程序的身份验证提供程序之一的信息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

providerId
必需
字符串

身份验证提供者的唯一 _id

响应

响应样本

内容类型
application/json
例子
{
  • "name": "anon-user",
  • "type": "anon-user",
  • "disabled": true,
  • "_id": "string"
}

删除身份验证提供程序

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

providerId
必需
字符串

身份验证提供者的唯一 _id

响应

更新身份验证提供者

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

providerId
必需
字符串

身份验证提供者的唯一 _id

请求正文模式:application/json
任何
名称
必需
字符串

身份验证提供程序的名称。该值必须与 type 的值相同。

值: "anon-user"
类型
必需
字符串
枚举: "anon-user" “local-userpass” "api-key" “oauth2-apple” "oauth2-google" "oauth2-facebook" “custom-token” “custom-function”

身份验证提供者的名称。对于匿名身份验证,此值始终为 anon-user

值: "anon-user"
残疾人
布尔

如果为 true,则禁用身份验证提供商。在启用提供商之前,用户无法通过提供商登录。

响应

请求样本

内容类型
application/json
例子
{
  • "name": "anon-user",
  • "type": "anon-user",
  • "disabled": true
}

禁用身份验证提供者

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

providerId
必需
字符串

身份验证提供者的唯一 _id

响应

启用身份验证提供程序

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

providerId
必需
字符串

身份验证提供者的唯一 _id

响应

帐单

查看应用程序的计费使用情况。

列出特定时段的群组计费使用情况

列出给定时间段内的请求、计算、同步和数据传输使用情况,以用于计费

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

查询参数
开始
字符串

查询期开始的 ISO 8601 日期和时间。默认值为当月第一天的 00:00:00 UTC。

end
字符串

查询期结束的 ISO 8601日期和时间。 默认值为当月最后一天的23 : 59 : 59 UTC。

粒度
字符串
枚举: "P31D" “PT1H”

指定查询期的粒度,可以是 P31D(31 天)或 PT1H(1 小时)。默认为 P31D。

响应

响应样本

内容类型
application/json
{
  • "start": "string",
  • "end": "string",
  • "granularity": "string",
  • "group_id": "string",
  • "measurements": [
    ]
}

列出应用计费使用情况

列出特定应用在给定时间段内的请求、计算、同步、数据传输和内存使用情况,以用于计费

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
开始
字符串

查询期开始的 ISO 8601 日期和时间。默认值为当月第一天的 00:00:00 UTC。

end
字符串

查询期结束的 ISO 8601日期和时间。 默认值为当月最后一天的23 : 59 : 59 UTC。

粒度
字符串
枚举: "P31D" “PT1H”

指定查询期的粒度,可以是 P31D(31 天)或 PT1H(1 小时)。默认为 P31D。

响应

响应样本

内容类型
application/json
{
  • "start": "string",
  • "end": "string",
  • "granularity": "string",
  • "group_id": "string",
  • "appId": "string",
  • "appName": "string",
  • "measurements": [
    ]
}

自定义用户数据

获取自定义用户数据配置

获取 Atlas App Services App 的自定义用户数据配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "database_name": "myapp",
  • "collection_name": "users",
  • "user_id_field": "user_account_id",
  • "enabled": true,
  • "mongo_service_id": "63c060ed32043ef4c93c2a9c",
  • "on_user_creation_function_id": "63c055d8019a6ab879f661d6"
}

配置自定义用户数据

修改 Atlas App Services App 的自定义用户数据配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
database_name
字符串

包含自定义用户数据的数据库名称。

collection_name
字符串

包含自定义用户数据的集合名称。

user_id_field
字符串

每个自定义用户数据文档中显示的字段名称,其中包含每个文档相应用户的用户帐户 ID。

enabled
布尔

如果为 true,则启用自定义用户数据。

mongo_service_id
字符串

链接的MongoDB数据源的_id值。

您可以使用“获取所有服务”端点列出服务。

数据源是type为“mongodb-atlas”的服务。使用要链接到触发器的数据源的_id值。

on_user_creation_function_id
字符串

用户创建函数_id 值,该函数在新用户注册时运行。

响应

请求样本

内容类型
application/json
{
  • "database_name": "myapp",
  • "collection_name": "users",
  • "user_id_field": "user_account_id",
  • "enabled": true,
  • "mongo_service_id": "63c060ed32043ef4c93c2a9c",
  • "on_user_creation_function_id": "63c055d8019a6ab879f661d6"
}

部署

起草并部署一组更改

您可以通过创建和部署草稿来同时部署一组应用程序更改。要创建并部署一组草稿更改:

1. 创建新草稿

草稿代表一组应用程序更改,您可以将其作为一个单元进行部署或丢弃。要创建草稿,请将 POST 请求发送到草稿端点:

curl --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <access_token>' \
  'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts'

每位用户一份草稿

每个用户一次只能通过用户界面或 Admin API 创建一份草稿。如果已有草稿,则可以通过向草稿的端点发送 DELETE 请求来放弃与其关联的更改:

curl --request DELETE \
  --header 'Authorization: Bearer <access_token>' \
  'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts/{draftId}'

2. 对应用程序进行更改

创建草稿后,就可以在草稿中进行所有修改。App Services 会将您对草稿所做的任何应用程序更改添加到草稿中,以便您可以将它们一起部署。

3. 部署草稿

完成要包含在部署中的所有更改后,通过向草稿的部署端点发送 POST 请求来部署草稿:

curl --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <access_token>' \
  'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts/{draftId}/deployment'

草稿冲突

如果您通过 API 部署更改,但 UI 草稿中存在有冲突的更改,则您的 UI 草稿将变得无效,并且您将无法部署。您可以通过查看 Deployment 页面中的草稿来下载 UI 草稿。您可以使用下载内容来部署 appservices CLI 中的更改,或作为在 UI 中重新应用更改时的参考。

列出所有可用的 Atlas App 云区域

返回您可以在其中部署 Atlas 应用的所有支持的云区域的列表。

授权:
tokenAuth

响应

响应样本

内容类型
application/json
[
  • {
    }
]

获取部署配置

查看有关您的应用程序如何部署更改的信息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "ui_drafts_disabled": true,
  • "automatic_deployment": {
    },
  • "last_modified": 0
}

配置部署

修改应用程序的部署配置以自定义应用程序部署更改的方式。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
ui_drafts_disabled
必需
布尔

如果为 true,则在管理 UI 中所做的每项更改都会在保存时自动部署。如果为 false,则更改将分组到您单独部署的部署草稿中。

必需
对象

自动部署方法的配置

last_modified
数字

上次修改此配置的时间用自 UNIX 纪元以来的秒数表示。

响应

请求样本

内容类型
application/json
{
  • "ui_drafts_disabled": true,
  • "automatic_deployment": {
    },
  • "last_modified": 0
}

列出最近的部署

返回最近部署的 25 个应用程序。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

获取部署

获取有关应用程序最近部署的信息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

deploymentId
必需
字符串

应用程序部署的 _id 值。

响应

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "app_id": "string",
  • "draft_id": "string",
  • "user_id": "string",
  • "deployed_at": 0,
  • "origin": "string",
  • "commit": "string",
  • "status": "string",
  • "status_error_message": "string",
  • "diff_url": "string",
  • "remote_location": "US-VA"
}

重新进行部署

重新部署之前部署的应用程序版本。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

deploymentId
必需
字符串

应用程序部署的 _id 值。

响应

响应样本

内容类型
application/json
{
  • "error": "deployment not found",
  • "error_code": "DeploymentNotFound"
}

获取当前部署草稿

返回当前应用程序部署草稿(如果适用)。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "user_id": "string",
  • "app": {
    }
}

创建部署草稿

创建新的应用程序部署草稿(如果不存在)。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "user_id": "string",
  • "app": {
    }
}

丢弃指定的部署草案

丢弃指定的应用程序部署草案。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

draftId
必需
字符串

草稿的唯一 _id 值。

响应

部署部署草稿

部署指定的应用程序部署草稿。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

draftId
必需
字符串

草稿的唯一 _id 值。

请求正文模式:application/json
名称
必需
字符串

部署的名称。若要部署不带名称的草稿,请使用空字符串。

响应

请求样本

内容类型
application/json
{
  • "name": "string"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "app_id": "string",
  • "draft_id": "string",
  • "user_id": "string",
  • "deployed_at": 0,
  • "origin": "string",
  • "commit": "string",
  • "status": "string",
  • "status_error_message": "string",
  • "diff_url": "string",
  • "remote_location": "US-VA"
}

将草稿与当前部署进行比较

返回当前部署的应用程序与指定草案之间的差异。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

draftId
必需
字符串

草稿的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "diffs": [
    ],
  • "hosting_files_diff": {
    }
}

获取部署迁移

获取当前部署迁移的元数据和状态(如果存在)。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "status": "started",
  • "message": "string",
  • "updated_at": "string",
  • "from": {
    },
  • "to": {
    }
}

创建部署迁移

开始新的部署迁移。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

应用应迁移到的部署模型和云提供商区域。

deployment_model
字符串 (DeploymentModel)
枚举: "GLOBAL" "local"

应用程序部署模型

AwsDeploymentRegion(字符串)或 AzureDeploymentRegion(字符串)或 GcpDeploymentRegion(字符串) (CloudProviderRegionId)

响应

请求样本

内容类型
application/json
{
  • "deployment_model": "LOCAL",
  • "provider_region": "aws-us-east-1"
}

Data API

管理应用生成的 Data API 端点

构建 Data API 基础 URL

Data API 请求使用的基础 URL 专用于您的应用程序和部署模型。

对于全局部署的应用程序,基本 URL 采用以下格式:

https://data.mongodb-api.com/app/{ClientAppID}/endpoint/data/{DataAPIVersion}

本地部署的应用程序使用类似的基本 URL,还包括应用程序的部署区域和云提供商:

https://{Region}.{Cloud}.data.mongodb-api.com/app/{ClientAppID}/endpoint/data/{DataAPIVersion}

您可以在应用配置中找到应用的 RegionCloudClientAppId

curl -X GET https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId} \
  -h 'Authorization: Bearer <AccessToken>'

您可以在“Data API 配置”的 versions 字段中查看应用程序支持的所有 DataAPIVersion 值的列表:

curl -X GET "https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/data_api/config" \
  -h 'Authorization: Bearer <AccessToken>'

例如,考虑具有以下配置的应用:

{
  "client_app_id": "myapp-abcde",
  "deployment_model": "LOCAL",
  "provider_region": "aws-us-east-1",
  ...
}

此应用将使用以下基本 URL 执行 Data API v1 请求:

https://us-east-1.aws.data.mongodb-api.com/app/myapp-abcde/endpoint/data/v1

获取数据 API 配置

获取应用程序的数据 API 配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "disabled": true,
  • "versions": [
    ],
  • "return_type": "JSON",
  • "create_user_on_auth": true,
  • "run_as_user_id": "string",
  • "run_as_user_id_script_source": "string",
  • "validation_method": "NO_VALIDATION",
  • "secret_name": "string",
  • "can_evaluate": { }
}

启用数据 API

创建应用程序的数据 API 配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

端点的有效配置对象

残疾人
必需
布尔
versions
必需
数组 字符串 (DataApiVersion)
列项值: “v1”
return_type
必需
字符串 (EndpointDataFormat)
枚举: "JSON" “EJSON”

Data API 端点返回的默认数据格式

create_user_on_auth
布尔
run_as_user_id
字符串

应用程序用户的帐号 ID。如果已定义,端点将始终以指定的用户身份运行。

run_as_user_id_script_source
字符串

返回应用程序用户帐户 ID 的函数的字符串化源代码。如果已定义,端点将在每个请求时执行该函数,并以其 ID 为该函数所返回 ID 的对应用户的身份运行。

validation_method
必需
字符串
枚举: “NO_VALIDATION” “SECRET_AS_QUERY_PARAM” “VERIFY_PALOAD”
secret_name
字符串

如果 validation_method 设置为 "SECRET_AS_QUERY_PARAM""VERIFY_PAYLOAD",则这是授权请求的密钥name

can_evaluate
对象

如果允许端点运行以响应传入请求,则 JSON 表达式的计算结果为 true

响应

请求样本

内容类型
application/json
{
  • "disabled": true,
  • "versions": [
    ],
  • "return_type": "JSON",
  • "create_user_on_auth": true,
  • "run_as_user_id": "string",
  • "run_as_user_id_script_source": "string",
  • "validation_method": "NO_VALIDATION",
  • "secret_name": "string",
  • "can_evaluate": { }
}

响应样本

内容类型
application/json
{
  • "disabled": true,
  • "versions": [
    ],
  • "return_type": "JSON",
  • "create_user_on_auth": true,
  • "run_as_user_id": "string",
  • "run_as_user_id_script_source": "string",
  • "validation_method": "NO_VALIDATION",
  • "secret_name": "string",
  • "can_evaluate": { }
}

修改 Data API

更新应用的数据 API 配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

端点的有效配置对象

残疾人
必需
布尔
versions
必需
数组 字符串 (DataApiVersion)
列项值: “v1”
return_type
必需
字符串 (EndpointDataFormat)
枚举: "JSON" “EJSON”

Data API 端点返回的默认数据格式

create_user_on_auth
布尔
run_as_user_id
字符串

应用程序用户的帐号 ID。如果已定义,端点将始终以指定的用户身份运行。

run_as_user_id_script_source
字符串

返回应用程序用户帐户 ID 的函数的字符串化源代码。如果已定义,端点将在每个请求时执行该函数,并以其 ID 为该函数所返回 ID 的对应用户的身份运行。

validation_method
必需
字符串
枚举: “NO_VALIDATION” “SECRET_AS_QUERY_PARAM” “VERIFY_PALOAD”
secret_name
字符串

如果 validation_method 设置为 "SECRET_AS_QUERY_PARAM""VERIFY_PAYLOAD",则这是授权请求的密钥name

can_evaluate
对象

如果允许端点运行以响应传入请求,则 JSON 表达式的计算结果为 true

响应

请求样本

内容类型
application/json
{
  • "disabled": true,
  • "versions": [
    ],
  • "return_type": "JSON",
  • "create_user_on_auth": true,
  • "run_as_user_id": "string",
  • "run_as_user_id_script_source": "string",
  • "validation_method": "NO_VALIDATION",
  • "secret_name": "string",
  • "can_evaluate": { }
}

列出数据 API 版本

列出所有可能的 Data API 版本。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • "v1"
]

Dependencies

管理应用程序的外部依赖

列出外部依赖项

列出上已上传到 Atlas App Services App 的外部依赖

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "location": "string",
  • "user_id": "string",
  • "last_modified": 0,
  • "dependencies_list": [
    ]
}

Edge Server

查看和管理 Edge Server 实例。

列出 Edge Server

列出给定应用程序的所有 Edge Server 实例。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "edge_servers": [
    ]
}

创建 Edge Server 实例

创建新的 Edge Server 实例。响应将返回一个注册令牌,您可以使用该令牌在主机上配置 Edge Server 实例。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
名称
必需
字符串

Edge Server 实例的人类可读名称。此值在 Edge Server 或 Device Sync 服务中必须是唯一的。

响应

请求样本

内容类型
application/json
{
  • "name": "Edge-Store-42"
}

响应样本

内容类型
application/json
{
  • "id": "6622b8f5118368b943d228a9",
  • "user_id": "6622b8f5118368b943d2288a",
  • "registration_key": "Qi4GgpvVduwwt4k1w77ZzaQ1n4SdTWC8rLBD9vyTib1w9G3CX2ta8WrJvt3giEK7"
}

获取 Edge Server 信息

获取有关指定 Edge Server 实例的信息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

edgeServerId
必需
字符串

Edge Server 实例的 id 值。

响应

响应样本

内容类型
application/json
{
  • "id": "6622b8f5118368b943d228a9",
  • "created": "2024-04-19T08:51:00Z",
  • "name": "Edge-Store-42",
  • "user_id": "6622b8f5118368b943d2288a",
  • "status": "active",
  • "hostname": "ec2-13-58-70-88.us-east-2.compute.amazonaws.com",
  • "last_connection": "2024-04-19T09:51:00Z",
  • "query": {
    },
  • "package_version": "v0.21.2",
  • "latest_package_version": "v0.22.2",
  • "metrics": [
    ]
}

删除 Edge Server 实例

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

edgeServerId
必需
字符串

Edge Server 实例的 id 值。

响应

重新生成 Edge Server 注册令牌

重新生成 Edge Server 实例注册令牌。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

edgeServerId
必需
字符串

Edge Server 实例的 id 值。

响应

响应样本

内容类型
application/json
{
  • "id": "6622b8f5118368b943d228a9",
  • "user_id": "6622b8f5118368b943d2288a",
  • "registration_key": "Qi4GgpvVduwwt4k1w77ZzaQ1n4SdTWC8rLBD9vyTib1w9G3CX2ta8WrJvt3giEK7"
}

重命名 Edge Server 实例

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

edgeServerId
必需
字符串

Edge Server 实例的 id 值。

请求正文模式:application/json
名称
必需
字符串

Edge Server 实例的人类可读名称。

响应

请求样本

内容类型
application/json
{
  • "name": "Edge-Store-41"
}

端点

查看和管理应用程序的自定义 HTTPS 端点

构建自定义 HTTPS 端点基础 URL

HTTPS 端点请求使用特定于您的应用程序和部署模型的基本 URL。

对于全局部署的应用程序,基本 URL 采用以下格式:

https://data.mongodb-api.com/app/{ClientAppID}/endpoint

本地部署的应用程序使用类似的基本 URL,还包括应用程序的部署区域和云提供商:

https://{Region}.{Cloud}.data.mongodb-api.com/app/{ClientAppID}/endpoint

您可以通过调用获取应用端点来查找应用的 RegionCloudClientAppId

curl -X GET https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId} \
  -h 'Authorization: Bearer <AccessToken>'

例如,考虑具有以下配置的应用:

{
  "client_app_id": "myapp-abcde",
  "deployment_model": "LOCAL",
  "provider_region": "aws-us-east-1",
  ...
}

该应用程序将使用以下基本 URL 来接收自定义 HTTPS 端点请求:

https://us-east-1.aws.data.mongodb-api.com/app/myapp-abcde/endpoint

获取所有端点

获取所有端点配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建端点

创建新端点

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

新端点的有效配置对象

route
必需
字符串
http_method
必需
字符串
枚举: "GET" "POST" “PUT” “补丁” "DELETE" "*"
function_id
必需
字符串

端点函数的唯一 ID。

validation_method
必需
字符串
枚举: “NO_VALIDATION” “SECRET_AS_QUERY_PARAM” “VERIFY_PALOAD”
secret_id
字符串

如果 validation_method 设置为 "SECRET_AS_QUERY_PARAM""VERIFY_PAYLOAD",则这是授权请求的密钥_id

return_type
必需
字符串 (EndpointDataFormat)
枚举: "JSON" “EJSON”

自定义 HTTPS 端点返回的默认数据格式

respond_result
必需
布尔
fetch_custom_user_data
布尔
create_user_on_auth
布尔
残疾人
必需
布尔
_id
字符串

端点的唯一 ID。

响应

请求样本

内容类型
application/json
{
  • "route": "string",
  • "http_method": "GET",
  • "function_id": "string",
  • "validation_method": "NO_VALIDATION",
  • "secret_id": "string",
  • "return_type": "JSON",
  • "respond_result": true,
  • "fetch_custom_user_data": true,
  • "create_user_on_auth": true,
  • "disabled": true,
  • "_id": "string"
}

响应样本

内容类型
application/json
{
  • "route": "string",
  • "http_method": "GET",
  • "function_id": "string",
  • "validation_method": "NO_VALIDATION",
  • "secret_id": "string",
  • "return_type": "JSON",
  • "respond_result": true,
  • "fetch_custom_user_data": true,
  • "create_user_on_auth": true,
  • "disabled": true,
  • "_id": "string",
  • "function_name": "string"
}

获取端点

获取特定端点的配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

endpointId
必需
字符串

端点的唯一 _id

响应

响应样本

内容类型
application/json
{
  • "route": "string",
  • "http_method": "GET",
  • "function_id": "string",
  • "validation_method": "NO_VALIDATION",
  • "secret_id": "string",
  • "return_type": "JSON",
  • "respond_result": true,
  • "fetch_custom_user_data": true,
  • "create_user_on_auth": true,
  • "disabled": true,
  • "_id": "string",
  • "function_name": "string"
}

修改端点

修改现有的端点配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

endpointId
必需
字符串

端点的唯一 _id

请求正文模式:application/json

端点的有效、更新的配置对象

route
必需
字符串
http_method
必需
字符串
枚举: "GET" "POST" “PUT” “补丁” "DELETE" "*"
function_id
必需
字符串

端点函数的唯一 ID。

validation_method
必需
字符串
枚举: “NO_VALIDATION” “SECRET_AS_QUERY_PARAM” “VERIFY_PALOAD”
secret_id
字符串

如果 validation_method 设置为 "SECRET_AS_QUERY_PARAM""VERIFY_PAYLOAD",则这是授权请求的密钥_id

return_type
必需
字符串 (EndpointDataFormat)
枚举: "JSON" “EJSON”

自定义 HTTPS 端点返回的默认数据格式

respond_result
必需
布尔
fetch_custom_user_data
布尔
create_user_on_auth
布尔
残疾人
必需
布尔
_id
字符串

端点的唯一 ID。

响应

请求样本

内容类型
application/json
{
  • "route": "string",
  • "http_method": "GET",
  • "function_id": "string",
  • "validation_method": "NO_VALIDATION",
  • "secret_id": "string",
  • "return_type": "JSON",
  • "respond_result": true,
  • "fetch_custom_user_data": true,
  • "create_user_on_auth": true,
  • "disabled": true,
  • "_id": "string"
}

响应样本

内容类型
application/json
{
  • "route": "string",
  • "http_method": "GET",
  • "function_id": "string",
  • "validation_method": "NO_VALIDATION",
  • "secret_id": "string",
  • "return_type": "JSON",
  • "respond_result": true,
  • "fetch_custom_user_data": true,
  • "create_user_on_auth": true,
  • "disabled": true,
  • "_id": "string",
  • "function_name": "string"
}

删除一个端点

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

endpointId
必需
字符串

端点的唯一 _id

响应

响应样本

内容类型
application/json
{ }

事件订阅

查看应用程序的活动事件订阅。这些会监控实时事件,例如从 MongoDB 变更流,到“触发器”和“设备同步”等驱动应用程序服务。

列出事件订阅

获取所有事件订阅。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
类型
字符串
枚举: “数据库” "AUTHENTICATION" “已安排” “SYNCTRANSLATOR”

要返回的事件订阅类型。

  • DATABASE:返回数据库触发器
  • AUTHENTICATION:返回身份验证触发器
  • SCHEDULED:返回定时触发器
  • SYNCTRANSLATOR: Return Device Sync translators

响应

响应样本

内容类型
application/json
[
  • {
    }
]

获取事件订阅

返回有关事件订阅的信息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

eventSubscriptionId
必需
字符串

事件订阅的唯一 _id 值。

响应

响应样本

内容类型
application/json
例子
{
  • "_id": "string",
  • "name": "onNewEmployee",
  • "type": "DATABASE",
  • "function_id": "5eea9ca4ca0e356e2c2a148a",
  • "config": {
    }
}

获取最新的事件订阅执行

返回有关最近执行的事件订阅的信息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

eventSubscriptionId
必需
字符串

事件订阅的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "data": { },
  • "resource_id": { },
  • "completed_at": { },
  • "cluster_time": { }
}

环境

查看并管理应用程序的环境和环境值。

设置应用环境

设置应用的活动环境

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
environment
字符串 (NullableAppEnvironment)
枚举: "development" "testing" "qa" "production" ""

应用程序的环境。空字符串指示应用没有指定的环境。

响应

请求样本

内容类型
application/json
{
  • "environment": "production"
}

响应样本

内容类型
application/json
{
  • "name": "MyApp",
  • "provider_region": "aws-us-east-1",
  • "location": "US-VA",
  • "deployment_model": "GLOBAL",
  • "environment": "production",
  • "_id": "633209ffd3bd3478005d1bac",
  • "client_app_id": "myapp-abcde",
  • "domain_id": "63320a2b5f9de9a6e0a213e8",
  • "group_id": "5b2ec991973129243223a114",
  • "last_used": 1664224746,
  • "last_modified": 1656440824,
  • "product": "standard"
}

列出所有环境值

获取应用程序中所有环境值的基本信息。结果不包括特定环境的 values。有关特定环境的详细信息,请调用“获取环境值”。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建环境值

定义新的环境值。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
_id
字符串

环境值的内部 ID

名称
字符串

环境值名称

last_modified
数字

上次修改此配置的时间用自 UNIX 纪元以来的秒数表示。

对象

将环境名称映射为数值的对象。环境值解析为当前活动环境的映射值。

如果没有值映射到当前活动环境,则环境值解析为 undefined

响应

请求样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "last_modified": 0,
  • "values": {
    }
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "last_modified": 0
}

获取环境值

获取特定环境值的详细信息

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

environmentValueId
必需
字符串

环境值的 _id 值。

响应

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "last_modified": 0,
  • "values": {
    }
}

修改环境值

修改现有环境值

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

environmentValueId
必需
字符串

环境值的 _id 值。

请求正文模式:application/json
_id
字符串

环境值的内部 ID

名称
字符串

环境值名称

last_modified
数字

上次修改此配置的时间用自 UNIX 纪元以来的秒数表示。

对象

将环境名称映射为数值的对象。环境值解析为当前活动环境的映射值。

如果没有值映射到当前活动环境,则环境值解析为 undefined

响应

请求样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "last_modified": 0,
  • "values": {
    }
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "last_modified": 0
}

删除环境值

删除现有环境值

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

environmentValueId
必需
字符串

环境值的 _id 值。

响应

响应样本

内容类型
application/json
{
  • "error": "string",
  • "error_code": "EnvironmentValueNotFound"
}

功能

查看和管理应用的功能

执行函数

执行函数进行测试。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
user_id
必需
字符串

执行函数的用户。需要 user_idrun_as_system。您不能同时指定两者。

run_as_system
必需
布尔

确定是否以系统用户身份运行。需要 run_as_systemuser_id。不能同时指定两者。

请求正文模式:application/json

要执行的函数。

服务
字符串

调用此函数时要使用的服务。

名称
必需
字符串

要运行的函数名称。

arguments
数组 字符串

函数需要的任何参数。

响应

请求样本

内容类型
application/json
{
  • "service": "string",
  • "name": "string",
  • "arguments": [
    ]
}

响应样本

内容类型
application/json
{
  • "error": { },
  • "logs": null,
  • "result": { },
  • "stats": {
    }
}

执行函数的源代码以进行测试

执行函数的源代码以进行测试。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
user_id
必需
字符串

执行函数的用户。需要 user_idrun_as_system。您不能同时指定两者。

run_as_system
必需
布尔

确定是否以系统用户身份运行。需要 run_as_systemuser_id。不能同时指定两者。

请求正文模式:application/json

要执行的来源。

eval_source
字符串

在函数运行之前,此 JSON 表达式的计算结果必须为 true。如果此字段为空,则其计算结果为 true

来源
必需
字符串

响应

请求样本

内容类型
application/json
{
  • "eval_source": "string",
  • "source": "string"
}

响应样本

内容类型
application/json
{
  • "error": { },
  • "logs": null,
  • "result": { },
  • "stats": {
    }
}

列出函数

列表功能

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建新函数

创建一个新函数

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

要创建的函数

can_evaluate
对象

如果允许运行函数以响应传入请求,则 JSON 表达式的计算结果为 true

名称
必需
字符串

函数的唯一名称。

private
必需
布尔

如果为 true ,则该函数对客户端应用程序隐藏。您仍然可以从 JSON 表达式和其他函数(包括传入的 webhook 和触发器)中调用私有函数。

来源
必需
字符串

函数的字符串化源代码。代码必须是有效的 ES6。

run_as_system
布尔

如果为 true,则该函数以完全权限执行,会绕过所有服务的规则。

run_as_user_id
字符串

应用程序用户的帐户 ID。如果已定义,端点将始终以指定的用户身份运行。不能与 run_as_user_id_script_source 一起使用。

run_as_user_id_script_source
字符串

返回应用程序用户帐户 ID 的函数的字符串化源代码。如果已定义,端点将在每个请求时执行该函数,并以其 ID 为该函数所返回 ID 的对应用户的身份运行。不能与 run_as_user_id 一起使用。

响应

请求样本

内容类型
application/json
{
  • "can_evaluate": { },
  • "name": "string",
  • "private": true,
  • "source": "string",
  • "run_as_system": true,
  • "run_as_user_id": "string",
  • "run_as_user_id_script_source": "string"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string"
}

Retrieve a Function

检索函数

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

functionId
必需
字符串

函数的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "can_evaluate": { },
  • "name": "string",
  • "private": true,
  • "source": "string",
  • "run_as_system": true,
  • "run_as_user_id": "string",
  • "run_as_user_id_script_source": "string"
}

删除函数

删除函数

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

functionId
必需
字符串

函数的唯一 _id 值。

响应

更新函数

更新函数

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

functionId
必需
字符串

函数的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "can_evaluate": { },
  • "name": "string",
  • "private": true,
  • "source": "string",
  • "run_as_system": true,
  • "run_as_user_id": "string",
  • "run_as_user_id_script_source": "string"
}

GraphQL API

配置并运行 GraphQL API 操作。

运行查询或变更

以系统用户身份运行查询或突变,绕过身份验证和数据访问规则。您可以通过内省查询访问有关 API 的元数据,包括其模式。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
查询
必需
字符串

一个字符串化的 .graphql 文件,其中包含一个或多个适用于 API 的有效 GraphQL 操作。如果已定义多个操作,则必须指定要在 operationName 中运行的操作。

variables
字符串

字符串化的 JSON 对象,其中每个字段名称都会将一个值映射到指定操作中的变量。

operationName
字符串

query 中指定要运行的 GraphQL 操作的名称。

响应

请求样本

内容类型
application/json
{
  • "query": "query AllTasks { tasks(query: { status: $status }) { _id owner } }",
  • "variables": "{ \"status\": \"complete\" }",
  • "operationName": "AllTasks"
}

响应样本

内容类型
application/json
{
  • "data": { },
  • "errors": [
    ]
}

获取 GraphQL API 配置

获取应用程序的 GraphQL API 配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "use_natural_pluralization": true,
  • "disable_schema_introspection": true
}

更新 GraphQL API 配置

更新应用的 GraphQL API 配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
use_natural_pluralization
布尔

如果 true,生成的模式类型名称将尽可能使用常见的英语复数形式。

如果为 false,或者无法确定自然复数,则复数类型使用单数类型名称,并在末尾附加 "s"

创建应用程序后不能更改此值。对于所有新应用程序,该值均为 true

disable_schema_introspection
布尔

如果为 true,则 GraphQL API 会阻止客户端的内省查询

响应

请求样本

内容类型
application/json
{
  • "use_natural_pluralization": true,
  • "disable_schema_introspection": true
}

获取所有自定义解析器

从应用的 GraphQL API 获取所有自定义解析程序配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建自定义解析程序

创建新的自定义解析程序

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

有效的自定义解析程序配置对象。

on_type
必需
字符串

解析程序父类型的名称。可以是 "Query""Mutation",如果是计算属性,则可以是生成类型的名称。

field_name
必需
字符串

GraphQL 模式中出现的自定义解析程序字段的名称。

字符串或对象

自定义解析程序的 input 参数的类型。它可为标量、现有生成类型的名称或自定义 JSON 架构对象。如果未定义,则解析程序不接受输入。

input_type_format
字符串
枚举: "scalar" "scalar-list" "generated" "generated-list" "custom"

自定义解析程序使用的输入类型。此值必须与 input_type 的值一致:

  • 标量输入类型必须使用 "scalar""scalar-list"
  • 生成的输入类型必须使用 "generated""generated-list"
  • 自定义输入类型必须使用 "custom"

如果未定义,则解析程序不接受输入。

字符串或对象

自定义解析程序返回值的类型。它可为标量、现有生成类型的名称或自定义 JSON 架构对象。

如果未定义,则解析程序将返回一个 DefaultPayload 对象:

type DefaultPayload {
  status: String!
}
payload_type_format
字符串
枚举: "scalar" "scalar-list" "generated" "generated-list" "custom"

自定义解析程序使用的有效负载类型。此值必须与 payload_type 的值一致:

  • 标量有效载荷类型必须使用 "scalar""scalar-list"
  • 生成的有效负载类型必须使用 "generated""generated-list"
  • 自定义有效载荷类型必须使用 "custom"

如果未定义,解析程序将返回 DefaultPayload 对象:

_id
必需
字符串

自定义解析程序的唯一 ID。

function_id
必需
字符串

解析程序函数的唯一 ID。

响应

请求样本

内容类型
application/json
{
  • "on_type": "string",
  • "field_name": "string",
  • "input_type": "string",
  • "input_type_format": "scalar",
  • "payload_type": "string",
  • "payload_type_format": "scalar",
  • "_id": "string",
  • "function_id": "string"
}

响应样本

内容类型
application/json
{
  • "on_type": "string",
  • "field_name": "string",
  • "input_type": "string",
  • "input_type_format": "scalar",
  • "payload_type": "string",
  • "payload_type_format": "scalar",
  • "_id": "string",
  • "function_id": "string"
}

获取自定义解析程序

获取特定的自定义解析程序配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

customResolverId
必需
字符串

自定义解析器的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "on_type": "string",
  • "field_name": "string",
  • "input_type": "string",
  • "input_type_format": "scalar",
  • "payload_type": "string",
  • "payload_type_format": "scalar",
  • "_id": "string",
  • "function_id": "string"
}

修改自定义解析程序

修改现有的自定义解析程序配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

customResolverId
必需
字符串

自定义解析器的唯一 _id 值。

请求正文模式:application/json

已更新的有效自定义解析程序配置对象。

on_type
必需
字符串

解析程序父类型的名称。可以是 "Query""Mutation",如果是计算属性,则可以是生成类型的名称。

field_name
必需
字符串

GraphQL 模式中出现的自定义解析程序字段的名称。

字符串或对象

自定义解析程序的 input 参数的类型。它可为标量、现有生成类型的名称或自定义 JSON 架构对象。如果未定义,则解析程序不接受输入。

input_type_format
字符串
枚举: "scalar" "scalar-list" "generated" "generated-list" "custom"

自定义解析程序使用的输入类型。此值必须与 input_type 的值一致:

  • 标量输入类型必须使用 "scalar""scalar-list"
  • 生成的输入类型必须使用 "generated""generated-list"
  • 自定义输入类型必须使用 "custom"

如果未定义,则解析程序不接受输入。

字符串或对象

自定义解析程序返回值的类型。它可为标量、现有生成类型的名称或自定义 JSON 架构对象。

如果未定义,则解析程序将返回一个 DefaultPayload 对象:

type DefaultPayload {
  status: String!
}
payload_type_format
字符串
枚举: "scalar" "scalar-list" "generated" "generated-list" "custom"

自定义解析程序使用的有效负载类型。此值必须与 payload_type 的值一致:

  • 标量有效载荷类型必须使用 "scalar""scalar-list"
  • 生成的有效负载类型必须使用 "generated""generated-list"
  • 自定义有效载荷类型必须使用 "custom"

如果未定义,解析程序将返回 DefaultPayload 对象:

_id
必需
字符串

自定义解析程序的唯一 ID。

function_id
必需
字符串

解析程序函数的唯一 ID。

响应

请求样本

内容类型
application/json
{
  • "on_type": "string",
  • "field_name": "string",
  • "input_type": "string",
  • "input_type_format": "scalar",
  • "payload_type": "string",
  • "payload_type_format": "scalar",
  • "_id": "string",
  • "function_id": "string"
}

删除自定义解析程序

删除现有自定义解析器配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

customResolverId
必需
字符串

自定义解析器的唯一 _id 值。

响应

获取验证设置

获取读取和写入的当前验证级别和操作。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "read_validation_action": "ERROR",
  • "read_validation_level": "STRICT",
  • "write_validation_action": "ERROR",
  • "write_validation_level": "STRICT"
}

修改验证设置

设置读取和写入的验证级别和操作。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

更新验证级别和操作。

read_validation_action
字符串 (GraphQLValidationAction)
枚举: “错误” "WARN"
read_validation_level
字符串 (GraphQLValidationLevel)
枚举: "STRICT" “关闭”
write_validation_action
字符串 (GraphQLValidationAction)
枚举: “错误” "WARN"
write_validation_level
字符串 (GraphQLValidationLevel)
枚举: "STRICT" “关闭”

响应

请求样本

内容类型
application/json
{
  • "read_validation_action": "ERROR",
  • "read_validation_level": "STRICT",
  • "write_validation_action": "ERROR",
  • "write_validation_level": "STRICT"
}

托管

管理应用程序的托管文件

资产元数据文档示例

资产元数据文档描述托管的资产文件。

{
  "path": "<Asset Resource Path>",
  "hash": "<Asset MD5 Checksum Hash>",
  "size": <File size in bytes>,
  "attrs": [
      {
        "name": "<Metadata Attribute Name>",
        "value": "<Metadata Attribute Value>",
      }
  ]
}

获取托管配置

返回当前托管配置。如果响应中包含 status: "setup_ok",则托管处于活动状态。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "enabled": true,
  • "status": "setup_ok",
  • "default_domain": {
    }
}

启用/禁用托管

启用或禁用应用程序的 App Services 托管。托管更改最长需要 15 分钟才能生效。该端点不会通知您更改何时生效,只会通知您服务器已成功接收更改操作。

您可以通过调用获取托管配置端点来查看托管启用/禁用是否已完成。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
enabled
布尔

设置为 true 可启用 App Services 托管。设置为 false 可禁用 App Services 托管。

响应

请求样本

内容类型
application/json
{
  • "enabled": true
}

列出所有托管资产

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

移动或复制托管资产

将托管资产移动或复制到新的资源路径。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

托管资产文件及其元数据。(必须使用 Content-Type: multipart/mixed

move_from
字符串

要移动的资产的当前资源路径。必须与 move_to 一起使用。

move_to
字符串

资产将移动到的资源路径。必须与 move_from 一起使用。

copy_from
字符串

待复制资产的当前资源路径。必须与 copy_to 一起使用。

copy_to
字符串

资产将复制到的资源路径。必须与 copy_from 一起使用。

响应

请求样本

内容类型
application/json
{
  • "move_from": "string",
  • "move_to": "string",
  • "copy_from": "string",
  • "copy_to": "string"
}

检索特定托管资产的元数据

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
路径
必需
字符串

托管资产的资源路径。

prefix
字符串

仅返回资源路径以指定前缀开头的资产。

响应

响应样本

内容类型
application/json
{
  • "appId": "string",
  • "last_modified": 0,
  • "url": "string",
  • "path": "string",
  • "size": 0,
  • "attrs": [
    ],
  • "hash": "string"
}

上传或替换托管资产

在特定资源路径上传或替换托管资产。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
路径
必需
字符串

托管资产的资源路径。

请求正文模式:application/json

托管资产文件及其元数据。(必须使用 Content-Type: multipart/mixed

对象 (AssetMetadata)

资产元数据文档(编码为 JSON)。

文件
字符串 <binary>

要上传的资产文件(编码为二进制)。

响应

请求样本

内容类型
application/json
{
  • "meta": {
    },
  • "file": "string"
}

响应样本

内容类型
application/json
{
  • "error": "string",
  • "error_code": "string"
}

更新托管资产的元数据属性

更新特定资源路径上托管资产的元数据属性。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
路径
必需
字符串

托管资产的资源路径。

请求正文模式:application/json

托管资产的新元数据属性。这些属性会替换文件的全部现有属性。

数组 对象 (MetadataAttribute)

响应

请求样本

内容类型
application/json
{
  • "attributes": [
    ]
}

响应样本

内容类型
application/json
{
  • "error": "string",
  • "error_code": "string"
}

日志

访问应用程序的日志

使用日志 API 分页

日志记录端点每页最多返回 100 个日志条目。如果查询匹配的条目超过 100 个,查询结果将分页显示。此类结果将包含两条信息,您需要为同一查询请求下一页条目:nextEndDatenextSkip 字段。

分页结果始终包含 nextEndDate 字段。如果下一页上第一个条目的时间戳与当前页面上最后一个条目的时间戳相同,则分页结果也将包含 nextSkip 字段。

要请求最多显示 100 个日志条目的第一页,请照常使用端点:

curl --request GET \
  --header 'Authorization: Bearer <access_token>' \
  'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/logs'

如需请求下一页最多 100 条日志条目,请传递 nextEndDatenextSkip 的值分别作为 end_dateskip 参数:

curl --request GET \
  --header 'Authorization: Bearer <access_token>' \
  'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/logs?end_date={nextEndDate of previous response}&skip={nextSkip of previous response}'

重复此步骤以获取更多页面,直到响应中没有 nextEndDate 字段。这表示您已到达最后一页。

有关更多信息,请参阅 GET /groups/{groupId}/apps/{appId}/logs

检索 App Services 日志

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
co_id
字符串

仅返回与给定请求关联 ID 关联的日志消息。

errors_only
布尔

此字段的值无关紧要。如果包含在请求中,则此端点仅返回错误日志(即使该值设置为 false)。如果从请求中排除此字段,则此端点仅返回非错误日志。

user_id
字符串

仅返回与给定 user_id 关联的日志消息。

start_date
字符串

采用 ISO 8601 格式的日期和时间,且会从此时间(不含)开始返回结果。

end_date
字符串

采用 ISO 8601 格式的日期和时间,且会从此日期和时间(含)停止返回结果。

跳过
整型

在将匹配日志条目包含在响应中之前要跳过的匹配日志条目的偏移量。

limit
整型 [ 1 .. 100 ]

要包含在响应中的日志条目的最大数量。如果查询匹配的日志数超过此数,则会按日期升序返回文档,直到达到限制为止。

类型
字符串
枚举: "TRIGGER_FAILURE" "TRIGGER_ERROR_HANDLER" “DB_TRIGGER” "AUTH_TRIGGER" "SCHEDULED_TRIGGER" “功能” "SERVICE_FUNCTION" “STREAM_FUNCTION” "SERVICE_STREAM_FUNCTION" “身份验证” "WEBHOOK" "ENDPOINT" “推送” "API" “API_KEY” “graphql” “SYNC_CONNECTION_START” “SYNC_CONNECTION_END” “SYNC_SESSION_START” “SYNC_SESSION_END” "SYNC_CLIENT_WRITE" "SYNC_ERROR" “SYNC_OTHER” “SCHEMA_ADDITIVE_CHANGE” "SCHEMA_GENERATION" "SCHEMA_VALIDATION" “LOG_FORWARDER”

您希望检索的日志类型。

响应

响应样本

内容类型
application/json
{
  • "logs": [
    ],
  • "nextEndDate": "string",
  • "nextSkip": 0
}

日志转发

查看和管理应用程序的日志转发器

列出日志转发器。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建日志转发器。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

日志转发器配置

名称
必需
字符串
残疾人
必需
布尔
log_types
必需
数组 字符串 (日志类型)
列项枚举: “身份验证” "ENDPOINT" “功能” “GRAPHQL” “推送” “模式” "service" "sync" "trigger" "trigger_error_handler"
log_statuses
必需
数组 字符串 (日志状态)
列项枚举: “错误” "success"
必需
对象 (LogForwardingPolicy)
必需
对象 (LogForwardingAction)

响应

请求样本

内容类型
application/json
{
  • "name": "string",
  • "disabled": true,
  • "log_types": [
    ],
  • "log_statuses": [
    ],
  • "policy": {
    },
  • "action": {
    }
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "disabled": true,
  • "log_types": [
    ],
  • "log_statuses": [
    ],
  • "policy": {
    },
  • "action": {
    }
}

获取特定的日志转发器。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

forwarderId
必需
字符串

日志转发器的 _id ObjectID。

响应

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "disabled": true,
  • "log_types": [
    ],
  • "log_statuses": [
    ],
  • "policy": {
    },
  • "action": {
    }
}

更新日志转发器。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

forwarderId
必需
字符串

日志转发器的 _id ObjectID。

请求正文模式:application/json

日志转发器配置

名称
必需
字符串
残疾人
必需
布尔
log_types
必需
数组 字符串 (日志类型)
列项枚举: “身份验证” "ENDPOINT" “功能” “GRAPHQL” “推送” “模式” "service" "sync" "trigger" "trigger_error_handler"
log_statuses
必需
数组 字符串 (日志状态)
列项枚举: “错误” "success"
必需
对象 (LogForwardingPolicy)
必需
对象 (LogForwardingAction)

响应

请求样本

内容类型
application/json
{
  • "name": "string",
  • "disabled": true,
  • "log_types": [
    ],
  • "log_statuses": [
    ],
  • "policy": {
    },
  • "action": {
    }
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "disabled": true,
  • "log_types": [
    ],
  • "log_statuses": [
    ],
  • "policy": {
    },
  • "action": {
    }
}

删除日志转发器。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

forwarderId
必需
字符串

日志转发器的 _id ObjectID。

响应

启用日志转发器。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

forwarderId
必需
字符串

日志转发器的 _id ObjectID。

响应

禁用日志转发器。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

forwarderId
必需
字符串

日志转发器的 _id ObjectID。

响应

衡量标准

查看 Atlas App Services 指标。

检索 App Services 指标

检索各种指标,包括:计算时间、数据传输、同步分钟数、请求成功、请求失败。有关可用指标的完整列表,请参阅 App Services 指标参考

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
开始
必需
字符串

查询期开始的 ISO-8601 日期和时间(例如“2022-10-27T14:01:01Z”)。

end
必需
字符串

查询期结束的 ISO-8601 日期和时间(例如“2022-10-27T14:01:01Z”)。

粒度
必需
字符串

指定查询时间段的粒度为 ISO-8601 持续时间值。例如“P31D”(31 天)、“PT1H”(1 小时)和“PT5M”(5 分钟)。

衡量标准
字符串
枚举: "ACTIVE_OPEN_SYNC_SESSIONS" "AUTH_EGRESS_BYTES" "AUTH_FAILED_REQUESTS" "AUTH_RESPONSE_MS" "AUTH_SUCCESSFUL_LOGIN" "AUTH_SUCCESSFUL_REQUESTS" "AUTH_TOTAL_USERS" "ENDPOINTS_COMPUTE_MS" "ENDPOINTS_EGRESS_BYTES" "ENDPOINTS_FAILED_REQUEST" "ENDPOINTS_RESPONSE_MS" "ENDPOINTS_SUCCESSFUL_REQUESTS" "GRAPHQL_RESPONSE_MS" "GRAPHQL_COMPUTE_MS" "GRAPHQL_EGRESS_BYTES" "GRAPHQL_FAILED_REQUESTS" "GRAPHQL_SUCCESSFUL_REQUESTS" "LF_RESPONSE_MS" "OVERALL_COMPUTE_MS" "OVERALL_EGRESS_BYTES" "OVERALL_FAILED_REQUESTS" "OVERALL_SUCCESSFUL_REQUESTS" "OVERALL_SYNC_MINUTES" "SDK_COMPUTE_MS" "SDK_EGRESS_BYTES" "SDK_FAILED_REQUESTS" "SDK_FNS_RESPONSE_MS" "SDK_MQL_COMPUTE_MS" "SDK_MQL_EGRESS_BYTES" "SDK_MQL_FAILED_REQUESTS" "SDK_MQL_RESPONSE_MS" "SDK_MQL_SUCCESSFUL_REQUESTS" "SDK_SUCCESSFUL_REQUESTS" “SYNC_CLIENT_BOOTSTRAP_MS” "SYNC_CLIENT_UPLOADS_INVALID" "SYNC_CURRENT_OPLOG_LAG_MS_SUM" "SYNC_EGRESS_BYTES" "SYNC_FAILED_REQUESTS" "SYNC_HISTORY_WRITE_MS" "SYNC_MINUTES" "SYNC_NUM_INTEGRATION_ATTEMPTS" "SYNC_NUM_UNSYNCABLE_DOC" "SYNC_OT_MS" "SYNC_SESSIONS_ENDED" "SYNC_SESSIONS_STARTED" "SYNC_SUCCESSFUL_REQUESTS" "SYNC_UPLOAD_PROPS_MS" "TRIGGERS_COMPUTE_MS" "TRIGGERS_CURRENT_OPLOG_LAG_MS_SUM" "TRIGGERS_EGRESS_BYTES" "TRIGGERS_FAILED_REQUESTS" "TRIGGERS_RESPONSE_MS" "TRIGGERS_SUCCESSFUL_REQUESTS"

过滤依据的指标名称。有关可用指标及其单位的详细信息,请参阅 App Services 指标参考

响应

响应样本

内容类型
application/json
{
  • "measurements": [
    ],
  • "app_id": "string",
  • "app_name": "string",
  • "group_id": "string",
  • "start": "2022-10-27T14:01:01Z",
  • "end": "2022-12-27T14:01:01Z",
  • "granularity": "string"
}

规则

查看和管理应用程序的数据访问规则

获取所有规则

列出所有数据访问规则

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建规则

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

请求正文模式:application/json

要创建的规则。

以下其中之一
_id
字符串

规则的唯一 ObjectId 标识符。

数组 对象 (Role)

数据访问角色列表。

数组 对象 (筛选器)

传入操作的筛选器列表。

database
必需
字符串

链接数据源中数据库的名称。

集合
必需
字符串

指定 database 中的集合的名称。

响应

请求样本

内容类型
application/json
例子
{
  • "_id": "string",
  • "roles": [
    ],
  • "filters": [
    ],
  • "database": "string",
  • "collection": "string"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string"
}

获取规则

获取特定的数据访问规则

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

ruleId
必需
字符串

规则的唯一 _id 值。

响应

响应样本

内容类型
application/json
例子
{
  • "_id": "string",
  • "roles": [
    ],
  • "filters": [
    ],
  • "database": "string",
  • "collection": "string"
}

删除规则

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

ruleId
必需
字符串

规则的唯一 _id 值。

响应

更新规则

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

ruleId
必需
字符串

规则的唯一 _id 值。

请求正文模式:application/json

规则的新状态。

以下其中之一
_id
字符串

规则的唯一 ObjectId 标识符。

数组 对象 (Role)

数据访问角色列表。

数组 对象 (筛选器)

传入操作的筛选器列表。

database
必需
字符串

链接数据源中数据库的名称。

集合
必需
字符串

指定 database 中的集合的名称。

响应

请求样本

内容类型
application/json
例子
{
  • "_id": "string",
  • "roles": [
    ],
  • "filters": [
    ],
  • "database": "string",
  • "collection": "string"
}

创建默认角色和过滤器

获取当前默认角色和筛选器

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "roles": [
    ],
  • "filters": [
    ]
}

创建默认角色和筛选器

为数据源创建默认角色和筛选器

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

请求正文模式:application/json

默认规则配置对象。

数组 对象 (RoleConstructor)

默认用户角色的有序列表。

数组 对象 (FilterConstructor)

默认查询筛选器的列表。

响应

请求样本

内容类型
application/json
{
  • "roles": [
    ],
  • "filters": [
    ]
}

响应样本

内容类型
application/json
{
  • "roles": [
    ],
  • "filters": [
    ]
}

更新默认角色和筛选器

修改数据源的默认角色和筛选器

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

请求正文模式:application/json

更新的默认规则配置对象。

_id
必需
字符串

默认规则的唯一 ObjectId 标识符。

数组 对象 (Role)

默认用户角色的有序列表。

数组 对象 (筛选器)

默认查询筛选器的列表。

响应

请求样本

内容类型
application/json
{
  • "roles": [
    ],
  • "filters": [
    ]
}

响应样本

内容类型
application/json
{
  • "error": "default rule does not exist"
}

删除默认角色和筛选器

删除数据源的默认角色和筛选器

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "error": "default rule does not exist for app service"
}

Schemas

查看和管理应用程序的模式

采样和验证文档

查询集合中文档的子集,并根据模式验证每个匹配项。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

datasourceId
必需
字符串

MongoDB 数据源的唯一 _id 值。

请求正文模式:application/json
database_name
必需
字符串

包含要验证集合的数据库的名称。

collection_name
必需
字符串

要验证的集合名称。

from_schema
必需
对象

用于验证采样文档的 EJSON 模式。

查询
对象
默认: {}

与集合中的文档匹配的 MongoDB 查询。运行此查询的结果是样本总体。使用此选项可将样本范围缩小到集合中文档的子集。

limit
数字
默认: 10000

要采样的最大文档数。

sort
对象
默认: {}

集合的 MongoDB 排序。使用它来确定要从范围查询的哪一端开始采样。

响应

请求样本

内容类型
application/json
{
  • "database_name": "string",
  • "collection_name": "string",
  • "from_schema": { },
  • "query": { },
  • "limit": 10000,
  • "sort": { }
}

响应样本

内容类型
application/json
{
  • "errors": [
    ],
  • "total_processed_count": 0,
  • "total_error_count": 0
}

列出模式

列出所有定义的模式

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建模式

为链接集合定义新模式。使用此端点创建模式时,请确保 JSON 有效负载完全未转义。错误转义的 JSON 格式可能会导致错误。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
必需
对象 (SchemaMetadata)

用于描述模式适用于哪个链接集合的元数据。

对象 (SchemaDefinition)

集合的有效模式

对象 (SchemaRelationships)

与外部集合的关系。每个字段名称都是模式中的一个属性。相应的值是该字段的关系定义。

响应

请求样本

内容类型
application/json
{
  • "metadata": {
    },
  • "schema": {
    },
  • "relationships": {
    }
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "metadata": {
    }
}

获取模式

_id 值获取特定模式

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

schemaId
必需
字符串

模式的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "metadata": {
    },
  • "schema": {
    },
  • "relationships": {
    }
}

更新模式

用新模式替换现有模式

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

schemaId
必需
字符串

模式的唯一 _id 值。

请求正文模式:application/json
对象 (SchemaMetadata)

用于描述模式适用于哪个链接集合的元数据。

对象 (SchemaDefinition)

集合的有效模式

对象 (SchemaRelationships)

与外部集合的关系。每个字段名称都是模式中的一个属性。相应的值是该字段的关系定义。

响应

请求样本

内容类型
application/json
{
  • "metadata": {
    },
  • "schema": {
    },
  • "relationships": {
    }
}

删除模式

通过 _id 值删除特定模式

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

schemaId
必需
字符串

模式的唯一 _id 值。

响应

设置空类型模式验证设置

检查是否启用了空类型模式验证

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "enabled": true
}

设置空类型模式验证设置

启用或禁用空类型模式验证

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
enabled
布尔

响应

请求样本

内容类型
application/json
{
  • "enabled": true
}

秘密

查看和管理应用程序的密钥

列出密钥

列出与 Atlas App Services App 相关的密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建新密钥

创建一个新的密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

要创建的密钥。

名称
必需
字符串
必需
字符串

响应

请求样本

内容类型
application/json
{
  • "name": "string",
  • "value": "string"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string"
}

修改密钥

修改与 Atlas App Services App 关联的密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

secretId
必需
字符串

密钥的唯一 _id 值。

请求正文模式:application/json

修改后的密钥值。

_id
字符串
名称
必需
字符串
必需
字符串

响应

请求样本

内容类型
application/json
{
  • "_id": "string",
  • "name": "string",
  • "value": "string"
}

删除密钥

删除与 Atlas App Services 应用关联的密钥

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

secretId
必需
字符串

密钥的唯一 _id 值。

响应

安全性

配置应用程序的安全性

列出允许的 HTTP 源

列出 App Services 应允许请求的允许 HTTP 来源

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • "string"
]

设置允许的 HTTP 源

设置 App Services 应允许来自其中请求的许可的 HTTP 来源

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

HTTP 源列表。

阵列
字符串

HTTP 起源。必须采用 <scheme>://<host>[:port] 形式。

响应

请求样本

内容类型
application/json
[
  • "string"
]

列出访问列表中允许的条目

列出 Atlas App Services App 的访问列表中允许的条目。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

修改访问列表中的 IP 地址或 CIDR 区块

创建 App Services 应用的访问列表中的 IP 地址或 CIDR 区块

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

要创建的“IP 访问列表”条目。

地址
必需
字符串

IP 地址或 CIDR 区块的值。

comment
字符串

“访问列表”条目中包含的可选注释。

响应

请求样本

内容类型
application/json
{
  • "address": "string",
  • "comment": "string"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "address": "string",
  • "ip": "string",
  • "network": "string",
  • "comment": "string"
}

在访问列表中修改 IP 地址或 CIDR 区块

修改 App Services App 的访问列表中的 IP 地址或 CIDR 区块

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

ipId
必需
字符串

ip_id 表示的 IP 地址条目,包含请求正文中提供的信息

请求正文模式:application/json

IP 访问列表条目的已更新值。

地址
必需
字符串

修改后的 IP 地址或 CIDR 区块的值。

comment
字符串

“访问列表”条目中包含的可选注释。

响应

请求样本

内容类型
application/json
{
  • "address": "string",
  • "comment": "string"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "address": "string",
  • "ip": "string",
  • "network": "string",
  • "comment": "string"
}

从访问列表中删除 IP 地址或 CIDR 区块

删除 App Services App 的访问列表中的 IP 地址或 CIDR 区块

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

ipId
必需
字符串

ip_id 表示的 IP 地址条目,包含请求正文中提供的信息

响应

列出 VPC 私有端点

获取为应用程序配置的所有私有端点的列表。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建 VPC 私有端点

为应用配置新的私有端点。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
cloud_provider_region
必需
字符串

托管私有端点的云提供商区域。

cloud_provider_endpoint_id
必需
字符串

云提供商的私有端点 ID。

comment
字符串

描述端点的可选注释。

endpoint_type
必需
字符串
枚举: "sync" "general"

端点类型。有关端点类型以及将废弃端点迁移到 "general""sync" 的更多信息,请参阅使用 VPC 私有端点

响应

请求样本

内容类型
application/json
{
  • "cloud_provider_region": "aws-us-east-1",
  • "cloud_provider_endpoint_id": "vpce-12345678",
  • "comment": "string",
  • "endpoint_type": "sync"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "cloud_provider_region": "aws-us-east-1",
  • "cloud_provider_endpoint_id": "vpce-12345678",
  • "comment": "string",
  • "endpoint_type": "sync"
}

创建 VPC 私有端点

获取特定的私有端点配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

privateEndpointId
必需
字符串

VPC 私有端点的 _id ObjectID。

响应

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "cloud_provider_region": "aws-us-east-1",
  • "cloud_provider_endpoint_id": "vpce-12345678",
  • "comment": "string",
  • "endpoint_type": "sync"
}

修改 VPC 私有端点

更新私有端点的配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

privateEndpointId
必需
字符串

VPC 私有端点的 _id ObjectID。

请求正文模式:application/json
cloud_provider_region
必需
字符串

托管私有端点的云提供商区域。

cloud_provider_endpoint_id
必需
字符串

云提供商的私有端点 ID。

comment
字符串

描述端点的可选注释。

endpoint_type
必需
字符串
枚举: "sync" "general"

端点类型。有关端点类型以及将废弃端点迁移到 "general""sync" 的更多信息,请参阅使用 VPC 私有端点

响应

请求样本

内容类型
application/json
{
  • "cloud_provider_region": "aws-us-east-1",
  • "cloud_provider_endpoint_id": "vpce-12345678",
  • "comment": "string",
  • "endpoint_type": "sync"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "cloud_provider_region": "aws-us-east-1",
  • "cloud_provider_endpoint_id": "vpce-12345678",
  • "comment": "string",
  • "endpoint_type": "sync"
}

删除 VPC 私有端点

删除私有端点。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

privateEndpointId
必需
字符串

VPC 私有端点的 _id ObjectID。

响应

列出 VPC 私有端点服务

获取为应用程序配置的所有私有端点服务的列表。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

切换非 VPC 请求

对于启用了私有端点的应用程序,切换应用程序是否处理源自 VPC 外部的请求。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
allow_non_vpc_client_requests
布尔

设置为 true 以允许非 VPC 请求。设置为 false 以限制非 VPC 请求。

响应

请求样本

内容类型
application/json
{
  • "allow_non_vpc_client_requests": true
}

获取用户刷新令牌到期时间

获取用户会话刷新令牌的当前过期时间(以秒为单位)。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
{
  • "expiration_time_seconds": 5184000
}

设置用户刷新令牌到期时间

设置用户会话刷新令牌的过期时间(以秒为单位)。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
expiration_time_seconds
数字 [ 1800 .. 15552000 ]
默认: 5184000

用户会话刷新令牌在颁发后的有效时间(以秒为单位)。在此时间之后,令牌将过期,用户必须重新进行身份验证。

到期时间必须介于 30 分钟到 5 年之间(含)。默认过期时间为 60 天。

响应

请求样本

内容类型
application/json
{
  • "expiration_time_seconds": 5184000
}

数据源和服务

查看并管理应用程序的数据源第三方服务 [已弃用]

链接多个数据源

调用此端点将多个数据源链接到一个应用程序。 每个应用的关联数据源总限制为100 。 此端点链接的数据源将具有ReadAndWrite默认规则。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
阵列
名称
字符串

创建一个名称来标识要链接的每个集群。

类型
字符串
枚举: "mongodb-atlas" "数据湖"

您想要链接的数据源的类型。

对象 (LinkingDataSourceConfig)

响应

请求样本

内容类型
application/json
[
  • {
    }
]

响应样本

内容类型
application/json
例子
{
  • "failedClusterNames": [
    ]
}

列出所有数据源和第三方服务

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建数据源或第三方服务

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json
以下其中之一
名称
字符串

服务名称。

类型
字符串

服务类型。

对象 (AtlasClusterServiceConfigInstance)

响应

请求样本

内容类型
application/json
例子
{
  • "name": "string",
  • "type": "string",
  • "config": {
    }
}

响应样本

内容类型
application/json
例子
{
  • "_id": "string",
  • "name": "string",
  • "type": "string",
  • "config": {
    }
}

获取数据源或第三方服务

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

响应样本

内容类型
application/json
例子
{
  • "_id": "string",
  • "name": "string",
  • "type": "string",
  • "config": {
    }
}

删除数据源或第三方服务

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

更新服务

更新服务

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

运行与服务关联的命令

运行与服务相关的命令。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

commandName
必需
字符串

命令名称

响应

获取有关底层 Atlas mongod 的信息

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "version": "string",
  • "gitVersion": "string",
  • "versionArray": [
    ],
  • "javascriptEngine": "string",
  • "bits": "string",
  • "debug": true,
  • "maxBsonObjectSize": 0
}

获取服务配置

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

更新服务配置

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

请求正文模式:application/json
以下其中之一
集群名称
必需
字符串

其中数据源的集群名称。名称最长可以有 64 个字符,并且只能包含 ASCII 字母、数字、下划线和连字符。

readPreference
必需
字符串
枚举: "primary" "primaryPreferred" "secondary" "secondaryPreferred" "nearest"

对数据源的读取请求的读取偏好模式。

readPreferenceTagSets
数组 字符串 (ReadPreferencesTagSet)
列项枚举: "server1" "server2"

将读取操作路由到副本集的特定节点。

wireProtocolEnabled
必需
布尔

如果为 true,则客户端可以通过 MongoDB 传输协议连接到应用

clusterId
数字

服务 ID。

groupName
字符串

包含服务的组的名称。

orgName
字符串

包含服务的组织的名称。

响应

请求样本

内容类型
application/json
例子
{
  • "clusterName": "Cluster0",
  • "readPreference": "primary",
  • "readPreferenceTagSets": [
    ],
  • "wireProtocolEnabled": true,
  • "clusterId": "05e821b3975d271289f372e3a",
  • "groupName": "Project 0",
  • "orgName": "MongoDB_Org"
}

从示例生成 JSON 模式

对集合中的文档子集进行采样以生成 JSON 架构。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

请求正文模式:application/json
database_name
必需
字符串

包含该集合的数据库名称。

collection_name
必需
字符串

要采样和生成模式的集合的名称。

limit
必需
整型

样本中包含的最大文档数。

响应

请求样本

内容类型
application/json
{
  • "database_name": "string",
  • "collection_name": "string",
  • "limit": 0
}

响应样本

内容类型
application/json
{
  • "schema": { }
}

同步

获取有关应用程序同步的信息。

获取 Flexible Sync 信息

使用 Flexible Sync 时,检索特定 Atlas App Services App 的同步数据。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "clusterId": "string",
  • "clusterName": "string",
  • "clusterType": "atlas",
  • "flexible_sync": {
    },
  • "groupName": "string",
  • "orgName": "string",
  • "readPreference": "primary",
  • "wireProtocolEnabled": true
}

获取基于分区的同步信息

使用基于分区的同步时检索分区字段数据。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
service_id
必需
字符串

关联集群的服务 ID。

响应

响应样本

内容类型
application/json
{
  • "service_id": "string",
  • "partition_fields": [
    ]
}

Triggers

查看和管理应用程序的触发器

获取所有触发器

获取应用程序中所有触发器的列表。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建触发器

在应用程序中创建一个新触发器

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

数据库触发器、计划触发器或身份验证触发器的配置。

以下其中之一
名称
必需
字符串

触发器的名称。

类型
必需
字符串
值: “数据库”

触发类型。对于数据库触发器,该值始终为 "DATABASE"

残疾人
布尔
默认: false

如果为 true,则禁用触发器,不监听事件,也不执行触发。

必需
对象

定义触发器配置值的对象。

function_id
字符串

触发器在触发时调用的函数的 ID。

该值与 event_processors.FUNCTION.function_id 相同。您可以在此处或在 event_processors.FUNCTION.function_id 中定义该值。App Services 后端会将该值复制到您未定义该值的配置位置。

例如,如果您定义了 function_id,后端会将其复制到 event_processors.FUNCTION.function_id

function_name
字符串

触发器触发时调用的函数名称,即 function_id 所描述的函数。

该值与 event_processors.FUNCTION.function_name 相同。您可以在此处或在 event_processors.FUNCTION.function_name 中定义该值。App Services 后端会将该值复制到您未定义该值的配置位置。

例如,如果您定义了 function_name,后端会将其复制到 event_processors.FUNCTION.function_name

对象

对象,其中每个字段名称都是事件处理器 ID,每个值都是配置相应事件处理器的对象。有关配置对象示例,请参阅“将触发事件发送到 AWS EventBridge”。

对象

为 AWS EventBridge 触发器定义自定义错误处理的对象。 "DATABASE""AWS_EVENTBRIDGE"仅对具有事件处理器的Atlas Triggers类型有效。

响应

请求样本

内容类型
application/json
例子
{
  • "name": "onNewEmployee",
  • "type": "DATABASE",
  • "function_id": "5eea9ca4ca0e356e2c2a148a",
  • "config": {
    }
}

响应样本

内容类型
application/json
例子
{
  • "name": "onNewEmployee",
  • "type": "DATABASE",
  • "function_id": "5eea9ca4ca0e356e2c2a148a",
  • "config": {
    }
}

获取触发器

获取应用程序中现有触发器的配置。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

triggerId
必需
字符串

触发器的唯一 _id 值。

响应

响应样本

内容类型
application/json
例子
{
  • "name": "onNewEmployee",
  • "type": "DATABASE",
  • "function_id": "5eea9ca4ca0e356e2c2a148a",
  • "config": {
    }
}

更新触发器

修改应用程序中的现有触发器

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

triggerId
必需
字符串

触发器的唯一 _id 值。

请求正文模式:application/json

已更新的触发器配置。

以下其中之一
名称
必需
字符串

触发器的名称。

类型
必需
字符串
值: “数据库”

触发类型。对于数据库触发器,该值始终为 "DATABASE"

残疾人
布尔
默认: false

如果为 true,则禁用触发器,不监听事件,也不执行触发。

必需
对象

定义触发器配置值的对象。

function_id
字符串

触发器在触发时调用的函数的 ID。

该值与 event_processors.FUNCTION.function_id 相同。您可以在此处或在 event_processors.FUNCTION.function_id 中定义该值。App Services 后端会将该值复制到您未定义该值的配置位置。

例如,如果您定义了 function_id,后端会将其复制到 event_processors.FUNCTION.function_id

function_name
字符串

触发器触发时调用的函数名称,即 function_id 所描述的函数。

该值与 event_processors.FUNCTION.function_name 相同。您可以在此处或在 event_processors.FUNCTION.function_name 中定义该值。App Services 后端会将该值复制到您未定义该值的配置位置。

例如,如果您定义了 function_name,后端会将其复制到 event_processors.FUNCTION.function_name

对象

对象,其中每个字段名称都是事件处理器 ID,每个值都是配置相应事件处理器的对象。有关配置对象示例,请参阅“将触发事件发送到 AWS EventBridge”。

对象

为 AWS EventBridge 触发器定义自定义错误处理的对象。 "DATABASE""AWS_EVENTBRIDGE"仅对具有事件处理器的Atlas Triggers类型有效。

_id
字符串

触发器的唯一 ID。

响应

请求样本

内容类型
application/json
例子
{
  • "name": "onNewEmployee",
  • "type": "DATABASE",
  • "function_id": "5eea9ca4ca0e356e2c2a148a",
  • "config": {
    }
}

响应样本

内容类型
application/json
{
  • "error": "string",
  • "error_code": "string"
}

删除触发器

从应用程序中删除现有触发器

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

triggerId
必需
字符串

触发器的唯一 _id 值。

响应

响应样本

内容类型
application/json
{ }

恢复暂停的触发器

恢复已暂停数据库触发器。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

triggerId
必需
字符串

触发器的唯一 _id 值。

请求正文模式:application/json

恢复操作的配置选项。

disable_token
布尔

如果为 true,则会恢复触发器而不处理错过的事件。否则,尝试使用恢复令牌在触发器失败后从第一个更改事件恢复触发器。

响应

请求样本

内容类型
application/json
{
  • "disable_token": true
}

响应样本

内容类型
application/json
{
  • "error": "string"
}

用户(User)

查看和管理应用程序的用户

列出用户

列出已确认的用户帐户

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
之后
字符串

上一个分页请求返回的最后一个用户的 id

sort
字符串

对结果进行排序时依据的字段名称。唯一有效值是默认值:_id

desc
布尔

如果为 true,则返回的结果按降序排列。如果未指定或设置为 false,则返回的结果将按升序排列。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建用户

创建新的电子邮件/密码用户帐号。

注意:您无法通过 Admin API 为除电子邮件/密码之外的任何身份验证提供者创建用户帐户。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

要创建的用户

电子邮件
必需
字符串
密码
必需
字符串

响应

请求样本

内容类型
application/json
{
  • "email": "string",
  • "password": "string"
}

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "identities": [
    ],
  • "type": "normal",
  • "creation_date": 0,
  • "last_authentication_date": 0,
  • "disabled": true,
  • "data": { }
}

验证和解码访问令牌

验证用户的客户端访问令牌是否有效。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

用户的客户端访问令牌。访问令牌代表已登录的应用程序用户。这与您在使用 Admin API 时使用的 access_token 不同。

token
必需
字符串

响应

请求样本

内容类型
application/json
{
  • "token": "string"
}

响应样本

内容类型
application/json
例子
"token expired"

获取用户

通过 ID 获取特定用户帐户

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

用户 ID
必需
字符串

用户帐户 ID

响应

响应样本

内容类型
application/json
{
  • "_id": "string",
  • "identities": [
    ],
  • "type": "normal",
  • "creation_date": 0,
  • "last_authentication_date": 0,
  • "disabled": true,
  • "data": { }
}

删除用户

通过 ID 删除特定用户帐户

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

用户 ID
必需
字符串

用户帐户 ID

响应

更改用户的电子邮件

按 ID 更改电子邮件/密码用户的电子邮件地址。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

用户 ID
必需
字符串

用户帐户 ID

请求正文模式:application/json

用户的新电子邮件地址。

电子邮件
必需
字符串

用户的新电子邮件。

响应

请求样本

内容类型
application/json
{
  • "email": "new_email@example.com"
}

列出用户的设备

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

用户 ID
必需
字符串

用户帐户 ID

响应

响应样本

内容类型
application/json
[
  • { }
]

撤销用户会话

撤销用户的所有会话。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

用户 ID
必需
字符串

用户帐户 ID

响应

启用用户

启用用户

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

用户 ID
必需
字符串

用户帐户 ID

响应

禁用用户

禁用用户

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

用户 ID
必需
字符串

用户帐户 ID

响应

列出待处理用户

列出待处理的用户帐户注册。在一次调用中最多返回 50 个待处理用户。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
之后
字符串

待定用户的唯一 _idList pending users 一次可返回 50 个待定用户。如需查看其他结果,请查找上次调用 list pending users 时列出的最后一个待定用户的 _id。再次调用 list pending users,将 _id 传递给后置参数。

响应

响应样本

内容类型
application/json
[
  • {
    },
  • {
    }
]

删除待处理的电子邮件/密码验证用户

删除待定用户

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

电子邮件
必需
字符串

邮箱

响应

用户确认

使用内置的电子邮件确认流程确认待处理的用户。

发送确认电子邮件

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

电子邮件
必需
字符串

邮箱

响应

确认待处理的用户

确认待定用户

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

电子邮件
必需
字符串

邮箱

响应

重新运行用户确认工作流程

重新运行待处理用户的确认工作流

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

电子邮件
必需
字符串

邮箱

响应

Values

查看和管理应用程序的

列出应用程序中定义的所有值。

列出应用程序中定义的所有

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

在应用程序中定义值

在应用程序中定义

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

要创建的值。

名称
必需
字符串
private
必需
布尔
必需
any (AnyValue)

Any valid JSON value

响应

请求样本

内容类型
application/json
{
  • "name": "string",
  • "private": true,
  • "value": null
}

响应样本

内容类型
application/json
{
  • "name": "string",
  • "private": true,
  • "value": null
}

从应用程序中检索值定义。

从应用程序中检索定义。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

valueId
必需
字符串

值的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "name": "string",
  • "private": true,
  • "from_secret": true,
  • "value": null
}

删除应用程序中定义的值。

删除应用程序中定义的

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

valueId
必需
字符串

值的唯一 _id 值。

响应

更新应用程序中的值定义

更新应用程序中的定义。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

valueId
必需
字符串

值的唯一 _id 值。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

[已弃用] 推送通知

查看和管理应用程序的推送通知

列出推送通知

列出推送通知

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

查询参数
字符串 (MessageState)
枚举: “已发送” “草稿”

仅列出具有给定状态的通知。

响应

响应样本

内容类型
application/json
[
  • {
    }
]

创建推送通知

创建推送通知

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

请求正文模式:application/json

要创建的通知。

标签
必需
字符串
message
必需
字符串
topic
必需
字符串
必需
字符串 (MessageState)
枚举: “已发送” “草稿”

响应

请求样本

内容类型
application/json
{
  • "label": "string",
  • "message": "string",
  • "topic": "string",
  • "state": "sent"
}

Retrieve a push notification message

检索推送通知消息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

messageId
必需
字符串

消息 ID

响应

响应样本

内容类型
application/json
{
  • "allowed_ips": "string",
  • "appID": "string",
  • "label": "string",
  • "message": "string",
  • "topic": "string",
  • "created": "string",
  • "sent": "string",
  • "state": "sent"
}

删除推送通知消息

删除推送通知消息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

messageId
必需
字符串

消息 ID

响应

更新推送通知

更新推送通知消息。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

messageId
必需
字符串

消息 ID

响应

响应样本

内容类型
application/json
{
  • "allowed_ips": "string",
  • "appID": "string",
  • "label": "string",
  • "message": "string",
  • "topic": "string",
  • "created": "string",
  • "sent": "string",
  • "state": "sent"
}

设置推送通知类型

设置推送通知类型。

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

messageId
必需
字符串

消息 ID

响应

发送推送通知。

发送推送通知

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

messageId
必需
字符串

消息 ID

响应

[已弃用] Webhook

查看和管理应用程序的 webhooks

列出网络钩子

列出 webhooks

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

响应

响应样本

内容类型
application/json
{
  • "name": "string",
  • "function_source": "string",
  • "respond_result": true,
  • "options": {
    }
}

创建 Webhook

创建 Webhook

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

请求正文模式:application/json

要创建的 Webhook。

名称
必需
字符串
function_source
必需
字符串
respond_result
必需
布尔
对象

响应

请求样本

内容类型
application/json
{
  • "name": "string",
  • "function_source": "string",
  • "respond_result": true,
  • "options": {
    }
}

Retrieve a webhook

Retrieve a webhook.

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

incomingWebhookId
必需
字符串

传入 Webhook 的唯一 _id

响应

删除 webhook

删除 Webhook

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

incomingWebhookId
必需
字符串

传入 Webhook 的唯一 _id

响应

更新 webhook

更新Webhook

授权:
tokenAuth
路径参数
groupId
必需
字符串

Atlas 项目/组 ID

appId
必需
字符串

您的应用程序的 ObjectID。App Services API 项目和应用程序 ID 部分演示了如何查找此值。

serviceId
必需
字符串

服务的唯一 _id 值。

incomingWebhookId
必需
字符串

传入 Webhook 的唯一 _id

请求正文模式:application/json

网络钩子的更新状态。

名称
必需
字符串
function_source
必需
字符串
respond_result
必需
布尔
对象

响应

请求样本

内容类型
application/json
{
  • "name": "string",
  • "function_source": "string",
  • "respond_result": true,
  • "options": {
    }
}