Partager via


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 <xref:azure.cosmos.aio.database.DatabaseProxy.get_container_client> méthode pour obtenir un conteneur existant ou la <xref:azure.cosmos.aio.database.DatabaseProxy.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.object
ContainerProxy

Constructeur

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

Paramètres

client_connection
database_link
id
properties
valeur par défaut: None

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 encore 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 un conflit.

get_throughput

Obtenez l’objet DébitProperties pour ce conteneur.

Si débitProperties n’existe déjà pour le conteneur, une exception est levée.

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.

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 .

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

Paramètres

body
dict[str, str]
Obligatoire

Objet de type dict représentant l’élément à créer.

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.

indexing_directive
Union[int, IndexingDirective]

Énumère les valeurs possibles pour indiquer si le document doit être omis de l’indexation. Les valeurs possibles incluent : 0 pour Default, 1 pour Exclude ou 2 pour Include.

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.

initial_headers
dict[str, str]

En-têtes initiaux à envoyer dans le cadre de la demande.

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[[Dict[str, str], Dict[str, Any]], None]

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.

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

Paramètres

partition_key
Any
Obligatoire

Clé de partition pour les éléments à supprimer.

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 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.

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 encore dans le conteneur, une exception est levée.

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

Paramètres

conflict
Union[str, Dict[str, Any]]
Obligatoire

ID (nom) ou dict représentant le conflit à récupérer.

partition_key
Union[str, int, float, bool]
Obligatoire

Clé de partition pour le conflit à récupérer.

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

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.

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

Paramètres

item
Union[str, Dict[str, Any]]
Obligatoire

ID (nom) ou dict représentant l’élément à supprimer.

partition_key
Union[str, int, float, bool]
Obligatoire

Spécifie la valeur de la clé de partition pour l’élément.

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.

initial_headers
dict[str, str]

En-têtes initiaux à envoyer dans le cadre de la demande.

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[[Dict[str, str], None], None]

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 un conflit.

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

Paramètres

conflict
Union[str, Dict[str, Any]]
Obligatoire

ID (nom) ou dict représentant le conflit à récupérer.

partition_key
Union[str, int, float, bool]
Obligatoire

Clé de partition pour le conflit à récupérer.

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

Appelable avec les métadonnées de réponse.

Retours

dict représentant le conflit récupéré.

Type de retour

Exceptions

Le conflit donné n’a pas pu être récupéré.

get_throughput

Obtenez l’objet DébitProperties pour ce conteneur.

Si débitProperties n’existe déjà pour le conteneur, une exception est levée.

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

Paramètres

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

Appelable avec les métadonnées de réponse.

Retours

DébitProperties pour le conteneur.

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 récupérées.

list_conflicts

Répertoriez tous les conflits dans le conteneur.

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

Paramètres

max_item_count
int

Nombre maximal d’éléments à retourner dans l’opération d’énumération.

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

Appelable avec les métadonnées de réponse.

Retours

AsyncItemPaged de conflits (dicts).

Type de retour

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

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.

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]

Paramètres

item
Union[str, Dict[str, Any]]
Obligatoire

ID (nom) ou dict représentant l’élément à corriger.

partition_key
Union[str, int, float, bool]
Obligatoire

Clé de partition de l’objet à corriger.

patch_operations
List[Dict[str, Any]]
Obligatoire

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 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’exécution des opérations de correctif.

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 | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Paramètres

query
Union[str, Dict[str, Any]]
Obligatoire

Requête SQL Azure Cosmos DB à exécuter.

parameters
List[Dict[str, Any]]

Tableau facultatif de paramètres de la requête. Ignoré si aucune requête n’est fournie.

partition_key
Union[str, int, float, bool]

Spécifie la valeur de la clé de partition pour l’élément. Si aucun n’est transmis, une requête entre partitions est exécutée.

max_item_count
int

Nombre maximal d’éléments à retourner dans l’opération d’énumération.

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

Appelable avec les métadonnées de réponse.

Retours

AsyncItemPaged de conflits (dicts).

Type de retour

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

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 | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Retours

AsyncItemPaged d’éléments (dicts).

Type de retour

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

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

           async for item in container.query_items(
                   query='SELECT * FROM products p WHERE p.productModel <> "DISCONTINUED"'
           ):
               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")],
           )
           async 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(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Paramètres

is_start_from_beginning
bool

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).

partition_key_range_id
str

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.

continuation
str

e_tag valeur à utiliser comme continuation pour lire le flux de modification.

max_item_count
int

Nombre maximal d’éléments à retourner dans l’opération d’énumération.

partition_key
Union[str, int, float, bool]

clé de partition à laquelle les requêtes ChangeFeed sont ciblées.

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

Appelable avec les métadonnées de réponse.

Retours

AsyncItemPaged d’éléments (dicts).

Type de retour

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

Exceptions

L’élément avec l’ID donné existe déjà.

read

Lisez les propriétés du conteneur.

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

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.

initial_headers
dict[str, str]

En-têtes initiaux à envoyer dans le cadre de la demande.

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

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(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Paramètres

max_item_count
int

Nombre maximal d’éléments à retourner dans l’opération d’énumération.

session_token
str

Jeton à utiliser avec la cohérence de session.

initial_headers
dict[str, str]

En-têtes initiaux à envoyer dans le cadre de la demande.

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

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

AsyncItemPaged d’éléments (dicts).

Type de retour

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

Exceptions

L’élément avec l’ID donné existe déjà.

read_item

Obtenez l’élément identifié par élément.

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

Paramètres

item
Union[str, Dict[str, Any]]
Obligatoire

ID (nom) ou dict représentant l’élément à récupérer.

partition_key
Union[str, int, float, bool]
Obligatoire

Clé de partition pour l’élément à récupérer.

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.

initial_headers
dict[str, str]

En-têtes initiaux à envoyer dans le cadre de la demande.

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

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 = await container.read_item("item2", partition_key="Widget")
           item["productModel"] = "DISCONTINUED"
           updated_item = await container.upsert_item(item)

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.

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

Paramètres

item
Union[str, Dict[str, Any]]
Obligatoire

ID (nom) ou dict représentant l’élément à remplacer.

body
Dict[str, Any]
Obligatoire

Objet de type dict représentant l’élément à remplacer.

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.

initial_headers
dict[str, str]

En-têtes initiaux à envoyer dans le cadre de la demande.

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[[Dict[str, str], Dict[str, Any]], None]

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.

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

Paramètres

throughput
Union[int, ThroughputProperties]
Obligatoire

Débit à définir.

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

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é.

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

Paramètres

body
Dict[str, Any]
Obligatoire

Objet de type dict représentant l’élément à mettre à jour ou à insérer.

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.

initial_headers
dict[str, str]

En-têtes initiaux à envoyer dans le cadre de la demande.

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[[Dict[str, str], Dict[str, Any]], None]

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