Eventos
Crie aplicativos e agentes de IA
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
APLICA-SE A: NoSQL
O código de status HTTP 404 representa que o recurso não existe mais.
Há muitos cenários válidos em que um aplicativo espera um código 404 e lida corretamente com o cenário.
Aqui estão os possíveis motivos para um código de status 404 ser retornado se o item deveria existir ou existir.
Há várias instâncias de cliente do SDK e a leitura ocorreu antes da gravação.
Usando o PowerShell ou CLI do Azure e receber uma mensagem de erro não encontrado.
A taxa de transferência pode ser provisionada no nível do banco de dados, no nível do contêiner ou em ambos. Se você receber um erro não encontrado, tente ler a taxa de transferência do recurso de banco de dados pai ou o recurso de contêiner filho.
A chave de partição e a combinação de IDs não são válidas.
Corrija a lógica de aplicativo que está causando a combinação incorreta.
Um item é inserido no Azure Cosmos DB com um caractere inválido na ID do item.
Altere a ID para um valor diferente que não contenha os caracteres especiais. Se a alteração da ID não for uma opção, você poderá codificar a ID em Base64 para fazer o escape dos caracteres especiais. A Base64 ainda pode produzir um nome com um caractere inválido '/' que precisa ser substituído.
Os itens já inseridos no contêiner para a ID podem ser substituídos usando valores RID em vez de referências baseadas em nome.
// Get a container reference that uses RID values.
ContainerProperties containerProperties = await this.Container.ReadContainerAsync();
string[] selfLinkSegments = containerProperties.SelfLink.Split('/');
string databaseRid = selfLinkSegments[1];
string containerRid = selfLinkSegments[3];
Container containerByRid = this.cosmosClient.GetContainer(databaseRid, containerRid);
// Invalid characters are listed here.
// https://learn.microsoft.com/dotnet/api/microsoft.azure.documents.resource.id#remarks
FeedIterator<JObject> invalidItemsIterator = this.Container.GetItemQueryIterator<JObject>(
@"select * from t where CONTAINS(t.id, ""/"") or CONTAINS(t.id, ""#"") or CONTAINS(t.id, ""?"") or CONTAINS(t.id, ""\\"") ");
while (invalidItemsIterator.HasMoreResults)
{
foreach (JObject itemWithInvalidId in await invalidItemsIterator.ReadNextAsync())
{
// Choose a new ID that doesn't contain special characters.
// If that isn't possible, then Base64 encode the ID to escape the special characters.
byte[] plainTextBytes = Encoding.UTF8.GetBytes(itemWithInvalidId["id"].ToString());
itemWithInvalidId["id"] = Convert.ToBase64String(plainTextBytes).Replace('/', '!');
// Update the item with the new ID value by using the RID-based container reference.
JObject item = await containerByRid.ReplaceItemAsync<JObject>(
item: itemWithInvalidId,
ID: itemWithInvalidId["_rid"].ToString(),
partitionKey: new Cosmos.PartitionKey(itemWithInvalidId["status"].ToString()));
// Validating the new ID can be read by using the original name-based container reference.
await this.Container.ReadItemAsync<ToDoActivity>(
item["id"].ToString(),
new Cosmos.PartitionKey(item["status"].ToString())); ;
}
}
O item tinha a propriedade TTL (vida real) definida. O item foi limpo porque a propriedade TTL expirou.
Altere a propriedade TTL para impedir que o item seja limpo.
A indexação lenta não foi capturada.
Aguarde até que a indexação seja capturada ou altere a política de indexação.
O banco de dados ou contêiner em que o item existe foi excluído.
Os nomes de contêiner/coleção diferenciam maiúsculas de minúsculas no Azure Cosmos DB.
Certifique-se de usar o nome exato ao se conectar ao Azure Cosmos DB.
Eventos
Crie aplicativos e agentes de IA
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraTreinamento
Módulo
Monitorar respostas e eventos no Azure Cosmos DB for NoSQL - Training
Aprenderemos a usar um conjunto avançado de códigos de resposta REST retornados pela solicitação do Azure Cosmos DB para ajudá-lo a analisar possíveis problemas.
Certificação
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
Escreva consultas eficientes, crie políticas de indexação, gerencie e provisione recursos na API e no SDK do SQL com o Microsoft Azure Cosmos DB.
Documentação
Solucionar problemas de exceções de solicitação inadequada do Azure Cosmos DB
Saiba como diagnosticar e corrigir exceções de solicitação inválidas, como conteúdo de entrada ou chave de partição inválida, chave de partição sem correspondência no Azure Cosmos DB.
Usando o Data Explorer para gerenciar seus dados - Azure Cosmos DB
Saiba mais sobre o Azure Cosmos DB Data Explorer, uma interface autônoma baseada na Web que permite exibir e gerenciar os dados armazenados no Azure Cosmos DB.
Excluir itens por valor de chave de partição usando o SDK do Azure Cosmos DB (versão prévia)
Saiba como excluir itens por valor de chave de partição usando os SDKs do Azure Cosmos DB