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


ContainerProxy Класс

Интерфейс для взаимодействия с определенным контейнером базы данных.

Экземпляр этого класса не следует создавать напрямую. Вместо этого используйте <xref:azure.cosmos.aio.database.DatabaseProxy.get_container_client> метод для получения существующего контейнера или <xref:azure.cosmos.aio.database.DatabaseProxy.create_container> метод для создания нового контейнера.

Контейнер в базе данных API SQL Azure Cosmos DB — это коллекция документов, каждый из которых представлен в виде элемента.

Наследование
builtins.object
ContainerProxy

Конструктор

ContainerProxy(client_connection: CosmosClientConnection, database_link: str, id: str, properties: Dict[str, Any] = None)

Параметры

client_connection
database_link
id
properties
значение по умолчанию: None

Переменные

id
str

Идентификатор (имя) контейнера

session_token
str

Маркер сеанса для контейнера.

Методы

create_item

Создайте элемент в контейнере.

Чтобы обновить или заменить существующий элемент, используйте upsert_item метод .

delete_all_items_by_partition_key

Функция удаления по ключу секции — это асинхронная фоновая операция, которая позволяет удалять все документы с одинаковым значением ключа логической секции с помощью пакета SDK для Cosmos. Операция удаления по ключу секции ограничена потреблением не более 10 % от общего количества доступных ЕЗ/с в контейнере каждую секунду. Это помогает ограничить ресурсы, используемые этой фоновой задачей.

delete_conflict

Удалите указанный конфликт из контейнера.

Если конфликт еще не существует в контейнере, возникает исключение.

delete_item

Удалите указанный элемент из контейнера.

Если элемент еще не существует в контейнере, возникает исключение.

get_conflict

Получение конфликта, идентифицированного по конфликту.

get_throughput

Получите объект ThroughputProperties для этого контейнера.

Если свойство ThroughputProperties для контейнера еще не существует, возникает исключение.

list_conflicts

Вывод списка всех конфликтов в контейнере.

patch_item

Временный метод Исправляет указанный элемент с помощью предоставленных операций, если он существует в контейнере.

Если элемент еще не существует в контейнере, возникает исключение.

query_conflicts

Возвращает все конфликты, соответствующие заданному запросу.

query_items

Возвращает все результаты, соответствующие заданному запросу.

Вы можете использовать любое значение для имени контейнера в предложении FROM, но часто используется имя контейнера. В приведенных ниже примерах имя контейнера — "products" и псевдоним p для упрощения ссылки в предложении WHERE.

маркер продолжения ответа в ответе запроса. Допустимые значения являются положительными целыми числами. Значение 0 совпадает с тем, что значение не передается (по умолчанию нет ограничений). :ключевое слово int max_integrated_cache_staleness_in_ms: максимальное устаревание кэша для интегрированного кэша в

Миллисекунд. Для учетных записей, настроенных для использования интегрированного кэша с использованием сеанса или итоговой согласованности, ответы гарантированно не будут устаревшими, чем это значение.

query_items_change_feed

Получение отсортированного списка измененных элементов в порядке их изменения.

read

Чтение свойств контейнера.

read_all_items

Вывод списка всех элементов в контейнере.

read_item

Получение элемента, идентифицированного по элементу.

replace_item

Заменяет указанный элемент, если он существует в контейнере.

Если элемент еще не существует в контейнере, возникает исключение.

replace_throughput

Замените пропускную способность контейнера.

Если свойства ThroughputProperties для контейнера уже не существуют, возникает исключение.

upsert_item

Вставка или обновление указанного элемента.

Если элемент уже существует в контейнере, он заменяется. Если элемент еще не существует, он вставляется.

create_item

Создайте элемент в контейнере.

Чтобы обновить или заменить существующий элемент, используйте upsert_item метод .

async create_item(body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]

Параметры

body
dict[str, str]
Обязательно

