Share via


DocumentClient.ReadPermissionAsync Method

Definition

Overloads

ReadPermissionAsync(String, RequestOptions)

Reads a Permission from the Azure Cosmos DB service as an asynchronous operation.

ReadPermissionAsync(Uri, RequestOptions)

Reads a Permission resource as an asynchronous operation from the Azure Cosmos DB service.

ReadPermissionAsync(String, RequestOptions)

Reads a Permission from the Azure Cosmos DB service as an asynchronous operation.

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Permission>> ReadPermissionAsync (string permissionLink, Microsoft.Azure.Documents.Client.RequestOptions options = default);
abstract member ReadPermissionAsync : string * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Permission>>
override this.ReadPermissionAsync : string * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Permission>>
Public Function ReadPermissionAsync (permissionLink As String, Optional options As RequestOptions = Nothing) As Task(Of ResourceResponse(Of Permission))

Parameters

permissionLink
String

The link for the Permission resource to be read.

options
RequestOptions

(Optional) The request options for the request.

Returns

A System.Threading.Tasks containing a ResourceResponse<TResource> which wraps a Permission containing the read resource record.

Implements

Exceptions

If permissionLink is not set.

This exception can encapsulate many different types of errors. To determine the specific error always look at the StatusCode property. Some common codes you may get when creating a Document are:

StatusCodeReason for exception
404NotFound - This means the resource you tried to read did not exist.
429TooManyRequests - This means you have exceeded the number of request units per second. Consult the DocumentClientException.RetryAfter value to see how long you should wait before retrying this operation.

Examples

//Reads a Permission resource from a Database and User where
// - sample_database is the ID of the database
// - sample_user is the ID of the user
// - permission_id is the ID of the permission to be read
var permissionLink = "/dbs/sample_database/users/sample_user/permissions/permission_id";
Permission permission = await client.ReadPermissionAsync(permissionLink);

Remarks

Doing a read of a resource is the most efficient way to get a resource from the Database. If you know the resource's ID, do a read instead of a query by ID.

The example shown uses ID-based links, where the link is composed of the ID properties used when the resources were created. You can still use the SelfLink property of the Permission if you prefer. A self-link is a URI for a resource that is made up of Resource Identifiers (or the _rid properties). ID-based links and SelfLink will both work. The format for permissionLink is always "/dbs/{db identifier}/users/{user identifier}/permissions/{permission identifier}" only the values within the {...} change depending on which method you wish to use to address the resource.

See also

Applies to

ReadPermissionAsync(Uri, RequestOptions)

Reads a Permission resource as an asynchronous operation from the Azure Cosmos DB service.

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Permission>> ReadPermissionAsync (Uri permissionUri, Microsoft.Azure.Documents.Client.RequestOptions options = default);
abstract member ReadPermissionAsync : Uri * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Permission>>
override this.ReadPermissionAsync : Uri * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Permission>>
Public Function ReadPermissionAsync (permissionUri As Uri, Optional options As RequestOptions = Nothing) As Task(Of ResourceResponse(Of Permission))

Parameters

permissionUri
Uri

A URI to the Permission resource to be read.

options
RequestOptions

The request options for the request.

Returns

A System.Threading.Tasks containing a ResourceResponse<TResource> which wraps a Permission containing the read resource record.

Implements

Exceptions

If permissionUri is not set.

This exception can encapsulate many different types of errors. To determine the specific error always look at the StatusCode property. Some common codes you may get when creating a Document are:

StatusCodeReason for exception
404NotFound - This means the resource you tried to read did not exist.
429TooManyRequests - This means you have exceeded the number of request units per second. Consult the DocumentClientException.RetryAfter value to see how long you should wait before retrying this operation.

Examples

//Reads a Permission resource where 
// - db_id is the ID property of the Database
// - user_id is the ID property of the User 
// - permission_id is the ID property of the Permission you wish to read. 
var permissionLink = UriFactory.CreatePermissionUri("db_id", "coll_id", "user_id");
Permission permission = await client.ReadPermissionAsync(permissionLink);

Remarks

Doing a read of a resource is the most efficient way to get a resource from the service. If you know the resource's ID, do a read instead of a query by ID.

See also

Applies to