Поделиться через


Permissions class

Используется для создания, замены, запроса и чтения всех разрешений.

См. разрешения для чтения, замены или удаления определенного разрешения по идентификатору.

Свойства

user

Методы

create(PermissionDefinition, RequestOptions)

Создайте разрешение.

Разрешение представляет разрешение для каждого пользователя для доступа к определенному ресурсу, например элементу или контейнеру.

пример

import { CosmosClient, PermissionDefinition, PermissionMode } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { user } = await database.users.create({ id: "<user-id>" });

const permissionDefinition: PermissionDefinition = {
  id: "<permission-id>",
  permissionMode: PermissionMode.Read,
  resource: "<resource-url>",
};
await user.permissions.create(permissionDefinition);
query(SqlQuerySpec, FeedOptions)

Запрос всех разрешений.

пример

Запрос разрешения с id.

import { CosmosClient, SqlQuerySpec } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const querySpec: SqlQuerySpec = {
  query: `SELECT * FROM root r WHERE r.id = @permission`,
  parameters: [{ name: "@permission", value: "<permission-id>" }],
};
const { resources: permisssion } = await database
  .user("<user-id>")
  .permissions.query(querySpec)
  .fetchAll();
query<T>(SqlQuerySpec, FeedOptions)

Запрос всех разрешений.

readAll(FeedOptions)

Чтение всех разрешений.

пример

Чтение всех разрешений для массива.

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });

const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { resources: permissionList } = await database.user("user1").permissions.readAll().fetchAll();
upsert(PermissionDefinition, RequestOptions)

Upsert a permission. Разрешение представляет разрешение для каждого пользователя для доступа к определенному ресурсу, например элементу или контейнеру.

пример

import { CosmosClient, PermissionDefinition, PermissionMode } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const user = database.user("<user-id>");
const permissionDefinitionToUpsert: PermissionDefinition = {
  id: "<permission-id>",
  permissionMode: PermissionMode.Read,
  resource: "<resource-url>",
};

await user.permissions.upsert(permissionDefinitionToUpsert);

Сведения о свойстве

user

user: User

Значение свойства

Сведения о методе

create(PermissionDefinition, RequestOptions)

Создайте разрешение.

Разрешение представляет разрешение для каждого пользователя для доступа к определенному ресурсу, например элементу или контейнеру.

пример

import { CosmosClient, PermissionDefinition, PermissionMode } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { user } = await database.users.create({ id: "<user-id>" });

const permissionDefinition: PermissionDefinition = {
  id: "<permission-id>",
  permissionMode: PermissionMode.Read,
  resource: "<resource-url>",
};
await user.permissions.create(permissionDefinition);
function create(body: PermissionDefinition, options?: RequestOptions): Promise<PermissionResponse>

Параметры

body
PermissionDefinition

Представляет текст разрешения.

options
RequestOptions

Возвращаемое значение

query(SqlQuerySpec, FeedOptions)

Запрос всех разрешений.

пример

Запрос разрешения с id.

import { CosmosClient, SqlQuerySpec } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const querySpec: SqlQuerySpec = {
  query: `SELECT * FROM root r WHERE r.id = @permission`,
  parameters: [{ name: "@permission", value: "<permission-id>" }],
};
const { resources: permisssion } = await database
  .user("<user-id>")
  .permissions.query(querySpec)
  .fetchAll();
function query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<any>

Параметры

query
SqlQuerySpec

Настройка запроса для операции. Дополнительные сведения о настройке запроса см. в SqlQuerySpec.

options
FeedOptions

Возвращаемое значение

query<T>(SqlQuerySpec, FeedOptions)

Запрос всех разрешений.

function query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T>

Параметры

query
SqlQuerySpec

Настройка запроса для операции. Дополнительные сведения о настройке запроса см. в SqlQuerySpec.

options
FeedOptions

Возвращаемое значение

readAll(FeedOptions)

Чтение всех разрешений.

пример

Чтение всех разрешений для массива.

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });

const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { resources: permissionList } = await database.user("user1").permissions.readAll().fetchAll();
function readAll(options?: FeedOptions): QueryIterator<PermissionDefinition & Resource>

Параметры

options
FeedOptions

Возвращаемое значение

upsert(PermissionDefinition, RequestOptions)

Upsert a permission. Разрешение представляет разрешение для каждого пользователя для доступа к определенному ресурсу, например элементу или контейнеру.

пример

import { CosmosClient, PermissionDefinition, PermissionMode } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const user = database.user("<user-id>");
const permissionDefinitionToUpsert: PermissionDefinition = {
  id: "<permission-id>",
  permissionMode: PermissionMode.Read,
  resource: "<resource-url>",
};

await user.permissions.upsert(permissionDefinitionToUpsert);
function upsert(body: PermissionDefinition, options?: RequestOptions): Promise<PermissionResponse>

Параметры

options
RequestOptions

Возвращаемое значение