@azure/data-tables
Version:
An isomorphic client library for the Azure Tables service.
88 lines • 4.58 kB
TypeScript
/**
* ONLY AVAILABLE IN NODE.JS RUNTIME.
*
* TableSASSignatureValues is used to help generating SAS tokens for tables.
*/
import type { SasIPRange } from "./sasIPRange.js";
import type { SasProtocol } from "./sasQueryParameters.js";
import { SasQueryParameters } from "./sasQueryParameters.js";
import type { TableSasPermissions } from "./tableSasPermisions.js";
import type { NamedKeyCredential } from "@azure/core-auth";
/**
* ONLY AVAILABLE IN NODE.JS RUNTIME.
*
* TableSASSignatureValues is used to help generating Table service SAS tokens for tables
*/
export interface TableSasSignatureValues {
/**
* The version of the service this SAS will target. If not specified, it will default to the version targeted by the
* library.
*/
version?: string;
/**
* Optional. SAS protocols, HTTPS only or HTTPSandHTTP
*/
protocol?: SasProtocol;
/**
* Optional. When the SAS will take effect.
*/
startsOn?: Date;
/**
* Optional. If identifier is not provided has a default value of one hour from the time the token is generated.
* The time after which the SAS will no longer work.
*/
expiresOn?: Date;
/**
* Optional. If identifier is not provided has a default value of "read"
* Please refer to {@link TableSasPermissions} depending on the resource
* being accessed for help constructing the permissions string.
*/
permissions?: TableSasPermissions;
/**
* Optional. IP ranges allowed in this SAS.
*/
ipRange?: SasIPRange;
/**
* Optional. The name of the access policy on the container this SAS references if any.
*
* @see https://learn.microsoft.com/rest/api/storageservices/establishing-a-stored-access-policy
*/
identifier?: string;
/**
* Define the start of a Partition Key range
* Table queries will only return results that are within the range, and attempts to use the shared access signature to add, update, or delete entities outside this range will fail.
* If startPartitionKey equals endPartitionKey the shared access signature only authorizes access to entities in one partition in the table.
* If startPartitionKey equals endPartitionKey and startRowKey equals endRowKey, the shared access signature can only access one entity in one partition
*/
startPartitionKey?: string;
/**
* Define the end of a Partition Key range
* Table queries will only return results that are within the range, and attempts to use the shared access signature to add, update, or delete entities outside this range will fail.
* If startPartitionKey equals endPartitionKey the shared access signature only authorizes access to entities in one partition in the table.
* If startPartitionKey equals endPartitionKey and startRowKey equals endRowKey, the shared access signature can only access one entity in one partition
*/
endPartitionKey?: string;
/**
* Define the start of a Row Key range
* Table queries will only return results that are within the range, and attempts to use the shared access signature to add, update, or delete entities outside this range will fail.
* If startPartitionKey equals endPartitionKey the shared access signature only authorizes access to entities in one partition in the table.
* If startPartitionKey equals endPartitionKey and startRowKey equals endRowKey, the shared access signature can only access one entity in one partition
*/
startRowKey?: string;
/**
* Define the end of a Row Key range
* Table queries will only return results that are within the range, and attempts to use the shared access signature to add, update, or delete entities outside this range will fail.
* If startPartitionKey equals endPartitionKey the shared access signature only authorizes access to entities in one partition in the table.
* If startPartitionKey equals endPartitionKey and startRowKey equals endRowKey, the shared access signature can only access one entity in one partition
*/
endRowKey?: string;
}
/**
* ONLY AVAILABLE IN NODE.JS RUNTIME.
*
* Creates an instance of SASQueryParameters.
*
* **Note**: When identifier is not provided, permissions has a default value of "read" and expiresOn of one hour from the time the token is generated.
*/
export declare function generateTableSasQueryParameters(tableName: string, credential: NamedKeyCredential, tableSasSignatureValues: TableSasSignatureValues): SasQueryParameters;
//# sourceMappingURL=tableSasSignatureValues.d.ts.map