ContainerProxy 클래스
특정 DB 컨테이너와 상호 작용하는 인터페이스입니다.
이 클래스는 직접 인스턴스화하면 안 됩니다. 대신 메서드를 get_container_client 사용하여 기존 컨테이너를 얻거나 메서드를 create_container 사용하여 새 컨테이너를 만듭니다.
Azure Cosmos DB SQL API 데이터베이스의 컨테이너는 각각 항목으로 표시되는 문서 컬렉션입니다.
- 상속
-
builtins.objectContainerProxy
생성자
ContainerProxy(client_connection: CosmosClientConnection, database_link: str, id: str, properties: Dict[str, Any] = None)
매개 변수
- client_connection
- database_link
- id
- properties
변수
- id
- str
컨테이너의 ID(이름)
- session_token
- str
컨테이너에 대한 세션 토큰입니다.
메서드
create_item |
컨테이너에 항목을 만듭니다. 기존 항목을 업데이트하거나 바꾸려면 메서드를 upsert_item 사용합니다. |
delete_all_items_by_partition_key |
파티션 키에 의한 삭제 기능은 Cosmos SDK를 사용하여 동일한 논리적 파티션 키 값을 가진 모든 문서를 삭제할 수 있는 비동기식 백그라운드 작업입니다. 파티션 키로 삭제 작업은 컨테이너에서 사용 가능한 총 RU/s의 최대 10%를 1초마다 사용하도록 제한됩니다. 이렇게 하면 이 백그라운드 작업에서 사용하는 리소스를 제한하는 데 도움이 됩니다. |
delete_conflict |
컨테이너에서 지정된 충돌을 삭제합니다. 컨테이너에 충돌이 아직 없으면 예외가 발생합니다. |
delete_item |
컨테이너에서 지정된 항목을 삭제합니다. 항목이 컨테이너에 아직 없는 경우 예외가 발생합니다. |
get_conflict |
충돌로 식별된 충돌을 가져옵니다. |
get_throughput |
이 컨테이너에 대한 ThroughputProperties 개체를 가져옵니다. 컨테이너에 대한 ThroughputProperties가 아직 없으면 예외가 발생합니다. :키워드(keyword) 호출 가능한 response_hook: 응답 메타데이터를 사용하여 호출할 수 있는 입니다. :returns: 컨테이너의 처리량입니다. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: 컨테이너에 대한 처리량 속성이 없거나 처리량 속성을 검색할 수 없습니다. |
list_conflicts |
컨테이너의 모든 충돌을 나열합니다. |
patch_item |
임시 방법 지정된 항목이 컨테이너에 있는 경우 제공된 작업으로 패치합니다. 항목이 컨테이너에 아직 없는 경우 예외가 발생합니다. |
query_conflicts |
지정된 쿼리와 일치하는 모든 충돌을 반환합니다. |
query_items |
지정된 쿼리와 일치하는 모든 결과를 반환 합니다. FROM 절에서 컨테이너 이름에 대한 모든 값을 사용할 수 있지만 컨테이너 이름이 사용되는 경우가 많습니다. 아래 예제에서 컨테이너 이름은 "products"이며 WHERE 절에서 보다 쉽게 참조할 수 있는 "p"로 별칭이 지정됩니다. 쿼리 응답의 응답 연속 토큰입니다. 유효한 값은 양의 정수입니다. 값 0은 값을 전달하지 않는 것과 같습니다(기본값 제한 없음). :키워드(keyword) int max_integrated_cache_staleness_in_ms: 의 통합 캐시에 대한 최대 캐시 부실 밀리초. 세션 또는 최종 일관성을 사용하여 통합 캐시를 사용하도록 구성된 계정의 경우 응답은 이 값보다 부실하지 않습니다. |
query_items_change_feed |
변경된 항목의 정렬된 목록을 수정된 순서대로 가져옵니다. |
read |
컨테이너 속성을 읽습니다. |
read_all_items |
컨테이너의 모든 항목을 나열합니다. |
read_item |
항목으로 식별된 항목을 가져옵니다. |
read_offer |
이 컨테이너에 대한 ThroughputProperties 개체를 가져옵니다. 컨테이너에 대한 ThroughputProperties가 아직 없으면 예외가 발생합니다. :키워드(keyword) 호출 가능한 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
만들 항목을 나타내는 dict와 유사한 개체입니다.
- pre_trigger_include
사전 작업 트리거로 사용할 트리거 ID입니다.
- post_trigger_include
사후 작업 트리거로 사용할 트리거 ID입니다.
- indexing_directive
문서를 인덱싱에서 생략해야 하는지 여부를 나타냅니다.
- enable_automatic_id_generation
- bool
ID가 없는 경우 자동 ID 생성을 사용하도록 설정합니다.
- session_token
- str
세션 일관성에 사용할 토큰입니다.
- etag
- str
ETag 값 또는 와일드카드 문자(*)입니다. 리소스가 변경되었는지 검사 match_condition 매개 변수에 지정된 조건에 따라 작동하는 데 사용됩니다.
- match_condition
- MatchConditions
etag에 사용할 일치 조건입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
새 항목을 나타내는 받아쓰기입니다.
반환 형식
예외
지정된 ID가 있는 항목이 이미 있습니다.
delete_all_items_by_partition_key
파티션 키에 의한 삭제 기능은 Cosmos SDK를 사용하여 동일한 논리적 파티션 키 값을 가진 모든 문서를 삭제할 수 있는 비동기식 백그라운드 작업입니다. 파티션 키로 삭제 작업은 컨테이너에서 사용 가능한 총 RU/s의 최대 10%를 1초마다 사용하도록 제한됩니다. 이렇게 하면 이 백그라운드 작업에서 사용하는 리소스를 제한하는 데 도움이 됩니다.
delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None
매개 변수
- pre_trigger_include
- str
사전 작업 트리거로 사용할 트리거 ID입니다.
- post_trigger_include
- str
사후 작업 트리거로 사용할 트리거 ID입니다.
- session_token
- str
세션 일관성에 사용할 토큰입니다.
- etag
- str
ETag 값 또는 와일드카드 문자(*)입니다. 리소스가 변경되었는지 검사 match_condition 매개 변수에 지정된 조건에 따라 작동하는 데 사용됩니다.
- match_condition
- MatchConditions
etag에 사용할 일치 조건입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환 형식
예외
지정된 ID가 있는 항목이 이미 있습니다.
delete_conflict
컨테이너에서 지정된 충돌을 삭제합니다.
컨테이너에 충돌이 아직 없으면 예외가 발생합니다.
delete_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> None
매개 변수
- conflict
삭제할 충돌을 나타내는 ID(이름) 또는 받아쓰기입니다.
- 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
삭제할 항목을 나타내는 ID(이름) 또는 받아쓰기입니다.
- partition_key
항목의 파티션 키 값을 지정합니다.
- pre_trigger_include
사전 작업 트리거로 사용할 트리거 ID입니다.
- post_trigger_include
사후 작업 트리거로 사용할 트리거 ID입니다.
- 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
검색할 충돌을 나타내는 ID(이름) 또는 받아쓰기입니다.
- partition_key
검색할 충돌에 대한 파티션 키입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
검색된 충돌을 나타내는 받아쓰기입니다.
반환 형식
예외
지정된 충돌을 검색할 수 없습니다.
get_throughput
이 컨테이너에 대한 ThroughputProperties 개체를 가져옵니다.
컨테이너에 대한 ThroughputProperties가 아직 없으면 예외가 발생합니다. :키워드(keyword) 호출 가능한 response_hook: 응답 메타데이터를 사용하여 호출할 수 있는 입니다. :returns: 컨테이너의 처리량입니다. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: 컨테이너에 대한 처리량 속성이 없거나
처리량 속성을 검색할 수 없습니다.
get_throughput(**kwargs: Any) -> ThroughputProperties
반환 형식
예외
지정된 ID가 있는 항목이 이미 있습니다.
list_conflicts
컨테이너의 모든 충돌을 나열합니다.
list_conflicts(max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
매개 변수
- max_item_count
열거형 작업에서 반환할 최대 항목 수입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
충돌 반복 가능(받아쓰기)입니다.
반환 형식
예외
지정된 ID가 있는 항목이 이미 있습니다.
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
사전 작업 트리거로 사용할 트리거 ID입니다.
- post_trigger_include
- str
사후 작업 트리거로 사용할 트리거 ID입니다.
- session_token
- str
세션 일관성에 사용할 토큰입니다.
- etag
- str
ETag 값 또는 와일드카드 문자(*)입니다. 리소스가 변경되었는지 검사 match_condition 매개 변수에 지정된 조건에 따라 작동하는 데 사용됩니다.
- match_condition
- MatchConditions
etag에 사용할 일치 조건입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
패치 작업을 거친 후 항목을 나타내는 받아쓰기입니다.
반환 형식
예외
패치 작업이 실패했거나 지정된 ID가 있는 항목이 없습니다.
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
실행할 Azure Cosmos DB SQL 쿼리입니다.
- parameters
쿼리에 대한 매개 변수의 선택적 배열입니다. 쿼리가 제공되지 않으면 무시됩니다.
- enable_cross_partition_query
둘 이상의 요청을 전송하여 Azure Cosmos DB 서비스에서 쿼리를 실행할 수 있습니다. 쿼리 범위가 단일 파티션 키 값으로 지정되지 않은 경우 둘 이상의 요청이 필요합니다.
- partition_key
항목의 파티션 키 값을 지정합니다.
- max_item_count
열거형 작업에서 반환할 최대 항목 수입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
충돌 반복 가능(받아쓰기)입니다.
반환 형식
예외
지정된 ID가 있는 항목이 이미 있습니다.
query_items
지정된 쿼리와 일치하는 모든 결과를 반환 합니다.
FROM 절에서 컨테이너 이름에 대한 모든 값을 사용할 수 있지만 컨테이너 이름이 사용되는 경우가 많습니다. 아래 예제에서 컨테이너 이름은 "products"이며 WHERE 절에서 보다 쉽게 참조할 수 있는 "p"로 별칭이 지정됩니다.
쿼리 응답의 응답 연속 토큰입니다. 유효한 값은 양의 정수입니다. 값 0은 값을 전달하지 않는 것과 같습니다(기본값 제한 없음). :키워드(keyword) 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]]
반환
항목의 반복 가능(받아쓰기)입니다.
반환 형식
예외
지정된 ID가 있는 항목이 이미 있습니다.
예제
중단되지 않은 모든 제품을 가져옵니다.
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
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
항목의 반복 가능(받아쓰기)입니다.
반환 형식
예외
지정된 ID가 있는 항목이 이미 있습니다.
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
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
검색된 컨테이너를 나타내는 Dict입니다.
반환 형식
예외
컨테이너를 검색할 수 없는 경우 발생합니다. 여기에는 컨테이너가 없는 경우가 포함됩니다.
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
통합 캐시의 최대 캐시 부실(밀리초)입니다. 세션 또는 최종 일관성을 사용하여 통합 캐시를 사용하도록 구성된 계정의 경우 응답은 이 값보다 부실하지 않습니다.
반환
항목의 반복 가능(받아쓰기)입니다.
반환 형식
예외
지정된 ID가 있는 항목이 이미 있습니다.
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
검색할 항목을 나타내는 ID(이름) 또는 받아쓰기입니다.
- partition_key
검색할 항목의 파티션 키입니다.
- post_trigger_include
사후 작업 트리거로 사용할 트리거 ID입니다.
- session_token
- str
세션 일관성에 사용할 토큰입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
- max_integrated_cache_staleness_in_ms
- int
통합 캐시의 최대 캐시 부실(밀리초)입니다. 세션 또는 최종 일관성을 사용하여 통합 캐시를 사용하도록 구성된 계정의 경우 응답은 이 값보다 부실하지 않습니다.
반환
검색할 항목을 나타내는 Dict입니다.
반환 형식
예외
지정된 항목을 검색할 수 없습니다.
예제
데이터베이스에서 항목을 가져와 해당 속성 중 하나를 업데이트합니다.
item = container.read_item("item2", partition_key="Widget")
item["productModel"] = "DISCONTINUED"
updated_item = container.upsert_item(item)
read_offer
이 컨테이너에 대한 ThroughputProperties 개체를 가져옵니다. 컨테이너에 대한 ThroughputProperties가 아직 없으면 예외가 발생합니다. :키워드(keyword) 호출 가능한 response_hook: 응답 메타데이터를 사용하여 호출할 수 있는 입니다. :returns: 컨테이너의 처리량입니다. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: 컨테이너에 대한 처리량 속성이 없거나
처리량 속성을 검색할 수 없습니다.
read_offer(**kwargs: Any) -> Offer
반환 형식
예외
지정된 ID가 있는 항목이 이미 있습니다.
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
바꿀 항목을 나타내는 ID(이름) 또는 받아쓰기입니다.
- body
바꿀 항목을 나타내는 dict와 유사한 개체입니다.
- pre_trigger_include
사전 작업 트리거로 사용할 트리거 ID입니다.
- post_trigger_include
사후 작업 트리거로 사용할 트리거 ID입니다.
- session_token
- str
세션 일관성에 사용할 토큰입니다.
- etag
- str
ETag 값 또는 와일드카드 문자(*)입니다. 리소스가 변경되었는지 검사 match_condition 매개 변수에 지정된 조건에 따라 작동하는 데 사용됩니다.
- match_condition
- MatchConditions
etag에 사용할 일치 조건입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
바꾸기를 통과한 후 항목을 나타내는 받아쓰기입니다.
반환 형식
예외
바꾸기에 실패했거나 지정된 ID를 가진 항목이 없습니다.
replace_throughput
컨테이너의 처리량을 대체합니다.
컨테이너에 대한 ThroughputProperties가 아직 없으면 예외가 발생합니다.
replace_throughput(throughput: int | ThroughputProperties | None, **kwargs: Any) -> ThroughputProperties
매개 변수
- throughput
설정할 처리량(정수)입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
컨테이너에 대한 처리량속성이며 새 처리량으로 업데이트되었습니다.
반환 형식
예외
컨테이너에 대한 처리량 속성이 없거나 처리량 속성을 업데이트할 수 없습니다.
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
업데이트하거나 삽입할 항목을 나타내는 dict와 유사한 개체입니다.
- pre_trigger_include
사전 작업 트리거로 사용할 트리거 ID입니다.
- post_trigger_include
사후 작업 트리거로 사용할 트리거 ID입니다.
- session_token
- str
세션 일관성에 사용할 토큰입니다.
- etag
- str
ETag 값 또는 와일드카드 문자(*)입니다. 리소스가 변경되었는지 검사 match_condition 매개 변수에 지정된 조건에 따라 작동하는 데 사용됩니다.
- match_condition
- MatchConditions
etag에 사용할 일치 조건입니다.
- response_hook
- Callable
응답 메타데이터를 사용하여 호출할 수 있는 입니다.
반환
upserted 항목을 나타내는 받아쓰기입니다.
반환 형식
예외
지정된 항목을 업서트할 수 없습니다.
특성
is_system_key
scripts
Azure SDK for Python