ContainerProxy Classe
Interface permettant d’interagir avec un conteneur de base de données spécifique.
Cette classe ne doit pas être instanciée directement. Utilisez plutôt la get_container_client méthode pour obtenir un conteneur existant ou la create_container méthode pour créer un conteneur.
Un conteneur dans une base de données d’API SQL Azure Cosmos DB est une collection de documents, chacun d’eux étant représenté sous la forme d’un élément.
- Héritage
-
builtins.objectContainerProxy
Constructeur
ContainerProxy(client_connection: CosmosClientConnection, database_link: str, id: str, properties: Dict[str, Any] = None)
Paramètres
- client_connection
- database_link
- id
- properties
Variables
- id
- str
ID (nom) du conteneur
- session_token
- str
Jeton de session pour le conteneur.
Méthodes
create_item |
Créez un élément dans le conteneur. Pour mettre à jour ou remplacer un élément existant, utilisez la upsert_item méthode . |
delete_all_items_by_partition_key |
La fonctionnalité de suppression par clé de partition est une opération asynchrone en arrière-plan qui vous permet de supprimer tous les documents qui ont la même valeur de clé de partition logique, en utilisant le SDK Cosmos. L’opération de suppression par clé de partition est limitée pour consommer au maximum 10 % du total des RU/s disponibles chaque seconde sur le conteneur. Cela permet de limiter les ressources utilisées par cette tâche en arrière-plan. |
delete_conflict |
Supprimez un conflit spécifié du conteneur. Si le conflit n’existe pas déjà dans le conteneur, une exception est levée. |
delete_item |
Supprimez l’élément spécifié du conteneur. Si l’élément n’existe pas déjà dans le conteneur, une exception est levée. |
get_conflict |
Obtenez le conflit identifié par le conflit. |
get_throughput |
Obtenez l’objet ThroughputProperties pour ce conteneur. Si aucune propriété de débit n’existe déjà pour le conteneur, une exception est levée. :mot clé callable response_hook : callable appelé avec les métadonnées de réponse. :returns: Débit pour le conteneur. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError : aucune propriété de débit n’existe pour le conteneur ou les propriétés de débit n’ont pas pu être récupérées. |
list_conflicts |
Répertoriez tous les conflits dans le conteneur. |
patch_item |
Méthode provisoire Corrige l’élément spécifié avec les opérations fournies s’il existe dans le conteneur. Si l’élément n’existe pas déjà dans le conteneur, une exception est levée. |
query_conflicts |
Retourne tous les conflits correspondant à une requête donnée. |
query_items |
Retourne tous les résultats correspondant à la requête donnée. Vous pouvez utiliser n’importe quelle valeur pour le nom du conteneur dans la clause FROM, mais souvent le nom du conteneur est utilisé. Dans les exemples ci-dessous, le nom du conteneur est « products » et est alias « p » pour faciliter le référencement dans la clause WHERE. jeton de continuation de réponse dans la réponse de requête. Les valeurs valides sont des entiers positifs. Une valeur de 0 équivaut à ne pas passer une valeur (par défaut, aucune limite). :mot clé int max_integrated_cache_staleness_in_ms : l’obsolescence maximale du cache pour le cache intégré dans Millisecondes. Pour les comptes configurés pour utiliser le cache intégré, à l’aide de la cohérence session ou éventuelle, les réponses ne sont pas plus staler que cette valeur. |
query_items_change_feed |
Obtenez une liste triée des éléments qui ont été modifiés, dans l’ordre dans lequel ils ont été modifiés. |
read |
Lisez les propriétés du conteneur. |
read_all_items |
Répertoriez tous les éléments du conteneur. |
read_item |
Obtenez l’élément identifié par élément. |
read_offer |
Obtenez l’objet DébitProperties pour ce conteneur. Si débitProperties n’existe déjà pour le conteneur, une exception est levée. :mot clé Callable response_hook : callable appelé avec les métadonnées de réponse. :returns : débit pour le conteneur. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError : il n’existe aucune propriété de débit pour le conteneur ou les propriétés de débit n’ont pas pu être récupérées. |
replace_item |
Remplace l’élément spécifié s’il existe dans le conteneur. Si l’élément n’existe pas déjà dans le conteneur, une exception est levée. |
replace_throughput |
Remplacez le débit du conteneur. Si débitProperties n’existe déjà pour le conteneur, une exception est levée. |
upsert_item |
Insérez ou mettez à jour l’élément spécifié. Si l’élément existe déjà dans le conteneur, il est remplacé. Si l’élément n’existe pas encore, il est inséré. |
create_item
Créez un élément dans le conteneur.
Pour mettre à jour ou remplacer un élément existant, utilisez la upsert_item méthode .
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]
Paramètres
- body
Objet de type dict qui représente l’élément à créer.
- pre_trigger_include
id de déclencheur à utiliser comme déclencheur de pré-opération.
- post_trigger_include
id de déclencheur à utiliser comme déclencheur de post-opération.
- indexing_directive
Indique si le document doit être omis de l’indexation.
- enable_automatic_id_generation
- bool
Activez la génération automatique d’ID si aucun ID n’est présent.
- session_token
- str
Jeton à utiliser avec la cohérence de session.
- etag
- str
Spécifiez une valeur ETag ou le caractère générique *. Permet de case activée si la ressource a changé et d’agir selon la condition spécifiée par le paramètre match_condition.
- match_condition
- MatchConditions
Condition de correspondance à utiliser sur l’etag.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
Dict représentant le nouvel élément.
Type de retour
Exceptions
L’élément avec l’ID donné existe déjà.
delete_all_items_by_partition_key
La fonctionnalité de suppression par clé de partition est une opération asynchrone en arrière-plan qui vous permet de supprimer tous les documents qui ont la même valeur de clé de partition logique, en utilisant le SDK Cosmos. L’opération de suppression par clé de partition est limitée pour consommer au maximum 10 % du total des RU/s disponibles chaque seconde sur le conteneur. Cela permet de limiter les ressources utilisées par cette tâche en arrière-plan.
delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None
Paramètres
- pre_trigger_include
- str
id de déclencheur à utiliser comme déclencheur de pré-opération.
- post_trigger_include
- str
id de déclencheur à utiliser comme déclencheur de post-opération.
- session_token
- str
Jeton à utiliser avec la cohérence de session.
- etag
- str
Spécifiez une valeur ETag ou le caractère générique *. Permet de case activée si la ressource a changé et d’agir selon la condition spécifiée par le paramètre match_condition.
- match_condition
- MatchConditions
Condition de correspondance à utiliser sur l’etag.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Type de retour
Exceptions
L’élément avec l’ID donné existe déjà.
delete_conflict
Supprimez un conflit spécifié du conteneur.
Si le conflit n’existe pas déjà dans le conteneur, une exception est levée.
delete_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> None
Paramètres
- conflict
ID (nom) ou dict représentant le conflit à supprimer.
- partition_key
Clé de partition pour le conflit à supprimer.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Type de retour
Exceptions
Le conflit n’a pas été supprimé avec succès.
Le conflit n’existe pas dans le conteneur.
delete_item
Supprimez l’élément spécifié du conteneur.
Si l’élément n’existe pas déjà dans le conteneur, une exception est levée.
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
Paramètres
- item
ID (nom) ou dict représentant l’élément à supprimer.
- partition_key
Spécifie la valeur de clé de partition pour l’élément.
- pre_trigger_include
id de déclencheur à utiliser comme déclencheur de pré-opération.
- post_trigger_include
id de déclencheur à utiliser comme déclencheur de post-opération.
- session_token
- str
Jeton à utiliser avec la cohérence de session.
- etag
- str
Spécifiez une valeur ETag ou le caractère générique *. Permet de case activée si la ressource a changé et d’agir selon la condition spécifiée par le paramètre match_condition.
- match_condition
- MatchConditions
Condition de correspondance à utiliser sur l’etag.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Type de retour
Exceptions
L’élément n’a pas été supprimé avec succès.
L’élément n’existe pas dans le conteneur.
get_conflict
Obtenez le conflit identifié par le conflit.
get_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> Dict[str, Any]
Paramètres
- conflict
ID (nom) ou dict représentant le conflit à récupérer.
- partition_key
Clé de partition pour le conflit à récupérer.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
Dict représentant le conflit récupéré.
Type de retour
Exceptions
Impossible de récupérer le conflit donné.
get_throughput
Obtenez l’objet ThroughputProperties pour ce conteneur.
Si aucune propriété de débit n’existe déjà pour le conteneur, une exception est levée. :mot clé callable response_hook : callable appelé avec les métadonnées de réponse. :returns: Débit pour le conteneur. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError : aucune propriété de débit n’existe pour le conteneur ou
les propriétés de débit n’ont pas pu être récupérées.
get_throughput(**kwargs: Any) -> ThroughputProperties
Type de retour
Exceptions
L’élément avec l’ID donné existe déjà.
list_conflicts
Répertoriez tous les conflits dans le conteneur.
list_conflicts(max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Paramètres
- max_item_count
Nombre maximal d’éléments à retourner dans l’opération d’énumération.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
Itérable de conflits (dicts).
Type de retour
Exceptions
L’élément avec l’ID donné existe déjà.
patch_item
Méthode provisoire Corrige l’élément spécifié avec les opérations fournies s’il existe dans le conteneur.
Si l’élément n’existe pas déjà dans le conteneur, une exception est levée.
patch_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, patch_operations: List[Dict[str, Any]], **kwargs: Any) -> Dict[str, Any]
Paramètres
Liste des opérations correctives à appliquer à l’élément.
- filter_predicate
- str
filtre conditionnel à appliquer aux opérations de correctif.
- pre_trigger_include
- str
id de déclencheur à utiliser comme déclencheur de pré-opération.
- post_trigger_include
- str
id de déclencheur à utiliser comme déclencheur de post-opération.
- session_token
- str
Jeton à utiliser avec la cohérence de session.
- etag
- str
Spécifiez une valeur ETag ou le caractère générique *. Permet de case activée si la ressource a changé et d’agir selon la condition spécifiée par le paramètre match_condition.
- match_condition
- MatchConditions
Condition de correspondance à utiliser sur l’etag.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
Dict représentant l’élément après le passage des opérations correctives.
Type de retour
Exceptions
Les opérations correctives ont échoué ou l’élément avec l’ID donné n’existe pas.
query_conflicts
Retourne tous les conflits correspondant à une requête donnée.
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]]
Paramètres
- query
Requête SQL Azure Cosmos DB à exécuter.
- parameters
Tableau facultatif de paramètres de la requête. Ignoré si aucune requête n’est fournie.
- enable_cross_partition_query
Autorise l’envoi de plusieurs requêtes pour exécuter la requête dans le service Azure Cosmos DB. Plusieurs requêtes sont nécessaires si la requête n’est pas limitée à une valeur de clé de partition unique.
- partition_key
Spécifie la valeur de clé de partition pour l’élément.
- max_item_count
Nombre maximal d’éléments à retourner dans l’opération d’énumération.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
Itérable de conflits (dicts).
Type de retour
Exceptions
L’élément avec l’ID donné existe déjà.
query_items
Retourne tous les résultats correspondant à la requête donnée.
Vous pouvez utiliser n’importe quelle valeur pour le nom du conteneur dans la clause FROM, mais souvent le nom du conteneur est utilisé. Dans les exemples ci-dessous, le nom du conteneur est « products » et est alias « p » pour faciliter le référencement dans la clause WHERE.
jeton de continuation de réponse dans la réponse de requête. Les valeurs valides sont des entiers positifs. Une valeur de 0 équivaut à ne pas passer une valeur (par défaut, aucune limite). :mot clé int max_integrated_cache_staleness_in_ms : l’obsolescence maximale du cache pour le cache intégré dans
Millisecondes. Pour les comptes configurés pour utiliser le cache intégré, à l’aide de la cohérence session ou éventuelle, les réponses ne sont pas plus staler que cette valeur.
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]]
Retours
Itérable d’éléments (dicts).
Type de retour
Exceptions
L’élément avec l’ID donné existe déjà.
Exemples
Obtenez tous les produits qui n’ont pas été abandonnés :
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))
Requête paramétrée pour obtenir tous les produits qui ont été abandonnés :
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
Obtenez une liste triée des éléments qui ont été modifiés, dans l’ordre dans lequel ils ont été modifiés.
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]]
Paramètres
- partition_key_range_id
Les demandes ChangeFeed peuvent être exécutées sur des plages de clés de partition spécifiques. Il est utilisé pour traiter le flux de modification en parallèle sur plusieurs consommateurs.
- partition_key
clé de partition sur laquelle les requêtes ChangeFeed sont cibles.
- is_start_from_beginning
Déterminez si le flux de modification doit commencer à partir du début (true) ou du courant (false). Par défaut, il commence à partir de current (false).
- continuation
e_tag valeur à utiliser comme continuation pour lire le flux de modification.
- max_item_count
Nombre maximal d’éléments à retourner dans l’opération d’énumération.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
Itérable d’éléments (dicts).
Type de retour
Exceptions
L’élément avec l’ID donné existe déjà.
read
Lisez les propriétés du conteneur.
read(*, populate_partition_key_range_statistics: bool | None = None, populate_quota_info: bool | None = None, **kwargs)
Paramètres
- populate_partition_key_range_statistics
- bool
Activez le retour des statistiques de plage de clés de partition dans les en-têtes de réponse.
- populate_quota_info
- bool
Activez le retour des informations de quota de stockage de collecte dans les en-têtes de réponse.
- session_token
- str
Jeton à utiliser avec la cohérence de session.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
Dict représentant le conteneur récupéré.
Type de retour
Exceptions
Déclenché si le conteneur n’a pas pu être récupéré. Cela inclut si le conteneur n’existe pas.
read_all_items
Répertoriez tous les éléments du conteneur.
read_all_items(max_item_count: int | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Paramètres
- max_item_count
Nombre maximal d’éléments à retourner dans l’opération d’énumération.
- session_token
- str
Jeton à utiliser avec la cohérence de session.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
- max_integrated_cache_staleness_in_ms
- int
L’obsolescence maximale du cache pour le cache intégré en millisecondes. Pour les comptes configurés pour utiliser le cache intégré, à l’aide de la cohérence session ou éventuelle, les réponses ne sont pas plus staler que cette valeur.
Retours
Itérable d’éléments (dicts).
Type de retour
Exceptions
L’élément avec l’ID donné existe déjà.
read_item
Obtenez l’élément identifié par élément.
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]
Paramètres
- item
ID (nom) ou dict représentant l’élément à récupérer.
- partition_key
Clé de partition pour l’élément à récupérer.
- post_trigger_include
id de déclencheur à utiliser comme déclencheur de post-opération.
- session_token
- str
Jeton à utiliser avec la cohérence de session.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
- max_integrated_cache_staleness_in_ms
- int
L’obsolescence maximale du cache pour le cache intégré en millisecondes. Pour les comptes configurés pour utiliser le cache intégré, à l’aide de la cohérence session ou éventuelle, les réponses ne sont pas plus staler que cette valeur.
Retours
Dict représentant l’élément à récupérer.
Type de retour
Exceptions
L’élément donné n’a pas pu être récupéré.
Exemples
Obtenez un élément de la base de données et mettez à jour l’une de ses propriétés :
item = container.read_item("item2", partition_key="Widget")
item["productModel"] = "DISCONTINUED"
updated_item = container.upsert_item(item)
read_offer
Obtenez l’objet DébitProperties pour ce conteneur. Si débitProperties n’existe déjà pour le conteneur, une exception est levée. :mot clé Callable response_hook : callable appelé avec les métadonnées de réponse. :returns : débit pour le conteneur. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError : il n’existe aucune propriété de débit pour le conteneur ou
les propriétés de débit n’ont pas pu être récupérées.
read_offer(**kwargs: Any) -> Offer
Type de retour
Exceptions
L’élément avec l’ID donné existe déjà.
replace_item
Remplace l’élément spécifié s’il existe dans le conteneur.
Si l’élément n’existe pas déjà dans le conteneur, une exception est levée.
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]
Paramètres
- item
ID (nom) ou dict représentant l’élément à remplacer.
- body
Objet de type dict représentant l’élément à remplacer.
- pre_trigger_include
id de déclencheur à utiliser comme déclencheur de pré-opération.
- post_trigger_include
id de déclencheur à utiliser comme déclencheur de post-opération.
- session_token
- str
Jeton à utiliser avec la cohérence de session.
- etag
- str
Spécifiez une valeur ETag ou le caractère générique *. Permet de case activée si la ressource a changé et d’agir en fonction de la condition spécifiée par le paramètre match_condition.
- match_condition
- MatchConditions
Condition de correspondance à utiliser sur l’etag.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
dict représentant l’élément après l’opération de remplacement.
Type de retour
Exceptions
Le remplacement a échoué ou l’élément avec l’ID donné n’existe pas.
replace_throughput
Remplacez le débit du conteneur.
Si débitProperties n’existe déjà pour le conteneur, une exception est levée.
replace_throughput(throughput: int | ThroughputProperties | None, **kwargs: Any) -> ThroughputProperties
Paramètres
- throughput
Débit à définir (entier).
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
DébitProperties pour le conteneur, mis à jour avec un nouveau débit.
Type de retour
Exceptions
Il n’existe aucune propriété de débit pour le conteneur ou les propriétés de débit n’ont pas pu être mises à jour.
upsert_item
Insérez ou mettez à jour l’élément spécifié.
Si l’élément existe déjà dans le conteneur, il est remplacé. Si l’élément n’existe pas encore, il est inséré.
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]
Paramètres
- body
Objet de type dict représentant l’élément à mettre à jour ou à insérer.
- pre_trigger_include
id de déclencheur à utiliser comme déclencheur de pré-opération.
- post_trigger_include
id de déclencheur à utiliser comme déclencheur de post-opération.
- session_token
- str
Jeton à utiliser avec la cohérence de session.
- etag
- str
Spécifiez une valeur ETag ou le caractère générique *. Permet de case activée si la ressource a changé et d’agir en fonction de la condition spécifiée par le paramètre match_condition.
- match_condition
- MatchConditions
Condition de correspondance à utiliser sur l’etag.
- response_hook
- Callable
Appelable avec les métadonnées de réponse.
Retours
dict représentant l’élément upserted.
Type de retour
Exceptions
L’élément donné n’a pas pu être upserted.
Attributs
is_system_key
scripts
Azure SDK for Python