Docs 菜单
Docs 主页
/
MongoDB Atlas
/ / /

定义和访问值

在此页面上

  • 定义值
  • 访问值

是对Atlas存储的一段静态数据的命名引用,您可以在Atlas 函数中访问权限该数据。 值提供了一种替代方法,无需将配置常量直接硬编码到函数中。

换句话说,值允许您将部署特定的配置数据与应用的业务逻辑分开。

值可以解析为两种类型的数据:

  • 纯文本:解析为您定义的常规JSON对象、大量或string值。

  • 密钥:解析为您定义的密钥值。

您可以从用户界面或使用App Services CLI定义新值。

1
  1. 导航至Triggers页面:

    1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

    2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

    3. 在侧边栏中,单击 Services 标题下的 Triggers

      显示触发器页面。

  2. 单击 Linked App Service: Triggers(管理员)链接。

  3. 在侧边栏中,单击 Build 标题下的 Values

  4. 单击 Create a Value(连接)。

2

输入唯一的Value Name 。 此名称是函数中引用值的名称。

注意

值名称限制

值名称不能超过64个字符,并且只能包含 ASCII 字母、数字、下划线和连字符。 第一个字符必须是字母或数字。

3
  1. 选择 Value 类型。

  2. 定义纯文本值或密钥值的链接:

    • 要定义纯文本值,请Custom Content并在输入框中输入纯文本值。

    • 要链接到现有密钥的值,请选择Link to Secret ,然后从下拉列表中选择密钥。

    • 要链接到新的密钥值,请选择Link to Secret ,然后在出现的输入框中输入新密钥的名称和新密钥的值。

    有关创建密钥的更多信息,请参阅创建密钥。

4

命名并定义新值后,单击Save

保存后,您可以立即访问权限函数中的值。

1

使用MongoDB Atlas Administration API密钥登录App Services CLI:

appservices login --api-key="<API KEY>" --private-api-key="<PRIVATE KEY>"
2

运行以下命令以获取配置文件的本地副本:

appservices pull --remote=<App ID>

默认,该命令会将文件提取到当前工作目录中。 您可以使用可选的 --local标志指定目录路径。

3

将新值的JSON配置文件添加到本地应用程序的values子目录中:

touch values/<ValueName>.json

每个值都在自己的JSON文件中定义。 示例,名为myValue的值将在文件/values/myValue.json中定义。

配置文件应具有以下通用格式:

values/<ValueName>.json
{
"name": "<Value Name>",
"from_secret": <boolean>,
"value": <Stored JSON Value|Secret Name>
}
字段
说明
name
值的唯一名称。 此名称是在函数和规则中引用值的方式。
from_secret
默认值: false 。 如果为true ,则该值会公开密钥,而不是纯文本JSON值。
value

该值在被引用时公开的存储数据:

  • 如果from_secretfalse ,则value可以是标准 JSON 字符串、数组或对象。

  • 如果 from_secrettrue,则 value 为包含该值公开的密钥名称的string 。

4

运行以下命令以部署更改:

appservices push

您可以使用context.values模块从Atlas Function访问权限值的存储数据。

context.values.get("<Value Name>")

示例,当活跃用户的true ID 包含在纯文本大量值 中时,以下函数会返回adminUsers

使用值的示例函数
exports = function() {
const adminUsers = context.values.get("adminUsers");
const isAdminUser = adminUsers.indexOf(context.user.id) > 0;
return isAdminUser;
}

后退

MongoDB API 参考

在此页面上