v3 / update_cosmos_index.py
AIdeaText's picture
Upload 9 files
254eff8 verified
raw
history blame
1.56 kB
from azure.cosmos import CosmosClient, PartitionKey, exceptions
import os
def update_cosmos_indexing():
endpoint = os.environ.get("COSMOS_ENDPOINT")
key = os.environ.get("COSMOS_KEY")
database_name = "user_database" # Cambiado de "sqllink" a "user_database"
container_name = "users"
if not all([endpoint, key, database_name, container_name]):
raise ValueError("Please ensure all required parameters are set.")
client = CosmosClient(endpoint, key)
database = client.get_database_client(database_name)
container = database.get_container_client(container_name)
print(f"Updating indexing policy for container {container_name}...")
indexing_policy = {
"indexingMode": "consistent",
"automatic": True,
"includedPaths": [
{"path": "/*"}
],
"excludedPaths": [
{"path": "/_etag/?"}
]
}
try:
container_def = container.read()
container_def['indexingPolicy'] = indexing_policy
partition_key_path = container_def['partitionKey']['paths'][0]
database.replace_container(
container_def,
partition_key=PartitionKey(path=partition_key_path)
)
print("Indexing policy updated successfully")
except exceptions.CosmosResourceNotFoundError as e:
print(f"Error: Container not found. {str(e)}")
except Exception as e:
print(f"An error occurred: {str(e)}")
if __name__ == "__main__":
update_cosmos_indexing()