Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los contenedores de Azure Cosmos DB almacenan conjuntos de elementos. Para poder crear, consultar o administrar elementos, primero debe crear un contenedor.
Asignar un nombre a un contenedor
En Azure Cosmos DB, un contenedor es análogo a una tabla de una base de datos relacional. Al crear un contenedor, el nombre del contenedor forma un segmento del URI que se usa para acceder al recurso de contenedor y a los elementos secundarios.
Una vez creado, el URI de un contenedor tiene este formato:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
Creación de un contenedor
Para crear un contenedor, llame a uno de los métodos siguientes:
Creación de un contenedor
En el ejemplo siguiente se crea un contenedor con el DatabaseProxy.create_container método . Este método produce una excepción si el contenedor con el mismo nombre ya existe.
try:
partition_key_path = PartitionKey(path="/categoryId")
container = database.create_container(
id=CONTAINER_ID,
partition_key=partition_key_path,
offer_throughput=400,
)
print(f"Container created: {container.id}")
except CosmosResourceExistsError:
print("Container already exists.")
Cree un contenedor si aún no existe
En el ejemplo siguiente se crea un contenedor con el DatabaseProxy.create_container_if_not_exists método . En comparación con el método create anterior, este método no produce una excepción si la base de datos ya existe. Este método es útil para evitar errores si ejecuta el mismo código varias veces.
try:
partition_key_path = PartitionKey(path="/categoryId")
container = database.create_container_if_not_exists(
id=CONTAINER_ID,
partition_key=partition_key_path,
offer_throughput=400,
)
print(f"Container created or returned: {container.id}")
except CosmosHttpResponseError:
print("Request to the Azure Cosmos database service failed.")
Creación de un contenedor de forma asincrónica
También puede crear un contenedor de forma asincrónica mediante métodos y objetos similares en el espacio de nombres azure.cosmos.aio . Por ejemplo, use el método DatabaseProxy.create_container o el método CosmosClient.create_container_if_not_exists .
Trabajar de forma asincrónica es útil cuando desea realizar varias operaciones en paralelo. Para obtener más información, consulte Uso del cliente asincrónico.
Análisis de la respuesta
En los ejemplos anteriores, la respuesta de las solicitudes es , ContainerProxyque es una interfaz para interactuar con un contenedor de base de datos. Desde el proxy, puede acceder a los métodos para realizar operaciones en el contenedor.
En el ejemplo siguiente se muestra el método create_container_if_not_exists que devuelve un objeto contenedor .
partition_key_path = PartitionKey(path="/categoryId")
container = database.create_container_if_not_exists(
id=CONTAINER_ID,
partition_key=partition_key_path,
offer_throughput=400,
)
for doc in container.read_all_items(max_item_count=10):
print(f'Doc id: {doc["id"]}')