Объект, похожий на диктовку, представляющий создаваемый элемент.

pre_trigger_include
str

идентификатор триггера, используемый в качестве триггера перед операцией.

post_trigger_include
str

идентификатор триггера, используемый в качестве триггера после операции.

indexing_directive
Union[int, IndexingDirective]

Перечисляет возможные значения, указывающие, следует ли пропускать документ из индексирования. Возможные значения: 0 — значение по умолчанию, 1 — исключение или 2 — включение.

enable_automatic_id_generation
bool

Включите автоматическое создание идентификаторов, если идентификатор отсутствует.

session_token
str

Маркер для использования с согласованностью сеанса.

initial_headers
dict[str, str]

Начальные заголовки, отправляемые в составе запроса.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Вызываемый объект , вызываемый с метаданными ответа.

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

Дикт, представляющий новый элемент.

Возвращаемый тип

Исключения

Элемент с указанным идентификатором уже существует.

delete_all_items_by_partition_key

Функция удаления по ключу секции — это асинхронная фоновая операция, которая позволяет удалять все документы с одинаковым значением ключа логической секции с помощью пакета SDK для Cosmos. Операция удаления по ключу секции ограничена потреблением не более 10 % от общего количества доступных ЕЗ/с в контейнере каждую секунду. Это помогает ограничить ресурсы, используемые этой фоновой задачей.

async delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None

Параметры

partition_key
Any
Обязательно

Ключ секции для удаляемого элемента.

pre_trigger_include
str

идентификатор триггера, используемый в качестве триггера перед операцией.

post_trigger_include
str

идентификатор триггера, используемый в качестве триггера после операции.

session_token
str

Маркер для использования с согласованностью сеанса.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

response_hook
Callable

Вызываемый объект , вызываемый с метаданными ответа.

Возвращаемый тип

Исключения

Элемент с указанным идентификатором уже существует.

delete_conflict

Удалите указанный конфликт из контейнера.

Если конфликт еще не существует в контейнере, возникает исключение.

