---
product: Chilkat
product_version: 11.7.0
language: delphidll
language_label: Delphi DLL
class: AuthAzureStorage
license: bundle
deprecated: false
reference_html: https://www.chilkatsoft.com/refdoc/dd_CkAuthAzureStorageRef.html
---
# Chilkat AuthAzureStorage — Delphi DLL — v11.7.0

> Chilkat 11.7.0 · language=delphidll · class=AuthAzureStorage
> Other versions: replace `11.7.0` in this URL. Other languages: `https://www.chilkatsoft.com/ai-docs/v/11.7.0/<lang>/classes/AuthAzureStorage.md`.
> Language-wide rules (install, unlock, error model, strings/bytes): `https://www.chilkatsoft.com/ai-docs/v/11.7.0/delphidll/guide.md`.

## Purpose

**Authenticate Azure Storage REST requests with account-key Shared Key signing.**

`Chilkat.AuthAzureStorage` is a credential object for Azure Storage Services authentication. It stores the storage account name, Base64 account access key, Azure Storage service type, authentication scheme, and `x-ms-version` API version used when signing REST requests for Blob, Queue, File, or Table storage.

**Azure Storage credentials**

Hold the storage account name and Base64 account access key used to sign Azure Storage REST requests.

**Shared Key signing**

Configure Azure Storage authentication using `SharedKey` or `SharedKeyLite`, depending on the service and request style.

**Service targeting**

Specify the Azure Storage service being accessed, such as `Blob`, `Queue`, `File`, or `Table`.

**API version header**

Set the `x-ms-version` value required by the Azure Storage REST API version being used.

**REST integration**

Use the configured object with `Chilkat.Rest` so requests are signed automatically before being sent.

**Low-level control**

Pair this authentication object with manually constructed REST requests when application code needs direct control over Azure Storage operations.

**Common pattern:** Create an `AuthAzureStorage` object, set the storage `Account`, Base64 `AccessKey`, `Service`, `Scheme`, and `XMsVersion`, then attach it to a `Chilkat.Rest` request workflow. Use `AuthAzureStorage` for Shared Key authorization headers; use `Chilkat.AuthAzureSAS` when the request should be authorized with a SAS query token instead.

