@azure/storage-blob
Version:
Microsoft Azure Storage SDK for JavaScript - Blob
333 lines • 10.3 kB
TypeScript
import type { AbortSignalLike } from "@azure/abort-controller";
import type { CancelOnProgress, PollOperationState } from "@azure/core-lro";
import type { BlobImmutabilityPolicyMode } from "./generatedModels.js";
import type { LeaseAccessConditions, SequenceNumberAccessConditions, AppendPositionAccessConditions, AccessTier, CpkInfo, BlobDownloadResponseModel } from "./generatedModels.js";
/**
* Blob tags.
*/
export type Tags = Record<string, string>;
/**
* A map of name-value pairs to associate with the resource.
*/
export interface Metadata {
/**
* A name-value pair.
*/
[propertyName: string]: string;
}
/**
* standard HTTP conditional headers and tags condition.
*/
export interface ModifiedAccessConditions extends MatchConditions, ModificationConditions, TagConditions {
}
/**
* standard HTTP conditional headers, tags condition and lease condition
*/
export interface BlobRequestConditions extends ModifiedAccessConditions, LeaseAccessConditions {
}
/**
* Conditions to add to the creation of this page blob.
*/
export interface PageBlobRequestConditions extends BlobRequestConditions, SequenceNumberAccessConditions {
}
/**
* Conditions to add to the creation of this append blob.
*/
export interface AppendBlobRequestConditions extends BlobRequestConditions, AppendPositionAccessConditions {
}
/**
* Specifies HTTP options for conditional requests based on modification time.
*/
export interface ModificationConditions {
/**
* Specify this header value to operate only on a blob if it has been modified since the
* specified date/time.
*/
ifModifiedSince?: Date;
/**
* Specify this header value to operate only on a blob if it has not been modified since the
* specified date/time.
*/
ifUnmodifiedSince?: Date;
}
/**
* Specifies HTTP options for conditional requests based on ETag matching.
*/
export interface MatchConditions {
/**
* Specify an ETag value to operate only on blobs with a matching value.
*/
ifMatch?: string;
/**
* Specify an ETag value to operate only on blobs without a matching value.
*/
ifNoneMatch?: string;
}
/**
* Specifies HTTP options for conditional requests based on blob tags.
*/
export interface TagConditions {
/**
* Optional SQL statement to apply to the tags of the blob.
*/
tagConditions?: string;
}
/**
* Conditions to meet for the container.
*/
export interface ContainerRequestConditions extends LeaseAccessConditions, ModificationConditions {
}
/**
* Represents the access tier on a blob.
* For detailed information about block blob level tiering see {@link https://learn.microsoft.com/azure/storage/blobs/storage-blob-storage-tiers|Hot, cool and archive storage tiers.}
*/
export declare enum BlockBlobTier {
/**
* Optimized for storing data that is accessed frequently.
*/
Hot = "Hot",
/**
* Optimized for storing data that is infrequently accessed and stored for at least 30 days.
*/
Cool = "Cool",
/**
* Optimized for storing data that is rarely accessed.
*/
Cold = "Cold",
/**
* Optimized for storing data that is rarely accessed and stored for at least 180 days
* with flexible latency requirements (on the order of hours).
*/
Archive = "Archive"
}
/**
* Specifies the page blob tier to set the blob to. This is only applicable to page blobs on premium storage accounts.
* Please see {@link https://learn.microsoft.com/azure/storage/storage-premium-storage#scalability-and-performance-targets|here}
* for detailed information on the corresponding IOPS and throughput per PageBlobTier.
*/
export declare enum PremiumPageBlobTier {
/**
* P4 Tier.
*/
P4 = "P4",
/**
* P6 Tier.
*/
P6 = "P6",
/**
* P10 Tier.
*/
P10 = "P10",
/**
* P15 Tier.
*/
P15 = "P15",
/**
* P20 Tier.
*/
P20 = "P20",
/**
* P30 Tier.
*/
P30 = "P30",
/**
* P40 Tier.
*/
P40 = "P40",
/**
* P50 Tier.
*/
P50 = "P50",
/**
* P60 Tier.
*/
P60 = "P60",
/**
* P70 Tier.
*/
P70 = "P70",
/**
* P80 Tier.
*/
P80 = "P80"
}
export declare function toAccessTier(tier: BlockBlobTier | PremiumPageBlobTier | string | undefined): AccessTier | undefined;
export declare function ensureCpkIfSpecified(cpk: CpkInfo | undefined, isHttps: boolean): void;
/**
* Specifies the Replication Status of a blob. This is used when a storage account has
* Object Replication Policy(s) applied. See {@link ObjectReplicationPolicy} and {@link ObjectReplicationRule}.
*/
export type ObjectReplicationStatus = "complete" | "failed";
/**
* Contains the Object Replication Rule ID and {@link ObjectReplicationStatus} of a blob.
* There can be more than one {@link ObjectReplicationRule} under a {@link ObjectReplicationPolicy}.
*/
export interface ObjectReplicationRule {
/**
* The Object Replication Rule ID.
*/
ruleId: string;
/**
* The Replication Status
*/
replicationStatus: ObjectReplicationStatus;
}
/**
* Contains Object Replication Policy ID and the respective list of {@link ObjectReplicationRule}.
* This is used when retrieving the Object Replication Properties on the source blob. The policy id for the
* destination blob is set in ObjectReplicationDestinationPolicyId of the respective method responses
* (e.g. {@link BlobProperties.ObjectReplicationDestinationPolicyId}.
*/
export interface ObjectReplicationPolicy {
/**
* The Object Replication Policy ID.
*/
policyId: string;
/**
* The Rule ID(s) and respective Replication Status(s) that are under the Policy ID.
*/
rules: ObjectReplicationRule[];
}
/**
* Contains response data for the {@link BlobClient.download} operation.
*/
export interface BlobDownloadResponseParsed extends BlobDownloadResponseModel {
/**
* Parsed Object Replication Policy Id, Rule Id(s) and status of the source blob.
*/
objectReplicationSourceProperties?: ObjectReplicationPolicy[];
/**
* Object Replication Policy Id of the destination blob.
*/
objectReplicationDestinationPolicyId?: string;
}
/**
* The type of a {@link BlobQueryArrowField}.
*/
export type BlobQueryArrowFieldType = "int64" | "bool" | "timestamp[ms]" | "string" | "double" | "decimal";
/**
* Describe a field in {@link BlobQueryArrowConfiguration}.
*/
export interface BlobQueryArrowField {
/**
* The type of the field.
*/
type: BlobQueryArrowFieldType;
/**
* The name of the field.
*/
name?: string;
/**
* The precision of the field. Required if type is "decimal".
*/
precision?: number;
/**
* The scale of the field. Required if type is is "decimal".
*/
scale?: number;
}
/**
* Describe immutable policy for blob.
*/
export interface BlobImmutabilityPolicy {
/**
* Specifies the date time when the blobs immutability policy is set to expire.
*/
expiriesOn?: Date;
/**
* Specifies the immutability policy mode to set on the blob.
*/
policyMode?: BlobImmutabilityPolicyMode;
}
/**
* Represents authentication information in Authorization, ProxyAuthorization,
* WWW-Authenticate, and Proxy-Authenticate header values.
*/
export interface HttpAuthorization {
/**
* The scheme to use for authorization.
*/
scheme: string;
/**
* the credentials containing the authentication information of the user agent for the resource being requested.
*/
value: string;
}
/**
* Defines the known cloud audiences for Storage.
*/
export declare enum StorageBlobAudience {
/**
* The OAuth scope to use to retrieve an AAD token for Azure Storage.
*/
StorageOAuthScopes = "https://storage.azure.com/.default",
/**
* The OAuth scope to use to retrieve an AAD token for Azure Disk.
*/
DiskComputeOAuthScopes = "https://disk.compute.azure.com/.default"
}
/**
*
* To get OAuth audience for a storage account for blob service.
*/
export declare function getBlobServiceAccountAudience(storageAccountName: string): string;
/**
* Abstract representation of a poller, intended to expose just the minimal API that the user needs to work with.
*/
export interface PollerLikeWithCancellation<TState extends PollOperationState<TResult>, TResult> {
/**
* Returns a promise that will resolve once a single polling request finishes.
* It does this by calling the update method of the Poller's operation.
*/
poll(options?: {
abortSignal?: AbortSignalLike;
}): Promise<void>;
/**
* Returns a promise that will resolve once the underlying operation is completed.
*/
pollUntilDone(): Promise<TResult>;
/**
* Invokes the provided callback after each polling is completed,
* sending the current state of the poller's operation.
*
* It returns a method that can be used to stop receiving updates on the given callback function.
*/
onProgress(callback: (state: TState) => void): CancelOnProgress;
/**
* Returns true if the poller has finished polling.
*/
isDone(): boolean;
/**
* Stops the poller. After this, no manual or automated requests can be sent.
*/
stopPolling(): void;
/**
* Returns true if the poller is stopped.
*/
isStopped(): boolean;
/**
* Attempts to cancel the underlying operation.
*/
cancelOperation(options?: {
abortSignal?: AbortSignalLike;
}): Promise<void>;
/**
* Returns the state of the operation.
* The TState defined in PollerLike can be a subset of the TState defined in
* the Poller implementation.
*/
getOperationState(): TState;
/**
* Returns the result value of the operation,
* regardless of the state of the poller.
* It can return undefined or an incomplete form of the final TResult value
* depending on the implementation.
*/
getResult(): TResult | undefined;
/**
* Returns a serialized version of the poller's operation
* by invoking the operation's toString method.
*/
toString(): string;
}
//# sourceMappingURL=models.d.ts.map