async delete_conflict(conflict: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> None

Параметры

conflict
Union[str, Dict[str, Any]]
Обязательно

Идентификатор (имя) или словарь, представляющий извлекаемую конфликт.

partition_key
Union[str, int, float, bool]
Обязательно

Ключ секции для извлекаемого конфликта.

response_hook
Callable[[Dict[str, str], None], None]

Вызываемый объект , вызываемый с метаданными ответа.

Возвращаемый тип

Исключения

Конфликт не был успешно удален.

Конфликт не существует в контейнере.

delete_item

Удалите указанный элемент из контейнера.

Если элемент еще не существует в контейнере, возникает исключение.

async delete_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> None

Параметры

item
Union[str, Dict[str, Any]]
Обязательно

Идентификатор (имя) или словарь, представляющий удаляемый элемент.

partition_key
Union[str, int, float, bool]
Обязательно

Задает значение ключа секции для элемента.

pre_trigger_include
str

идентификатор триггера, используемый в качестве триггера перед операцией.

post_trigger_include
str

идентификатор триггера, используемый в качестве триггера после операции.

session_token
str

Маркер для использования с согласованностью сеанса.

initial_headers
dict[str, str]

Начальные заголовки, отправляемые в составе запроса.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

response_hook
Callable[[Dict[str, str], None], None]

Вызываемый объект , вызываемый с метаданными ответа.

Возвращаемый тип

Исключения

Элемент не был успешно удален.

Элемент не существует в контейнере.

get_conflict

Получение конфликта, идентифицированного по конфликту.

async get_conflict(conflict: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> Dict[str, Any]

Параметры

conflict
Union[str, Dict[str, Any]]
Обязательно

Идентификатор (имя) или словарь, представляющий извлекаемую конфликт.

partition_key
Union[str, int, float, bool]
Обязательно

Ключ секции для извлекаемого конфликта.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Вызываемый объект , вызываемый с метаданными ответа.

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

Дикт, представляющий полученный конфликт.

Возвращаемый тип

Исключения

Не удалось получить заданный конфликт.

get_throughput

Получите объект ThroughputProperties для этого контейнера.

Если свойство ThroughputProperties для контейнера еще не существует, возникает исключение.

async get_throughput(**kwargs: Any) -> ThroughputProperties

Параметры

response_hook
Callable[[Dict[str, str], List[Dict[str, Any]]], None]

Вызываемый объект , вызываемый с метаданными ответа.

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

ThroughputProperties для контейнера.

Возвращаемый тип

Исключения

Для контейнера не существует свойств пропускной способности, или не удалось получить свойства пропускной способности.

list_conflicts

Вывод списка всех конфликтов в контейнере.

list_conflicts(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Параметры

max_item_count
int

Максимальное количество элементов, возвращаемых в операции перечисления.

response_hook
Callable[[Dict[str, str], <xref:AsyncItemPaged>[Dict[str, Any]]], None]

Вызываемый объект , вызываемый с метаданными ответа.

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

AsyncItemPaged конфликтов (dicts).

Возвращаемый тип

<xref:AsyncItemPaged>[Dict[str, Any]]

Исключения

Элемент с указанным идентификатором уже существует.

patch_item

Временный метод Исправляет указанный элемент с помощью предоставленных операций, если он существует в контейнере.

Если элемент еще не существует в контейнере, возникает исключение.

async patch_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, patch_operations: List[Dict[str, Any]], **kwargs: Any) -> Dict[str, Any]

Параметры

item
Union[str, Dict[str, Any]]
Обязательно

Идентификатор (имя) или словарь, представляющий элемент для исправления.

partition_key
Union[str, int, float, bool]
Обязательно

Ключ секции объекта для исправления.

patch_operations
List[Dict[str, Any]]
Обязательно

Список операций исправления, применяемых к элементу.

filter_predicate
str

условный фильтр, применяемый к операциям исправления.

pre_trigger_include
str

идентификатор триггера, используемый в качестве триггера перед операцией.

post_trigger_include
str

идентификатор триггера, используемый в качестве триггера после операции.

session_token
str

Маркер для использования с согласованностью сеанса.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

response_hook
Callable

Вызываемый объект , вызываемый с метаданными ответа.

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

Дикт, представляющий элемент после выполнения операций исправления.

Возвращаемый тип

Исключения

Операция исправления завершилась сбоем или элемент с заданным идентификатором не существует.

query_conflicts

Возвращает все конфликты, соответствующие заданному запросу.

query_conflicts(query: str | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Параметры

query
Union[str, Dict[str, Any]]
Обязательно

Выполняемый SQL-запрос Azure Cosmos DB.

parameters
List[Dict[str, Any]]

Необязательный массив параметров для запроса. Игнорируется, если запрос не предоставлен.

partition_key
Union[str, int, float, bool]

Задает значение ключа секции для элемента. Если ни один из них не передается, будет выполнен межсекционный запрос.

max_item_count
int

Максимальное количество элементов, возвращаемых в операции перечисления.

response_hook
Callable[[Dict[str, str], <xref:AsyncItemPaged>[Dict[str, Any]]], None]

Вызываемый объект , вызываемый с метаданными ответа.

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

AsyncItemPaged конфликтов (dicts).

Возвращаемый тип

<xref:AsyncItemPaged>[Dict[str, Any]]

Исключения

Элемент с указанным идентификатором уже существует.

query_items

Возвращает все результаты, соответствующие заданному запросу.

Вы можете использовать любое значение для имени контейнера в предложении FROM, но часто используется имя контейнера. В приведенных ниже примерах имя контейнера — "products" и псевдоним p для упрощения ссылки в предложении WHERE.

маркер продолжения ответа в ответе запроса. Допустимые значения являются положительными целыми числами. Значение 0 совпадает с тем, что значение не передается (по умолчанию нет ограничений). :ключевое слово int max_integrated_cache_staleness_in_ms: максимальное устаревание кэша для интегрированного кэша в

Миллисекунд. Для учетных записей, настроенных для использования интегрированного кэша с использованием сеанса или итоговой согласованности, ответы гарантированно не будут устаревшими, чем это значение.

query_items(query: str | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

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

AsyncItemPaged элементов (диктов).

Возвращаемый тип

<xref:AsyncItemPaged>[Dict[str, Any]]

Исключения

Элемент с указанным идентификатором уже существует.

Примеры

Получите все продукты, которые не были прекращены:


           import json

           async for item in container.query_items(
                   query='SELECT * FROM products p WHERE p.productModel <> "DISCONTINUED"'
           ):
               print(json.dumps(item, indent=True))

Параметризованный запрос для получения всех продуктов, которые были прекращены:


           discontinued_items = container.query_items(
               query='SELECT * FROM products p WHERE p.productModel = @model AND p.productName="Widget"',
               parameters=[dict(name="@model", value="DISCONTINUED")],
           )
           async for item in discontinued_items:
               print(json.dumps(item, indent=True))

query_items_change_feed

Получение отсортированного списка измененных элементов в порядке их изменения.

query_items_change_feed(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Параметры

is_start_from_beginning
bool

Определяет, должен ли канал изменений начинаться с начала (true) или с текущего (false). По умолчанию он начинается с текущего (false).

partition_key_range_id
str

Запросы ChangeFeed можно выполнять для определенных диапазонов ключей секций. Используется для параллельной обработки канала изменений несколькими потребителями.

continuation
str

e_tag значение, которое будет использоваться в качестве продолжения для чтения канала изменений.

max_item_count
int

Максимальное количество элементов, возвращаемых в операции перечисления.

partition_key
Union[str, int, float, bool]

ключ секции, на который нацелены запросы ChangeFeed.

response_hook
Callable[[Dict[str, str], <xref:AsyncItemPaged>[Dict[str, Any]]], None]

Вызываемый объект с метаданными ответа.

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

AsyncItemPaged элементов (диктов).

Возвращаемый тип

<xref:AsyncItemPaged>[Dict[str, Any]]

Исключения

Элемент с указанным идентификатором уже существует.

read

Чтение свойств контейнера.

async read(**kwargs: Any) -> Dict[str, Any]

Параметры

populate_partition_key_range_statistics
bool

Включите возвращать статистику по диапазону ключей секции в заголовках ответов.

populate_quota_info
bool

Включите возврат сведений о квоте хранилища коллекций в заголовках ответов.

session_token
str

Маркер для использования с согласованностью сеансов.

initial_headers
dict[str, str]

Начальные заголовки, отправляемые как часть запроса.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Вызываемый объект с метаданными ответа.

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

Дикт, представляющий полученный контейнер.

Возвращаемый тип

Исключения

Возникает, если контейнер не удалось получить. Сюда входит значение , если контейнер не существует.

read_all_items

Вывод списка всех элементов в контейнере.

read_all_items(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Параметры

max_item_count
int

Максимальное количество элементов, возвращаемых в операции перечисления.

session_token
str

Маркер для использования с согласованностью сеансов.

initial_headers
dict[str, str]

Начальные заголовки, отправляемые как часть запроса.

response_hook
Callable[[Dict[str, str], <xref:AsyncItemPaged>[Dict[str, Any]]], None]

Вызываемый объект с метаданными ответа.

max_integrated_cache_staleness_in_ms
int

Максимальное устаревание кэша для интегрированного кэша в миллисекундах. Для учетных записей, настроенных для использования интегрированного кэша с использованием сеанса или итоговой согласованности, ответы гарантированно не будут устаревшими, чем это значение.

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

AsyncItemPaged элементов (диктов).

Возвращаемый тип

<xref:AsyncItemPaged>[Dict[str, Any]]

Исключения

Элемент с указанным идентификатором уже существует.

read_item

Получение элемента, идентифицированного по элементу.

async read_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> Dict[str, Any]

Параметры

item
Union[str, Dict[str, Any]]
Обязательно

Идентификатор (имя) или дикт, представляющий извлекаемый элемент.

partition_key
Union[str, int, float, bool]
Обязательно

Ключ секции для извлекаемого элемента.

post_trigger_include
str

идентификатор триггера, используемый в качестве триггера после операции.

session_token
str

Маркер для использования с согласованностью сеансов.

initial_headers
dict[str, str]

Начальные заголовки, отправляемые как часть запроса.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Вызываемый объект с метаданными ответа.

max_integrated_cache_staleness_in_ms
int

Максимальное устаревание кэша для интегрированного кэша в миллисекундах. Для учетных записей, настроенных для использования интегрированного кэша с использованием сеанса или итоговой согласованности, ответы гарантированно не будут устаревшими, чем это значение.

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

Дикт, представляющий извлекаемый элемент.

Возвращаемый тип

Исключения

Не удалось получить заданный элемент.

Примеры

Получите элемент из базы данных и обновите одно из его свойств:


           item = await container.read_item("item2", partition_key="Widget")
           item["productModel"] = "DISCONTINUED"
           updated_item = await container.upsert_item(item)

replace_item

Заменяет указанный элемент, если он существует в контейнере.

Если элемент еще не существует в контейнере, возникает исключение.

async replace_item(item: str | Dict[str, Any], body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]

Параметры

item
Union[str, Dict[str, Any]]
Обязательно

Идентификатор (имя) или дикт, представляющий заменяемый элемент.

body
Dict[str, Any]
Обязательно

Объект, похожий на диктовку, представляющий заменяемый элемент.

pre_trigger_include
str

идентификатор триггера, используемый в качестве триггера перед операцией.

post_trigger_include
str

идентификатор триггера, используемый в качестве триггера после операции.

session_token
str

Маркер для использования с согласованностью сеансов.

initial_headers
dict[str, str]

Начальные заголовки, отправляемые как часть запроса.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Вызываемый объект с метаданными ответа.

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

Дикт, представляющий элемент после завершения замены.

Возвращаемый тип

Исключения

Сбой замены или элемент с заданным идентификатором не существует.

replace_throughput

Замените пропускную способность контейнера.

Если свойства ThroughputProperties для контейнера уже не существуют, возникает исключение.

async replace_throughput(throughput: int | ThroughputProperties, **kwargs: Any) -> ThroughputProperties

Параметры

throughput
Union[int, ThroughputProperties]
Обязательно

Заданная пропускная способность.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Вызываемый объект с метаданными ответа.

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

ThroughputProperties для контейнера, обновлена новая пропускная способность.

Возвращаемый тип

Исключения

Для контейнера не существует свойств пропускной способности или не удалось обновить свойства пропускной способности.

upsert_item

Вставка или обновление указанного элемента.

Если элемент уже существует в контейнере, он заменяется. Если элемент еще не существует, он вставляется.

async upsert_item(body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]

Параметры

body
Dict[str, Any]
Обязательно

Объект, похожий на диктовку, представляющий элемент для обновления или вставки.

pre_trigger_include
str

идентификатор триггера, используемый в качестве триггера перед операцией.

post_trigger_include
str

идентификатор триггера, используемый в качестве триггера после операции.

session_token
str

Маркер для использования с согласованностью сеансов.

initial_headers
dict[str, str]

Начальные заголовки, отправляемые как часть запроса.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Вызываемый объект с метаданными ответа.

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

Дикт, представляющий вставленный элемент.

Возвращаемый тип

Исключения

Не удалось выполнить обновление заданного элемента.

Атрибуты

is_system_key

scripts