Creare una nuova autorizzazione nel database di Azure Cosmos

L'operazione Create Permission crea una nuova autorizzazione in un database.

Richiesta

Metodo URI richiesta Descrizione
POST https://{databaseaccount}.documents.azure.com/dbs/{db-id}/users/{user-name}/permissions Si noti che {databaseaccount} è il nome dell'account Azure Cosmos DB creato nella sottoscrizione. Il valore {db-id} è il nome/ID generato dall'utente del database, non l'ID generato dal sistema (rid). Il valore {user-name} è il nome dell'utente proprietario dell'autorizzazione.

Intestazioni

Vedere Intestazioni di richiesta REST di Azure Cosmos DB comuni per le intestazioni usate da tutte le richieste di Azure Cosmos DB.

Intestazione Obbligatoria Tipo Descrizione
x-ms-documentdb-expiry-seconds Facoltativo Intero Periodo di validità del token risorsa restituito dall'operazione. Per impostazione predefinita, un token risorsa è valido per un'ora. Per sostituire l'impostazione predefinita, impostare questa intestazione con il periodo di validità desiderato espresso in secondi. Il valore massimo per l'esecuzione dell'override è 18000, ossia cinque ore.

Corpo

Proprietà Obbligatoria Tipo Descrizione
id Necessario string È una proprietà impostabile dall'utente. È un nome univoco per identificare l'autorizzazione, ovvero nessuna due autorizzazioni di proprietà di un utente può condividere lo stesso ID. L'ID non deve superare i 255 caratteri.
permissionMode Necessario string Modalità di accesso per la risorsa: Tutto o Lettura. Tutto fornisce accesso in lettura, scrittura ed eliminazione a una risorsa. Read fornisce all'utente l'accesso alla risorsa in sola lettura.
resource Necessario string Percorso indirizzabile completo della risorsa associato all'autorizzazione. Ad esempio, dbs/volcanodb/colls/volcano1.
{  
    "id": "a_permission",  
    "permissionMode": "Read",  
    "resource": "dbs/volcanodb/colls/volcano1"  
}  

Risposta

Intestazioni

Vedere Intestazioni di risposta REST di Azure Cosmos DB comuni per le intestazioni restituite da tutte le risposte di Azure Cosmos DB.

Codici di stato

La seguente tabella elenca i codici di stato comuni restituiti da questa operazione. Per un elenco completo dei codici di stato, vedere Codici di stato HTTP.

Codice di stato HTTP Descrizione
201 Creato L'operazione è stata completata.
400 - Richiesta non valida Il corpo JSON non è valido. Controllare parentesi graffe o virgolette mancanti. Viene inoltre restituito il codice 400 quando almeno una delle proprietà impostabili non è presente nel corpo della richiesta. Verificare che siano incluse tutte e tre le proprietà settable.
409 - Conflitto L'ID fornito per la nuova autorizzazione è stato acquisito da un'autorizzazione esistente. Il codice 409 viene restituito anche quando la nuova autorizzazione viene assegnata a una risorsa già associata a un'altra autorizzazione per l'utente.

Corpo

Proprietà Descrizione
_liberarsi Si tratta di una proprietà generata dal sistema. L'ID risorsa (_rid) è un identificatore univoco che è anche gerarchico per ogni stack di risorse nel modello di risorsa. Viene usato internamente per il posizionamento e l'esplorazione della risorsa di autorizzazione.
_Ts Si tratta di una proprietà generata dal sistema. Indica il timestamp dell'ultimo aggiornamento della risorsa. Il valore è un timestamp.
_stesso Si tratta di una proprietà generata dal sistema. URI indirizzabile univoco per la risorsa.
_Etag Si tratta di una proprietà generata dal sistema che rappresenta l'etag della risorsa necessaria per il controllo di concorrenza ottimistica.
_Token Si tratta di un token di risorsa generato dal sistema per la risorsa e l'utente specifici.
{  
    "id": "a_permission",  
    "permissionMode": "Read",  
    "resource": "dbs/volcanodb/colls/volcano1",  
    "_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",  
    "_ts": 1449604760,  
    "_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",  
    "_etag": "\"00000e00-0000-0000-0000-566736980000\"",  
    "_token": "type=resource&ver=1&sig=4\/IPvcZwC9TnN\/M1gPjuBg==;C1Q5UpZAgytiayVo\/GPAbBklnnRuGqGB2o\/42KTuZfmN4P6a83JP4LU34neSg25\/8Wt5wwINjy6Vf8rr9fG09FxnGX9jHAM+Zzhqyqjt4rv3Dk3pN+sjC0KTE5jDiTkCdAlxHv4TYaTLOnEWdeVUKevuAPFbmUQGSwk9ipjv11BqWPK\/cN4lUujSfRc3rRaI8pgf90p0bD6KBTJlB+0sFjdI3P1hzunNvd9s9CHJ09U=;"  
}  
  

Esempio

POST https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions HTTP/1.1  
x-ms-date: Tue, 08 Dec 2015 19:59:19 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dwBH%2bhvVN5L4fu508ixzH%2bc7pQNfg7meU62MydCoead0%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-08-06  
Accept: application/json  
Host: contosomarketing.documents.azure.com  
Content-Length: 87  
Expect: 100-continue  
Connection: Keep-Alive  
  
{  
    "id": "a_permission",  
    "permissionMode": "Read",  
    "resource": "dbs/volcanodb/colls/volcano1"  
}  
HTTP/1.1 201 Created  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Content-Type: application/json  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Sun, 29 Nov 2015 02:25:35.212 GMT  
etag: "00000e00-0000-0000-0000-566736980000"  
x-ms-resource-quota: permissions=2000000;  
x-ms-resource-usage: permissions=1;  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/volcanodb/users/a_user  
x-ms-content-path: Sl8fAG8cXgA=  
x-ms-quorum-acked-lsn: 865  
x-ms-session-token: 866  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 4.95  
x-ms-serviceversion: version=1.5.57.3  
x-ms-activity-id: 4069f7dc-3863-4ae0-8df8-828bc86d75dc  
x-ms-gatewayversion: version=1.5.57.3  
Date: Tue, 08 Dec 2015 19:59:21 GMT  
Content-Length: 579  
  
{  
    "id": "a_permission",  
    "permissionMode": "Read",  
    "resource": "dbs/volcanodb/colls/volcano1",  
    "_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",  
    "_ts": 1449604760,  
    "_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",  
    "_etag": "\"00000e00-0000-0000-0000-566736980000\"",  
    "_token": "type=resource&ver=1&sig=4\/IPvcZwC9TnN\/M1gPjuBg==;C1Q5UpZAgytiayVo\/GPAbBklnnRuGqGB2o\/42KTuZfmN4P6a83JP4LU34neSg25\/8Wt5wwINjy6Vf8rr9fG09FxnGX9jHAM+Zzhqyqjt4rv3Dk3pN+sjC0KTE5jDiTkCdAlxHv4TYaTLOnEWdeVUKevuAPFbmUQGSwk9ipjv11BqWPK\/cN4lUujSfRc3rRaI8pgf90p0bD6KBTJlB+0sFjdI3P1hzunNvd9s9CHJ09U=;"  
}  
  

Vedere anche