Compartilhar via


Substituir um anexo

Há duas maneiras de substituir um recurso de anexo: coloque o conteúdo da mídia no Azure Cosmos DB, como no AtomPub Protocol, ou coloque apenas os metadados de anexo na mídia armazenada externamente.

A primeira é COLOCAR a mídia bruta no conteúdo do corpo para armazená-la no armazenamento de anexos fornecido em sua conta do Cosmos DB. Para substituir esse tipo de anexo, os desenvolvedores incluem o anexo bruto (vídeo, áudio, arquivo, blob etc.) como o corpo do PUT. Dois cabeçalhos devem ser definidos: Content-Type e Slug. O cabeçalho Content-Type é definido como o tipo MIME do anexo, enquanto o cabeçalho Slug é definido como o nome do anexo.

A segunda maneira de substituir um recurso de anexo é COLOCAR as propriedades do recurso de anexo, observando o tipo e o link de mídia do anexo. Ao contrário do primeiro tipo de recurso de anexo, os cabeçalhos Content-Type e Slug não devem ser definidos, pois a mídia bruta não faz parte da carga de solicitação.

Solicitação

Método URI da solicitação Descrição
PUT https:// {databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments/{att-name} Observe que {databaseaccount} é o nome da conta do Cosmos DB criada em sua assinatura. O valor {db-id} é o nome/id gerado pelo usuário do banco de dados, não a ID gerada pelo sistema (rid). O valor {coll-id} é o nome da coleção na qual o documento está contido. O valor {doc-name} é o nome do documento associado ao anexo. O valor {att-name} é o nome do anexo a ser substituído.

Cabeçalhos

Confira Cabeçalhos comuns de solicitação REST do Azure Cosmos DB para cabeçalhos usados por todas as solicitações do Cosmos DB.

parâmetro Obrigatório Tipo Descrição
Slug Opcional String O nome do anexo. Ela só é necessária quando a mídia bruta é enviada para o armazenamento de anexos do Cosmos DB. Para obter mais detalhes, consulte AtomPub Protocol.

Corpo

Propriedade Obrigatório Tipo Descrição
id Opcional String Não precisa ser definida ao anexar a mídia bruta. É uma propriedade configurável pelo usuário. É o nome exclusivo que identifica o anexo, ou seja, nenhum anexo compartilha a mesma ID. A ID não deve exceder 255 caracteres.
contentType Opcional String Não precisa ser definida ao anexar a mídia bruta. É uma propriedade configurável pelo usuário. Ela observa o tipo de conteúdo do anexo. Ao enviar os bits de anexo como corpo, o Cosmos DB define o contentType como o tipo definido no cabeçalho Content-Type .
Mídia Opcional String Não precisa ser definida ao anexar a mídia bruta. É o link de URL ou o caminho do arquivo em que o anexo reside.
{  
    "id": "image_id_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.com"  
}  
  

Resposta

Cabeçalhos

Consulte Cabeçalhos comuns de resposta REST do Azure Cosmos DB para obter cabeçalhos retornados por todas as respostas do Cosmos DB.

Códigos de status

A tabela a seguir lista os códigos de status comuns retornados por esta operação. Para obter uma lista completa de códigos de status, consulte Códigos de status HTTP.

Código de status HTTP Descrição
200 Ok A operação foi bem-sucedida.
400 Solicitação Inválida O corpo JSON é inválido. Verifique por colchetes ou aspas ausentes.
404 Não Encontrado O anexo a ser substituído não é mais um recurso, ou seja, o anexo foi excluído.
409 Conflito A ID fornecida para o anexo foi tomada por um anexo existente.
413 Entidade muito grande O tamanho do documento na solicitação excedeu o tamanho de documento permitido em uma solicitação.

Corpo

Propriedade Descrição
_Livrar É uma propriedade gerada pelo sistema. A ID do recurso (_rid) é um identificador exclusivo que também é hierárquico de acordo com a pilha de recursos no modelo de recurso. É usado internamente para colocação e navegação do recurso anexo.
_Ts É uma propriedade gerada pelo sistema. Especifica o último carimbo de data/hora atualizado do recurso. O valor é um carimbo de data/hora.
_Auto É uma propriedade gerada pelo sistema. É o URI endereçável exclusivo do recurso.
_Etag É uma propriedade gerada pelo sistema que especifica a etag de recurso necessária para o controle de simultaneidade otimista.
{  
    "id": "image_id_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.com",  
    "_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_ts": 1449606442,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_etag": "\"0600abc2-0000-0000-0000-56673d2a0000\""  
}  
  

Exemplo

PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d/attachments/image_id HTTP/1.1  
x-ms-session-token: 19  
x-ms-date: Tue, 08 Dec 2015 20:27:23 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dKQWBkCCXyJ66fwBe9%2b%2b7oN7CSlIkMMyFEgimGDPawCs%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-08-06  
Accept: application/json  
Host: contosomarketing.documents.azure.com  
Cookie: x-ms-session-token=19  
Content-Length: 281  
Expect: 100-continue  
  
{  
    "id": "image_id_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.com"  
}  
  
HTTP/1.1 200 Ok  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Content-Type: application/json  
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d/attachments/image_id  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT  
etag: "0600abc2-0000-0000-0000-56673d2a0000"  
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;  
x-ms-resource-usage: documentSize=0;documentsSize=289;collectionSize=367;  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d  
x-ms-content-path: Sl8fALN4sw4CAAAAAAAAAA==  
x-ms-quorum-acked-lsn: 19  
x-ms-session-token: 20  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 9.9  
x-ms-serviceversion: version=1.5.57.3  
x-ms-activity-id: 8b8be54a-3c7e-4484-9f65-3a3d778347cc  
Set-Cookie: x-ms-session-token=20; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1  
x-ms-gatewayversion: version=1.5.57.3  
Date: Tue, 08 Dec 2015 20:27:24 GMT  
Content-Length: 299  
  
{  
    "id": "image_id_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.com",  
    "_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_ts": 1449606442,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",  
    "_etag": "\"0600abc2-0000-0000-0000-56673d2a0000\""  
}  
  

Consulte Também