Spaces:
Running
Running
| 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() |