For an extended overview, see [AuthAzureStorage Class Overview](https://www.chilkatsoft.com/authazurestorage_class_overview.asp).

## Object creation, unlocking and error handling

**Create/Dispose**

```pascal
var
myObject: HCkAuthAzureStorage;

begin
myObject := CkAuthAzureStorage_Create();

// ...

CkAuthAzureStorage_Dispose(myObject);
end;
```

`function CkAuthAzureStorage_Create: HCkAuthAzureStorage; stdcall;`

Creates an instance of the HCkAuthAzureStorage object and returns a handle (i.e. a Pointer). The handle is passed in the 1st argument for the functions listed on this page.

`procedure CkAuthAzureStorage_Dispose(handle: HCkAuthAzureStorage); stdcall;`

Objects created by calling CkAuthAzureStorage_Create must be freed by calling this method. A memory leak occurs if a handle is not disposed by calling this function.

Call `Global.UnlockBundle` once at the start of the program, before using this or any other Chilkat class. Any string unlocks a fully functional 30-day trial; a purchased unlock code is used in production. See `guide.md` for the exact code in Delphi DLL.

## Members common to every Chilkat class

Documented once per language in `common-members.md`; listed here so this page is self-contained.

| Property | Signature | Access | Meaning |
|---|---|---|---|
| `DebugLogFilePath` | `procedure CkAuthAzureStorage_getDebugLogFilePath(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; procedure CkAuthAzureStorage_putDebugLogFilePath(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall; function CkAuthAzureStorage__debugLogFilePath(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` | read/write | If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. |
| `LastErrorHtml` | `procedure CkAuthAzureStorage_getLastErrorHtml(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; function CkAuthAzureStorage__lastErrorHtml(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` | read-only | Provides HTML-formatted information about the last called method or property. |
| `LastErrorText` | `procedure CkAuthAzureStorage_getLastErrorText(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; function CkAuthAzureStorage__lastErrorText(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` | read-only | Provides plain text information about the last called method or property. |
| `LastErrorXml` | `procedure CkAuthAzureStorage_getLastErrorXml(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; function CkAuthAzureStorage__lastErrorXml(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` | read-only | Provides XML-formatted information about the last called method or property. |
| `LastMethodSuccess` | `function CkAuthAzureStorage_getLastMethodSuccess(objHandle: HCkAuthAzureStorage): wordbool; stdcall; procedure CkAuthAzureStorage_putLastMethodSuccess(objHandle: HCkAuthAzureStorage; newPropVal: wordbool); stdcall;` | read/write | Indicates the success or failure of the most recent method call: `True` means success, `False` means failure. |
| `VerboseLogging` | `function CkAuthAzureStorage_getVerboseLogging(objHandle: HCkAuthAzureStorage): wordbool; stdcall; procedure CkAuthAzureStorage_putVerboseLogging(objHandle: HCkAuthAzureStorage; newPropVal: wordbool); stdcall;` | read/write | If set to `True`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. |
| `Version` | `procedure CkAuthAzureStorage_getVersion(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; function CkAuthAzureStorage__version(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` | read-only | Version of the component/library, such as "10.1.0" |

## Member index

| Member | Kind | Signature |
|---|---|---|
| `AccessKey` | property, read/write | `procedure CkAuthAzureStorage_getAccessKey(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; procedure CkAuthAzureStorage_putAccessKey(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall; function CkAuthAzureStorage__accessKey(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` |
| `Account` | property, read/write | `procedure CkAuthAzureStorage_getAccount(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; procedure CkAuthAzureStorage_putAccount(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall; function CkAuthAzureStorage__account(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` |
| `Scheme` | property, read/write | `procedure CkAuthAzureStorage_getScheme(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; procedure CkAuthAzureStorage_putScheme(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall; function CkAuthAzureStorage__scheme(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` |
| `Service` | property, read/write | `procedure CkAuthAzureStorage_getService(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; procedure CkAuthAzureStorage_putService(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall; function CkAuthAzureStorage__service(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` |
| `XMsVersion` | property, read/write | `procedure CkAuthAzureStorage_getXMsVersion(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall; procedure CkAuthAzureStorage_putXMsVersion(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall; function CkAuthAzureStorage__xMsVersion(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;` |

## Properties

### AuthAzureStorage.AccessKey

`Chilkat 11.7.0 · delphidll · AuthAzureStorage · AccessKey · property · read/write · since 9.5.0.58`

```pascal
procedure CkAuthAzureStorage_getAccessKey(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall;
procedure CkAuthAzureStorage_putAccessKey(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall;
function CkAuthAzureStorage__accessKey(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;
```

A valid base64 access key for the Azure storage account.

### AuthAzureStorage.Account

`Chilkat 11.7.0 · delphidll · AuthAzureStorage · Account · property · read/write · since 9.5.0.58`

```pascal
procedure CkAuthAzureStorage_getAccount(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall;
procedure CkAuthAzureStorage_putAccount(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall;
function CkAuthAzureStorage__account(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;
```

The Azure storage account name. (A storage account can contain zero or more containers. A container contains properties, metadata, and zero or more blobs. A blob is any single entity comprised of binary data, properties, and metadata. )

### AuthAzureStorage.Scheme

`Chilkat 11.7.0 · delphidll · AuthAzureStorage · Scheme · property · read/write · since 9.5.0.58`

```pascal
procedure CkAuthAzureStorage_getScheme(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall;
procedure CkAuthAzureStorage_putScheme(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall;
function CkAuthAzureStorage__scheme(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;
```

Can be `SharedKey` or `SharedKeyLite`. The default value is `SharedKey`.

### AuthAzureStorage.Service

`Chilkat 11.7.0 · delphidll · AuthAzureStorage · Service · property · read/write · since 9.5.0.58`

```pascal
procedure CkAuthAzureStorage_getService(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall;
procedure CkAuthAzureStorage_putService(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall;
function CkAuthAzureStorage__service(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;
```

Can be `Blob`, `Queue`, `File`, or `Table`. The default is `Blob`.

**Note:** Authentication for the `Table` service did not work in versions prior to v9.5.0.83.

### AuthAzureStorage.XMsVersion

`Chilkat 11.7.0 · delphidll · AuthAzureStorage · XMsVersion · property · read/write · since 9.5.0.58`

```pascal
procedure CkAuthAzureStorage_getXMsVersion(objHandle: HCkAuthAzureStorage; outPropVal: HCkString); stdcall;
procedure CkAuthAzureStorage_putXMsVersion(objHandle: HCkAuthAzureStorage; newPropVal: PWideChar); stdcall;
function CkAuthAzureStorage__xMsVersion(objHandle: HCkAuthAzureStorage): PWideChar; stdcall;
```

If set, automatically adds the `x-ms-version` HTTP request header to Azure Storage requests. The default value is `2014-02-14`.

