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


ContainerProxy Класс

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

Экземпляр этого класса не следует создавать напрямую. Вместо этого используйте get_container_client метод для получения существующего контейнера или 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 для контейнера еще не существует, возникает исключение. :ключевое слово Вызываемый response_hook: вызываемый объект с метаданными ответа. :returns: пропускная способность для контейнера. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: свойства пропускной способности для контейнера или

Не удалось получить свойства пропускной способности.

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

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

read_offer

Получите объект ThroughputProperties для этого контейнера. Если свойства ThroughputProperties для контейнера уже не существуют, возникает исключение. :ключевое слово Вызываемый response_hook: вызываемый объект с метаданными ответа. :returns: пропускная способность для контейнера. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: для контейнера не существует свойств пропускной способности или

Не удалось получить свойства пропускной способности.

replace_item

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

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

replace_throughput

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

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

upsert_item

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

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

create_item

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

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

create_item(body: Dict[str, Any], populate_query_metrics: bool | None = None, pre_trigger_include: str | None = None, post_trigger_include: str | None = None, indexing_directive: Any | None = None, **kwargs: Any) -> Dict[str, Any]

Параметры

body
Обязательно

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

pre_trigger_include
Обязательно

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

post_trigger_include
Обязательно

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

indexing_directive
Обязательно

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

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

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

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

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

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

Исключения

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

delete_all_items_by_partition_key

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

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

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

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

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

Параметры

conflict
Обязательно

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

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

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

response_hook
Callable

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

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

Исключения

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

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

delete_item

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

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

delete_item(item: Dict[str, Any] | str, partition_key: Any, populate_query_metrics: bool | None = None, pre_trigger_include: str | None = None, post_trigger_include: str | None = None, **kwargs: Any) -> None

Параметры

item
Обязательно

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

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

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

pre_trigger_include
Обязательно

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

post_trigger_include
Обязательно

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

session_token
str

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

initial_headers
dict[str,str]

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

etag
str

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

match_condition
MatchConditions

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

response_hook
Callable

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

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

Исключения

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

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

get_conflict

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

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

Параметры

conflict
Обязательно

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

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

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

response_hook
Callable

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

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

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

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

Исключения

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

get_throughput

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

Если свойство ThroughputProperties для контейнера еще не существует, возникает исключение. :ключевое слово Вызываемый response_hook: вызываемый объект с метаданными ответа. :returns: пропускная способность для контейнера. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: свойства пропускной способности для контейнера или

Не удалось получить свойства пропускной способности.

get_throughput(**kwargs: Any) -> ThroughputProperties

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

Исключения

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

list_conflicts

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

list_conflicts(max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]

Параметры

max_item_count
Обязательно

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

response_hook
Callable

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

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

Итератор конфликтов (диктов).

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

Исключения

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

patch_item

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

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

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, parameters: List[str] | None = None, enable_cross_partition_query: bool | None = None, partition_key: Any | None = None, max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]

Параметры

query
Обязательно

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

parameters
Обязательно

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

enable_cross_partition_query
Обязательно

Позволяет отправлять несколько запросов для выполнения запроса в службе Azure Cosmos DB. Если запрос не ограничен значением ключа одной секции, требуется несколько запросов.

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

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

max_item_count
Обязательно

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

response_hook
Callable

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

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

Итератор конфликтов (диктов).

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

Исключения

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

query_items

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

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

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

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

query_items(query: str, parameters: List[Dict[str, object]] | None = None, partition_key: Any | None = None, enable_cross_partition_query: bool | None = None, max_item_count: int | None = None, enable_scan_in_query: bool | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]

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

Итератор элементов (диктов).

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

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

Исключения

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

Примеры

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


   import json

   for item in container.query_items(
       query='SELECT * FROM products p WHERE p.productModel <> "DISCONTINUED"',
       enable_cross_partition_query=True,
   ):
       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")],
   )
   for item in discontinued_items:
       print(json.dumps(item, indent=True))

query_items_change_feed

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

query_items_change_feed(partition_key_range_id: str | None = None, is_start_from_beginning: bool = False, continuation: str | None = None, max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]

Параметры

partition_key_range_id
Обязательно

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

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

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

is_start_from_beginning
Обязательно

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

continuation
Обязательно

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

max_item_count
Обязательно

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

response_hook
Callable

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

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

Итератор элементов (диктов).

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

Исключения

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

read

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

read(*, populate_partition_key_range_statistics: bool | None = None, populate_quota_info: bool | None = None, **kwargs)

Параметры

populate_partition_key_range_statistics
bool

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

populate_quota_info
bool

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

session_token
str

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

initial_headers
dict[str,str]

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

response_hook
Callable

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

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

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

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

Исключения

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

read_all_items

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

read_all_items(max_item_count: int | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]

Параметры

max_item_count
Обязательно

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

session_token
str

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

initial_headers
dict[str,str]

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

response_hook
Callable

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

max_integrated_cache_staleness_in_ms
int

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

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

Итератор элементов (диктов).

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

Исключения

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

read_item

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

read_item(item: str | Dict[str, Any], partition_key: Any, populate_query_metrics: bool | None = None, post_trigger_include: str | None = None, **kwargs: Any) -> Dict[str, Any]

Параметры

item
Обязательно

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

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

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

post_trigger_include
Обязательно

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

session_token
str

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

initial_headers
dict[str,str]

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

response_hook
Callable

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

max_integrated_cache_staleness_in_ms
int

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

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

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

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

Исключения

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

Примеры

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


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

read_offer

Получите объект ThroughputProperties для этого контейнера. Если свойства ThroughputProperties для контейнера уже не существуют, возникает исключение. :ключевое слово Вызываемый response_hook: вызываемый объект с метаданными ответа. :returns: пропускная способность для контейнера. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: для контейнера не существует свойств пропускной способности или

Не удалось получить свойства пропускной способности.

read_offer(**kwargs: Any) -> Offer

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

Исключения

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

replace_item

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

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

replace_item(item: str | Dict[str, Any], body: Dict[str, Any], populate_query_metrics: bool | None = None, pre_trigger_include: str | None = None, post_trigger_include: str | None = None, **kwargs: Any) -> Dict[str, Any]

Параметры

item
Обязательно

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

body
Обязательно

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

pre_trigger_include
Обязательно

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

post_trigger_include
Обязательно

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

session_token
str

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

initial_headers
dict[str,str]

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

etag
str

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

match_condition
MatchConditions

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

response_hook
Callable

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

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

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

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

Исключения

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

replace_throughput

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

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

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

Параметры

throughput
Обязательно

Задается пропускная способность (целое число).

response_hook
Callable

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

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

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

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

Исключения

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

upsert_item

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

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

upsert_item(body: Dict[str, Any], populate_query_metrics: bool | None = None, pre_trigger_include: str | None = None, post_trigger_include: str | None = None, **kwargs: Any) -> Dict[str, Any]

Параметры

body
Обязательно

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

pre_trigger_include
Обязательно

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

post_trigger_include
Обязательно

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

session_token
str

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

initial_headers
dict[str,str]

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

etag
str

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

match_condition
MatchConditions

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

response_hook
Callable

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

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

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

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

Исключения

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

Атрибуты

is_system_key

scripts