Pregunta El recurso propietario Azure DocumentDB no existe


Tengo el mismo error icrosoft.Azure.Documents.DocumentClientException: Mensaje: {"Errors": ["El recurso del propietario no existe"]}, esta es mi situación. Cuando implementé mi aplicación web en Azure e intento obtener algún documento de docDb arroja este error. El docdb existe en azul y contiene el documento que estoy buscando.

Lo extraño es que desde mi máquina local (ejecutándose desde VS) esto funciona bien. Estoy usando la misma configuración en Azure y local. Alguien tiene una idea sobre esto.

Gracias


5
2018-04-21 20:17


origen


Respuestas:


El recurso propietario no existe

ocurre cuando ha dado un nombre de base de datos equivocado.

Por ejemplo, mientras lee un documento con client.readDocument(..)donde esta el cliente DocumentClient ejemplo, el nombre de la base de datos dado en docLink Está Mal.


4
2017-11-24 08:40



Yo tuve el mismo problema. Descubrí que Visual Studio 2017 se está publicando con la configuración de mi versión en lugar de la configuración de prueba que he seleccionado. En mi caso, la configuración de la versión tenía un nombre de base de datos CosmosDB diferente que no existe, que resultó en el error "el recurso del propietario no existe" cuando publiqué en mi servidor de prueba de Azure. Súper frustrante y un terrible mensaje de error.


2
2018-03-02 20:42



Este error parece estar relacionado con la lectura de una base de datos / colección / documento que no existe. Obtuve el mismo error exacto para una base de datos que sí existía pero ingresé el nombre en minúsculas, este error parece ocurrir independientemente de su clave de partición.

La mejor solución que podría encontrar por ahora es envolver el

var response = await client.ReadDocumentAsync(UriFactory.CreateDocumentUri(database, collection, "documentid"));

llamar en una captura de prueba, no muy elegante y preferiría que la respuesta vuelva con más detalles, pero esto es Microsoft para ti.

Algo como el siguiente debería hacer el truco.

                Model myDoc = null;

                try
                {
                    var response = await client.ReadDocumentAsync(UriFactory.CreateDocumentUri(database, collection, document));
                    myDoc = (Model )(dynamic)response.Resource;
                }
                catch { }


                if (myDoc != null)
                {
                   //do your work here
                }

Eso es para tener una mejor idea del error y luego crear el recurso faltante para que no vuelva a obtener el error.

Algunos recursos que tuve que pasar antes de llegar a esta conclusión: https://github.com/DamianStanger/DocumentDbDemo

No se ha encontrado el documento de lectura de Azure DocumentDB.


1
2017-09-04 00:26