ContainerProxy Класс
Интерфейс для взаимодействия с определенным контейнером базы данных.
Экземпляр этого класса не следует создавать напрямую. Вместо этого используйте get_container_client метод , чтобы получить существующий контейнер, или create_container метод для создания нового контейнера.
Контейнер в базе данных API SQL Azure Cosmos DB — это коллекция документов, каждый из которых представлен в виде элемента.
- Наследование
-
builtins.objectContainerProxy
Конструктор
ContainerProxy(client_connection: CosmosClientConnection, database_link: str, id: str, properties: Dict[str, Any] = None)
Параметры
- client_connection
- database_link
- id
- properties
Переменные
- 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
Маркер для использования с согласованностью сеансов.
- 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
Параметры
- 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
Маркер для использования с согласованностью сеансов.
- 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]
Параметры
Идентификатор (имя) или дикт, представляющий элемент для исправления.
Список операций исправления, применяемых к элементу.
- 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]]
Возвращаемое значение
Итерируемый объект элементов (диктов).
Возвращаемый тип
Исключения
Элемент с указанным идентификатором уже существует.
Примеры
Получите все продукты, которые не были прекращены:
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
Маркер для использования с согласованностью сеанса.
- 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
Маркер для использования с согласованностью сеанса.
- 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
Маркер для использования с согласованностью сеанса.
- 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
Маркер для использования с согласованностью сеанса.
- 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
Маркер для использования с согласованностью сеанса.
- etag
- str
Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.
- match_condition
- MatchConditions
Условие соответствия, используемое для etag.
- response_hook
- Callable
Вызываемый объект , вызываемый с метаданными ответа.
Возвращаемое значение
Дикт, представляющий элемент с upserted.
Возвращаемый тип
Исключения
Не удалось выполнить upsert данного элемента.
Атрибуты
is_system_key
scripts
Azure SDK for Python