Codeunit 9053 ABS Blob Client, source in 29
src/System Application/App/Azure Blob Services API/src/ABSBlobClient.Codeunit.al1169 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace System.Azure.Storage;
/// <summary>
/// Provides functionality for using operations on blobs in Azure Blob storage.
/// </summary>
codeunit 9053 "ABS Blob Client"
{
Access = Public;
InherentEntitlements = X;
InherentPermissions = X;
/// <summary>
/// Initializes the Azure Blob storage client.
/// </summary>
/// <param name="StorageAccount">The name of Storage Account to use.</param>
/// <param name="Container">The name of the container to use.</param>
/// <param name="Authorization">The authorization to use.</param>
procedure Initialize(StorageAccount: Text; Container: Text; Authorization: Interface "Storage Service Authorization")
var
StorageServiceAuthorization: Codeunit "Storage Service Authorization";
begin
ABSClientImpl.Initialize(StorageAccount, Container, '', Authorization, StorageServiceAuthorization.GetDefaultAPIVersion());
end;
/// <summary>
/// Initializes the Azure BLOB Storage BLOB client.
/// </summary>
/// <param name="StorageAccount">The name of Storage Account to use.</param>
/// <param name="Container">The name of the container to use.</param>
/// <param name="Authorization">The authorization to use.</param>
/// <param name="APIVersion">The used API version to use.</param>
procedure Initialize(StorageAccount: Text; Container: Text; Authorization: Interface "Storage Service Authorization"; APIVersion: Enum "Storage Service API Version")
begin
ABSClientImpl.Initialize(StorageAccount, Container, '', Authorization, APIVersion);
end;
/// <summary>
/// The base URL to use when constructing the final URI.
/// If not set, the base URL is https://%1.blob.core.windows.net where %1 is the storage account name.
/// </summary>
/// <remarks>Use %1 as a placeholder for the storage account name.</remarks>
/// <param name="BaseUrl">A valid URL string</param>
procedure SetBaseUrl(BaseUrl: Text)
begin
ABSClientImpl.SetBaseUrl(BaseUrl);
end;
/// <summary>
/// Lists the blobs in a specific container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210588
/// </summary>
/// <param name="ABSContainerContent">Collection of the result (temporary record).</param>
/// <returns>An operation response object</returns>
procedure ListBlobs(var ABSContainerContent: Record "ABS Container Content"): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.ListBlobs(ABSContainerContent, ABSOptionalParameters));
end;
/// <summary>
/// Lists the blobs in a specific container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210588
/// </summary>
/// <param name="ABSContainerContent">Collection of the result (temporary record).</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure ListBlobs(var ABSContainerContent: Record "ABS Container Content"; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.ListBlobs(ABSContainerContent, ABSOptionalParameters));
end;
/// <summary>
/// Lists the blobs in a specific container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210588
/// </summary>
/// <param name="BlobList">Collection of the result (BlobList of [Text, XmlNode]).
/// The key in the dictionary is the full blob path and the value is the complete blob xmlnode from the response</param>
/// <returns>An operation response object</returns>
procedure ListBlobs(var BlobList: Dictionary of [Text, XmlNode]): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.ListBlobs(BlobList, ABSOptionalParameters));
end;
/// <summary>
/// Lists the blobs in a specific container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210588
/// </summary>
/// <param name="BlobList">Collection of the result (BlobList of [Text, XmlNode]).
/// The key in the dictionary is the full blob path and the value is the complete blob xmlnode from the response</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure ListBlobs(var BlobList: Dictionary of [Text, XmlNode]; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.ListBlobs(BlobList, ABSOptionalParameters));
end;
/// <summary>
/// Uploads a file as a BlockBlob (with File Selection Dialog).
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobUI(): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.PutBlobBlockBlobUI(ABSOptionalParameters));
end;
/// <summary>
/// Uploads a file as a BlockBlob (with File Selection Dialog).
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobUI(ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlobBlockBlobUI(ABSOptionalParameters));
end;
/// <summary>
/// Uploads the content of an InStream as a BlockBlob
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceInStream">The Content of the Blob as InStream.</param>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobStream(BlobName: Text; var SourceInStream: InStream): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.PutBlobBlockBlobStream(BlobName, SourceInStream, '', ABSOptionalParameters));
end;
/// <summary>
/// Uploads the content of an InStream as a BlockBlob
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceInStream">The Content of the Blob as InStream.</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobStream(BlobName: Text; var SourceInStream: InStream; ContentType: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.PutBlobBlockBlobStream(BlobName, SourceInStream, ContentType, ABSOptionalParameters));
end;
/// <summary>
/// Uploads the content of an InStream as a BlockBlob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceInStream">The Content of the Blob as InStream.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobStream(BlobName: Text; var SourceInStream: InStream; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlobBlockBlobStream(BlobName, SourceInStream, '', ABSOptionalParameters));
end;
/// <summary>
/// Uploads the content of an InStream as a BlockBlob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceInStream">The Content of the Blob as InStream.</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobStream(BlobName: Text; var SourceInStream: InStream; ContentType: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlobBlockBlobStream(BlobName, SourceInStream, ContentType, ABSOptionalParameters));
end;
/// <summary>
/// Uploads text as a BlockBlob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceText">The Content of the Blob as Text.</param>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobText(BlobName: Text; SourceText: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.PutBlobBlockBlobText(BlobName, SourceText, '', ABSOptionalParameters));
end;
/// <summary>
/// Uploads text as a BlockBlob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceText">The Content of the Blob as Text.</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobText(BlobName: Text; SourceText: Text; ContentType: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.PutBlobBlockBlobText(BlobName, SourceText, ContentType, ABSOptionalParameters));
end;
/// <summary>
/// Uploads text as a BlockBlob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceText">The Content of the Blob as Text.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobText(BlobName: Text; SourceText: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlobBlockBlobText(BlobName, SourceText, '', ABSOptionalParameters));
end;
/// <summary>
/// Uploads text as a BlockBlob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceText">The Content of the Blob as Text.</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlobBlockBlobText(BlobName: Text; SourceText: Text; ContentType: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlobBlockBlobText(BlobName, SourceText, ContentType, ABSOptionalParameters));
end;
/// <summary>
/// Creates a PageBlob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <returns>An operation response object</returns>
procedure PutBlobPageBlob(BlobName: Text; ContentType: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.PutBlobPageBlob(BlobName, ContentType, ABSOptionalParameters));
end;
/// <summary>
/// Creates a PageBlob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlobPageBlob(BlobName: Text; ContentType: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlobPageBlob(BlobName, ContentType, ABSOptionalParameters));
end;
/// <summary>
/// The Put Blob operation creates a new append blob
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// Uses 'application/octet-stream' as Content-Type
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <returns>An operation response object</returns>
procedure PutBlobAppendBlobStream(BlobName: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(PutBlobAppendBlob(BlobName, 'application/octet-stream', ABSOptionalParameters));
end;
/// <summary>
/// The Put Blob operation creates a new append blob
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// Uses 'application/octet-stream' as Content-Type
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlobAppendBlobStream(BlobName: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(PutBlobAppendBlob(BlobName, 'application/octet-stream', ABSOptionalParameters));
end;
/// <summary>
/// The Put Blob operation creates a new append blob
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// Uses 'text/plain; charset=UTF-8' as Content-Type
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlobAppendBlobText(BlobName: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(PutBlobAppendBlob(BlobName, 'text/plain; charset=UTF-8', ABSOptionalParameters));
end;
/// <summary>
/// The Put Blob operation creates a new append blob
/// see: https://go.microsoft.com/fwlink/?linkid=2210387
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlobAppendBlob(BlobName: Text; ContentType: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlobAppendBlob(BlobName, ContentType, ABSOptionalParameters));
end;
/// <summary>
/// The Append Block operation commits a new block of data to the end of an existing append blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2211404
/// Uses 'text/plain; charset=UTF-8' as Content-Type
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ContentAsText">Text-variable containing the content that should be added to the Blob</param>
/// <returns>An operation response object</returns>
procedure AppendBlockText(BlobName: Text; ContentAsText: Text): Codeunit "ABS Operation Response"
begin
exit(AppendBlockText(BlobName, ContentAsText, 'text/plain; charset=UTF-8'));
end;
/// <summary>
/// The Append Block operation commits a new block of data to the end of an existing append blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2211404
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ContentAsText">Text-variable containing the content that should be added to the Blob</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <returns>An operation response object</returns>
procedure AppendBlockText(BlobName: Text; ContentAsText: Text; ContentType: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(AppendBlock(BlobName, ContentType, ContentAsText, ABSOptionalParameters));
end;
/// <summary>
/// The Append Block operation commits a new block of data to the end of an existing append blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2211404
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ContentAsText">Text-variable containing the content that should be added to the Blob</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure AppendBlockText(BlobName: Text; ContentAsText: Text; ContentType: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(AppendBlock(BlobName, ContentType, ContentAsText, ABSOptionalParameters));
end;
/// <summary>
/// The Append Block operation commits a new block of data to the end of an existing append blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2211404
/// Uses 'application/octet-stream' as Content-Type
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ContentAsInStream">InStream containing the content that should be added to the Blob</param>
/// <returns>An operation response object</returns>
procedure AppendBlockStream(BlobName: Text; ContentAsInStream: InStream): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(AppendBlockStream(BlobName, ContentAsInStream, 'application/octet-stream', ABSOptionalParameters));
end;
/// <summary>
/// The Append Block operation commits a new block of data to the end of an existing append blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2211404
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ContentAsInStream">InStream containing the content that should be added to the Blob</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <returns>An operation response object</returns>
procedure AppendBlockStream(BlobName: Text; ContentAsInStream: InStream; ContentType: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(AppendBlock(BlobName, ContentType, ContentAsInStream, ABSOptionalParameters));
end;
/// <summary>
/// The Append Block operation commits a new block of data to the end of an existing append blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2211404
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ContentType">Value for Content-Type HttpHeader (e.g. 'text/plain; charset=UTF-8')</param>
/// <param name="SourceContentVariant">Variant containing the content that should be added to the Blob</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure AppendBlock(BlobName: Text; ContentType: Text; SourceContentVariant: Variant; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.AppendBlock(BlobName, ContentType, SourceContentVariant, ABSOptionalParameters));
end;
/// <summary>
/// The Append Block From URL operation commits a new block of data to the end of an existing append blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2211405
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceUri">Specifies the name of the source blob.</param>
/// <returns>An operation response object</returns>
procedure AppendBlockFromURL(BlobName: Text; SourceUri: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.AppendBlockFromURL(BlobName, SourceUri, ABSOptionalParameters));
end;
/// <summary>
/// The Append Block From URL operation commits a new block of data to the end of an existing append blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2211405
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceUri">Specifies the name of the source blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure AppendBlockFromURL(BlobName: Text; SourceUri: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.AppendBlockFromURL(BlobName, SourceUri, ABSOptionalParameters));
end;
/// <summary>
/// Receives a Blob as a File from a Container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210388
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <returns>An operation response object</returns>
procedure GetBlobAsFile(BlobName: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.GetBlobAsFile(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// Receives a Blob as a File from a Container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210388
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure GetBlobAsFile(BlobName: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.GetBlobAsFile(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// Receives a Blob as a InStream from a Container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210388
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="TargetInStream">The result InStream containg the content of the Blob.</param>
/// <returns>An operation response object</returns>
procedure GetBlobAsStream(BlobName: Text; var TargetInStream: InStream): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.GetBlobAsStream(BlobName, TargetInStream, ABSOptionalParameters));
end;
/// <summary>
/// Receives a Blob as a InStream from a Container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210388
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="TargetInStream">The result InStream containg the content of the Blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure GetBlobAsStream(BlobName: Text; var TargetInStream: InStream; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.GetBlobAsStream(BlobName, TargetInStream, ABSOptionalParameters));
end;
/// <summary>
/// Receives a Blob as Text from a Container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210388
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="TargetText">The result Text containg the content of the Blob.</param>
/// <returns>An operation response object</returns>
procedure GetBlobAsText(BlobName: Text; var TargetText: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.GetBlobAsText(BlobName, TargetText, ABSOptionalParameters));
end;
/// <summary>
/// Receives a Blob as Text from a Container.
/// see: https://go.microsoft.com/fwlink/?linkid=2210388
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="TargetText">The result Text containg the content of the Blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure GetBlobAsText(BlobName: Text; var TargetText: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.GetBlobAsText(BlobName, TargetText, ABSOptionalParameters));
end;
/// <summary>
/// The Set Blob Expiry operation sets an expiry time on an existing blob. This operation is only allowed on Hierarchical Namespace enabled accounts
/// Sets the expiry time relative to the file creation time, x-ms-expiry-time must be specified as the number of milliseconds to elapse from creation time.
/// see: https://go.microsoft.com/fwlink/?linkid=2210389
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ExpiryTime">Number if miliseconds (Integer) until the expiration.</param>
/// <returns>An operation response object</returns>
procedure SetBlobExpiryRelativeToCreation(BlobName: Text; ExpiryTime: Integer): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.SetBlobExpiryRelativeToCreation(BlobName, ExpiryTime));
end;
/// <summary>
/// The Set Blob Expiry operation sets an expiry time on an existing blob. This operation is only allowed on Hierarchical Namespace enabled accounts
/// Sets the expiry relative to the current time, x-ms-expiry-time must be specified as the number of milliseconds to elapse from now.
/// see: https://go.microsoft.com/fwlink/?linkid=2210389
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ExpiryTime">Number if miliseconds (Integer) until the expiration.</param>
/// <returns>An operation response object</returns>
procedure SetBlobExpiryRelativeToNow(BlobName: Text; ExpiryTime: Integer): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.SetBlobExpiryRelativeToNow(BlobName, ExpiryTime));
end;
/// <summary>
/// The Set Blob Expiry operation sets an expiry time on an existing blob. This operation is only allowed on Hierarchical Namespace enabled accounts
/// Sets the expiry to an absolute DateTime
/// see: https://go.microsoft.com/fwlink/?linkid=2210389
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ExpiryTime">Absolute DateTime for the expiration.</param>
/// <returns>An operation response object</returns>
procedure SetBlobExpiryAbsolute(BlobName: Text; ExpiryTime: DateTime): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.SetBlobExpiryAbsolute(BlobName, ExpiryTime));
end;
/// <summary>
/// The Set Blob Expiry operation sets an expiry time on an existing blob. This operation is only allowed on Hierarchical Namespace enabled accounts
/// Sets the file to never expire or removes the current expiry time, x-ms-expiry-time must not to be specified.
/// see: https://go.microsoft.com/fwlink/?linkid=2210389
/// </summary>
procedure SetBlobExpiryNever(BlobName: Text): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.SetBlobExpiryNever(BlobName));
end;
/// <summary>
/// The Set Blob Tags operation sets user-defined tags for the specified blob as one or more key-value pairs.
/// see: https://go.microsoft.com/fwlink/?linkid=2211407
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="Tags">A Dictionary of [Text, Text] which contains the Tags you want to set.</param>
/// <returns>An operation response object</returns>
procedure SetBlobTags(BlobName: Text; Tags: Dictionary of [Text, Text]): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.SetBlobTags(BlobName, Tags));
end;
/// <summary>
/// The Find Blobs By Tags operation retrieves blobs based on user-defined tags for the specified blob, represented as one or more key-value pairs.
/// see: https://learn.microsoft.com/nl-nl/rest/api/storageservices/find-blobs-by-tags?tabs=azure-ad
/// </summary>
/// <param name="SearchTags">A Dictionary of [Text, Text] with tags to search on.</param>
/// <param name="FoundBlobs">An XmlDocument containing the results of the identified blobs.</param>
/// <returns>An operation response object</returns>
procedure FindBlobsByTags(SearchTags: Dictionary of [Text, Text]; var FoundBlobs: XmlDocument): Codeunit "ABS Operation Response"
var
OptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.FindBlobsByTags(SearchTags, FoundBlobs, OptionalParameters));
end;
/// <summary>
/// The Find Blobs By Tags operation retrieves blobs based on user-defined tags for the specified blob, represented as one or more key-value pairs.
/// see: https://learn.microsoft.com/rest/api/storageservices/find-blobs-by-tags?tabs=azure-ad
/// </summary>
/// <param name="SearchTags">A Dictionary of [Text, Text] with tags to search on.</param>
/// <param name="FoundBlobs">An XmlDocument containing the results of the identified blobs.</param>
/// <param name="OptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure FindBlobsByTags(SearchTags: Dictionary of [Text, Text]; var FoundBlobs: XmlDocument; OptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.FindBlobsByTags(SearchTags, FoundBlobs, OptionalParameters));
end;
/// <summary>
/// The Get Blob Tags operation gets user-defined tags for the specified blob as XmlDocument.
/// see: https://go.microsoft.com/fwlink/?linkid=2211502
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="Tags">The result XmlDocument with blob tags.</param>
/// <returns>An operation response object</returns>
procedure GetBlobTags(BlobName: Text; var Tags: XmlDocument): Codeunit "ABS Operation Response"
var
OptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.GetBlobTags(BlobName, Tags, OptionalParameters))
end;
/// <summary>
/// The Get Blob Tags operation gets user-defined tags for the specified blob as XmlDocument.
/// see: https://go.microsoft.com/fwlink/?linkid=2211502
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="Tags">The result XmlDocument with blob tags.</param>
/// <param name="OptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure GetBlobTags(BlobName: Text; var Tags: XmlDocument; OptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.GetBlobTags(BlobName, Tags, OptionalParameters))
end;
/// <summary>
/// The Get Blob Tags operation gets user-defined tags for the specified blob as one or more key-value pairs.
/// see: https://go.microsoft.com/fwlink/?linkid=2211502
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="Tags">The result Dictionary of [Text, Text] with blob tags.</param>
/// <returns>An operation response object</returns>
procedure GetBlobTags(BlobName: Text; var Tags: Dictionary of [Text, Text]): Codeunit "ABS Operation Response"
var
OptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.GetBlobTags(BlobName, Tags, OptionalParameters))
end;
/// <summary>
/// The Get Blob Tags operation gets user-defined tags for the specified blob as one or more key-value pairs.
/// see: https://go.microsoft.com/fwlink/?linkid=2211502
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="Tags">The result Dictionary of [Text, Text] with blob tags.</param>
/// <param name="OptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure GetBlobTags(BlobName: Text; var Tags: Dictionary of [Text, Text]; OptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.GetBlobTags(BlobName, Tags, OptionalParameters))
end;
/// <summary>
/// The Get Blob Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It doesn't return the content of the blob.
/// see: https://learn.microsoft.com/en-us/rest/api/storageservices/get-blob-properties?tabs=azure-ad
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <returns>An operation response object. The Blob properties are in the response headers.</returns>
procedure GetBlobProperties(BlobName: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.GetBlobProperties(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// The Get Blob Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It doesn't return the content of the blob.
/// see: https://learn.microsoft.com/en-us/rest/api/storageservices/get-blob-properties?tabs=azure-ad
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object. The Blob properties are in the response headers.</returns>
procedure GetBlobProperties(BlobName: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.GetBlobProperties(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// The Blob Exists operation returns true if a blob exists, or false if the blob does not exist.
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <returns>True if the blob exists, false if not.</returns>
procedure BlobExists(BlobName: Text): Boolean
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.BlobExists(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// The Blob Exists operation returns true if a blob exists, or false if the blob does not exist.
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>True if the blob exists, false if not.</returns>
procedure BlobExists(BlobName: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Boolean
begin
exit(ABSClientImpl.BlobExists(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// The Delete Blob operation marks the specified blob or snapshot for deletion. The blob is later deleted during garbage collection.
/// see: https://go.microsoft.com/fwlink/?linkid=2211408
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <returns>An operation response object</returns>
procedure DeleteBlob(BlobName: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.DeleteBlob(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// The Delete Blob operation marks the specified blob or snapshot for deletion. The blob is later deleted during garbage collection.
/// see: https://go.microsoft.com/fwlink/?linkid=2211408
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure DeleteBlob(BlobName: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.DeleteBlob(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// The Undelete Blob operation restores the contents and metadata of a soft deleted blob and any associated soft deleted snapshots (version 2017-07-29 or later)
/// see: https://go.microsoft.com/fwlink/?linkid=2210390
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <returns>An operation response object</returns>
procedure UndeleteBlob(BlobName: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.UndeleteBlob(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// The Undelete Blob operation restores the contents and metadata of a soft deleted blob and any associated soft deleted snapshots (version 2017-07-29 or later)
/// see: https://go.microsoft.com/fwlink/?linkid=2210390
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure UndeleteBlob(BlobName: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.UndeleteBlob(BlobName, ABSOptionalParameters));
end;
/// <summary>
/// The Copy Blob operation copies a blob to a destination within the storage account.
/// see: https://go.microsoft.com/fwlink/?linkid=2210589
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceName">Specifies the name of the source blob or file.</param>
/// <returns>An operation response object</returns>
procedure CopyBlob(BlobName: Text; SourceName: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
LeaseId: Guid;
begin
exit(CopyBlob(BlobName, SourceName, LeaseId, ABSOptionalParameters));
end;
/// <summary>
/// The Copy Blob operation copies a blob to a destination within the storage account.
/// see: https://go.microsoft.com/fwlink/?linkid=2210589
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceName">Specifies the name of the source blob or file.</param>
/// <param name="LeaseId">Required if the destination blob has an active lease. The lease ID specified must match the lease ID of the destination blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure CopyBlob(BlobName: Text; SourceName: Text; LeaseId: Guid; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.CopyBlob(BlobName, SourceName, LeaseId, ABSOptionalParameters));
end;
/// <summary>
/// The Put Block List operation writes a blob by specifying the list of block IDs that make up the blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210392
/// </summary>
/// <param name="CommitedBlocks">Dictionary of [Text, Integer] containing the list of commited blocks that should be put to the Blob</param>
/// <param name="UncommitedBlocks">Dictionary of [Text, Integer] containing the list of uncommited blocks that should be put to the Blob</param>
/// <returns>An operation response object</returns>
procedure PutBlockList(CommitedBlocks: Dictionary of [Text, Integer]; UncommitedBlocks: Dictionary of [Text, Integer]): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlockList('', CommitedBlocks, UncommitedBlocks));
end;
/// <summary>
/// The Put Block List operation writes a blob by specifying the list of block IDs that make up the blob.
/// see: https://go.microsoft.com/fwlink/?linkid=2210392
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="CommitedBlocks">Dictionary of [Text, Integer] containing the list of commited blocks that should be put to the Blob</param>
/// <param name="UncommitedBlocks">Dictionary of [Text, Integer] containing the list of uncommited blocks that should be put to the Blob</param>
/// <returns>An operation response object</returns>
procedure PutBlockList(BlobName: Text; CommitedBlocks: Dictionary of [Text, Integer]; UncommitedBlocks: Dictionary of [Text, Integer]): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlockList(BlobName, CommitedBlocks, UncommitedBlocks));
end;
/// <summary>
/// The Put Block operation creates a new block to be committed as part of a blob.
/// see: https://learn.microsoft.com/en-us/rest/api/storageservices/put-block
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceText">The Content of the Block as Text.</param>
/// <param name="BlockId">Specifies the BlockId that should be put.</param>
/// <returns>An operation response object</returns>
procedure PutBlockText(BlobName: Text; SourceText: Text; BlockId: Text): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlock(BlobName, SourceText, BlockId));
end;
/// <summary>
/// The Put Block operation creates a new block to be committed as part of a blob.
/// see: https://learn.microsoft.com/en-us/rest/api/storageservices/put-block
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceText">The Content of the Block as Text.</param>
/// <returns>An operation response object</returns>
procedure PutBlockText(BlobName: Text; SourceText: Text): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlock(BlobName, SourceText));
end;
/// <summary>
/// The Put Block operation creates a new block to be committed as part of a blob.
/// see: https://learn.microsoft.com/en-us/rest/api/storageservices/put-block
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceInStream">The Content of the Block as InStream.</param>
/// <returns>An operation response object</returns>
procedure PutBlockStream(BlobName: Text; SourceInStream: InStream): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlock(BlobName, SourceInStream));
end;
/// <summary>
/// The Put Block operation creates a new block to be committed as part of a blob.
/// see: https://learn.microsoft.com/en-us/rest/api/storageservices/put-block
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceInStream">The Content of the Block as InStream.</param>
/// <param name="BlockId">Specifies the BlockId that should be put.</param>
/// <returns>An operation response object</returns>
procedure PutBlockStream(BlobName: Text; SourceInStream: InStream; BlockId: Text): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlock(BlobName, SourceInStream, BlockId));
end;
/// <summary>
/// The Put Block From URL operation creates a new block to be committed as part of a blob where the contents are read from a URL.
/// see: https://go.microsoft.com/fwlink/?linkid=2211409
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceUri">Specifies the name of the source block blob.</param>
/// <param name="BlockId">Specifies the BlockId that should be put.</param>
/// <returns>An operation response object</returns>
procedure PutBlockFromURL(BlobName: Text; SourceUri: Text; BlockId: Text): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.PutBlockFromURL(BlobName, SourceUri, BlockId, ABSOptionalParameters));
end;
/// <summary>
/// The Put Block From URL operation creates a new block to be committed as part of a blob where the contents are read from a URL.
/// see: https://go.microsoft.com/fwlink/?linkid=2211409
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="SourceUri">Specifies the name of the source block blob.</param>
/// <param name="BlockId">Specifies the BlockId that should be put.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure PutBlockFromURL(BlobName: Text; SourceUri: Text; BlockId: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.PutBlockFromURL(BlobName, SourceUri, BlockId, ABSOptionalParameters));
end;
/// <summary>
/// Requests a new lease. If the blob does not have an active lease, the Blob service creates a lease on the blob. The lease duration can be 15 to 60 seconds or can be infinite
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">Guid containing the response value from x-ms-lease-id HttpHeader</param>
/// <returns>An operation response object</returns>
procedure AcquireLease(BlobName: Text; var LeaseId: Guid): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
ProposedLeaseId: Guid;
begin
exit(ABSClientImpl.BlobAcquireLease(BlobName, ABSOptionalParameters, -1, ProposedLeaseId, LeaseId)); // Infinite duration, null Guid
end;
/// <summary>
/// Requests a new lease. If the blob does not have an active lease, the Blob service creates a lease on the blob. The lease duration can be 15 to 60 seconds or can be infinite
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <param name="LeaseId">Guid containing the response value from x-ms-lease-id HttpHeader</param>
/// <returns>An operation response object</returns>
procedure AcquireLease(BlobName: Text; ABSOptionalParameters: Codeunit "ABS Optional Parameters"; var LeaseId: Guid): Codeunit "ABS Operation Response"
var
ProposedLeaseId: Guid;
begin
exit(ABSClientImpl.BlobAcquireLease(BlobName, ABSOptionalParameters, -1, ProposedLeaseId, LeaseId)); // Infinite duration, null Guid
end;
/// <summary>
/// Requests a new lease. If the blob does not have an active lease, the Blob service creates a lease on the blob. The lease duration can be 15 to 60 seconds or can be infinite
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="DurationSeconds">Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires</param>
/// <param name="LeaseId">Guid containing the response value from x-ms-lease-id HttpHeader</param>
/// <returns>An operation response object</returns>
procedure AcquireLease(BlobName: Text; DurationSeconds: Integer; var LeaseId: Guid): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
ProposedLeaseId: Guid;
begin
exit(ABSClientImpl.BlobAcquireLease(BlobName, ABSOptionalParameters, DurationSeconds, ProposedLeaseId, LeaseId)); // Custom duration, null Guid
end;
/// <summary>
/// Requests a new lease. If the blob does not have an active lease, the Blob service creates a lease on the blob. The lease duration can be 15 to 60 seconds or can be infinite
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="DurationSeconds">Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <param name="LeaseId">Guid containing the response value from x-ms-lease-id HttpHeader</param>
/// <returns>An operation response object</returns>
procedure AcquireLease(BlobName: Text; DurationSeconds: Integer; ABSOptionalParameters: Codeunit "ABS Optional Parameters"; var LeaseId: Guid): Codeunit "ABS Operation Response"
var
ProposedLeaseId: Guid;
begin
exit(ABSClientImpl.BlobAcquireLease(BlobName, ABSOptionalParameters, DurationSeconds, ProposedLeaseId, LeaseId)); // Custom duration, null Guid
end;
/// <summary>
/// Requests a new lease. If the blob does not have an active lease, the Blob service creates a lease on the blob. The lease duration can be 15 to 60 seconds or can be infinite
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ProposedLeaseId">Proposed lease ID, in a GUID string format</param>
/// <param name="LeaseId">Guid containing the response value from x-ms-lease-id HttpHeader</param>
/// <returns>An operation response object</returns>
procedure AcquireLease(BlobName: Text; ProposedLeaseId: Guid; var LeaseId: Guid): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.BlobAcquireLease(BlobName, ABSOptionalParameters, -1, ProposedLeaseId, LeaseId)); // Infinite duration, custom Guid
end;
/// <summary>
/// Requests a new lease. If the blob does not have an active lease, the Blob service creates a lease on the blob. The lease duration can be 15 to 60 seconds or can be infinite
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="ProposedLeaseId">Proposed lease ID, in a GUID string format</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <param name="LeaseId">Guid containing the response value from x-ms-lease-id HttpHeader</param>
/// <returns>An operation response object</returns>
procedure AcquireLease(BlobName: Text; ProposedLeaseId: Guid; ABSOptionalParameters: Codeunit "ABS Optional Parameters"; var LeaseId: Guid): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.BlobAcquireLease(BlobName, ABSOptionalParameters, -1, ProposedLeaseId, LeaseId)); // Infinite duration, custom Guid
end;
/// <summary>
/// Requests a new lease. If the blob does not have an active lease, the Blob service creates a lease on the blob. The lease duration can be 15 to 60 seconds or can be infinite
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="DurationSeconds">Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires</param>
/// <param name="ProposedLeaseId">Proposed lease ID, in a GUID string format</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <param name="LeaseId">Guid containing the response value from x-ms-lease-id HttpHeader</param>
/// <returns>An operation response object</returns>
procedure AcquireLease(BlobName: Text; DurationSeconds: Integer; ProposedLeaseId: Guid; ABSOptionalParameters: Codeunit "ABS Optional Parameters"; var LeaseId: Guid): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.BlobAcquireLease(BlobName, ABSOptionalParameters, DurationSeconds, ProposedLeaseId, LeaseId));
end;
/// <summary>
/// Releases a lease on a Blob if it is no longer needed so that another client may immediately acquire a lease against the blob
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be released</param>
/// <returns>An operation response object</returns>
procedure ReleaseLease(BlobName: Text; LeaseId: Guid): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.BlobReleaseLease(BlobName, ABSOptionalParameters, LeaseId));
end;
/// <summary>
/// Releases a lease on a Blob if it is no longer needed so that another client may immediately acquire a lease against the blob
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be released</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure ReleaseLease(BlobName: Text; LeaseId: Guid; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.BlobReleaseLease(BlobName, ABSOptionalParameters, LeaseId));
end;
/// <summary>
/// Renews a lease on a Blob to keep it locked again for the same amount of time as before
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be renewed</param>
/// <returns>An operation response object</returns>
procedure RenewLease(BlobName: Text; LeaseId: Guid): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.BlobRenewLease(BlobName, ABSOptionalParameters, LeaseId));
end;
/// <summary>
/// Renews a lease on a Blob to keep it locked again for the same amount of time as before
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be renewed</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure RenewLease(BlobName: Text; LeaseId: Guid; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.BlobRenewLease(BlobName, ABSOptionalParameters, LeaseId));
end;
/// <summary>
/// Breaks a lease on a blob but ensures that another client cannot acquire a new lease until the current lease period has expired
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be broken</param>
/// <returns>An operation response object</returns>
procedure BreakLease(BlobName: Text; LeaseId: Guid): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.BlobBreakLease(BlobName, ABSOptionalParameters, LeaseId, 0));
end;
/// <summary>
/// Breaks a lease on a blob but ensures that another client cannot acquire a new lease until the current lease period has expired
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be broken</param>
/// <param name="LeaseBreakPeriod">The proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.</param>
/// <returns>An operation response object</returns>
procedure BreakLease(BlobName: Text; LeaseId: Guid; LeaseBreakPeriod: Integer): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.BlobBreakLease(BlobName, ABSOptionalParameters, LeaseId, LeaseBreakPeriod));
end;
/// <summary>
/// Breaks a lease on a blob but ensures that another client cannot acquire a new lease until the current lease period has expired
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be broken</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure BreakLease(BlobName: Text; LeaseId: Guid; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.BlobBreakLease(BlobName, ABSOptionalParameters, LeaseId, 0));
end;
/// <summary>
/// Breaks a lease on a blob but ensures that another client cannot acquire a new lease until the current lease period has expired
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be broken</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <param name="LeaseBreakPeriod">The proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.</param>
/// <returns>An operation response object</returns>
procedure BreakLease(BlobName: Text; LeaseId: Guid; ABSOptionalParameters: Codeunit "ABS Optional Parameters"; LeaseBreakPeriod: Integer): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.BlobBreakLease(BlobName, ABSOptionalParameters, LeaseId, LeaseBreakPeriod));
end;
/// <summary>
/// Changes the lease ID of an active lease
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be changed. Will contain the updated Guid after successful operation.</param>
/// <param name="ProposedLeaseId">The Guid that should be used in future</param>
/// <returns>An operation response object</returns>
procedure ChangeLease(BlobName: Text; var LeaseId: Guid; ProposedLeaseId: Guid): Codeunit "ABS Operation Response"
var
ABSOptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.BlobChangeLease(BlobName, ABSOptionalParameters, LeaseId, ProposedLeaseId));
end;
/// <summary>
/// Changes the lease ID of an active lease
/// see: https://go.microsoft.com/fwlink/?linkid=2210391
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="LeaseId">The Guid for the lease that should be changed</param>
/// <param name="ProposedLeaseId">The Guid that should be used in future</param>
/// <param name="ABSOptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure ChangeLease(BlobName: Text; LeaseId: Guid; ProposedLeaseId: Guid; ABSOptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.BlobChangeLease(BlobName, ABSOptionalParameters, LeaseId, ProposedLeaseId));
end;
/// <summary>
/// The GetBlobMetadata operation gets user-defined Metadata for the specified blob as one or more key-value pairs.
/// see: https://learn.microsoft.com/en-us/rest/api/storageservices/get-blob-metadata?tabs=microsoft-entra-id
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="Metadata">The result Dictionary of [Text, Text] with blob metadata.</param>
/// <returns>An operation response object</returns>
procedure GetBlobMetadata(BlobName: Text; var Metadata: Dictionary of [Text, Text]): Codeunit "ABS Operation Response"
var
OptionalParameters: Codeunit "ABS Optional Parameters";
begin
exit(ABSClientImpl.GetBlobMetadata(BlobName, Metadata, OptionalParameters))
end;
/// <summary>
/// The GetBlobMetadata operation gets user-defined Metadata for the specified blob as one or more key-value pairs.
/// see: https://learn.microsoft.com/en-us/rest/api/storageservices/get-blob-metadata?tabs=microsoft-entra-id
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="Metadata">The result Dictionary of [Text, Text] with blob metadata.</param>
/// <param name="OptionalParameters">Optional parameters to pass.</param>
/// <returns>An operation response object</returns>
procedure GetBlobMetaData(BlobName: Text; var Metadata: Dictionary of [Text, Text]; OptionalParameters: Codeunit "ABS Optional Parameters"): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.GetBlobMetadata(BlobName, MetaData, OptionalParameters))
end;
/// <summary>
/// The SetBlobMetadata operation sets user-defined Metadata for the specified blob as one or more key-value pairs.
/// see: https://learn.microsoft.com/en-us/rest/api/storageservices/set-blob-metadata?tabs=microsoft-entra-id
/// </summary>
/// <param name="BlobName">The name of the blob.</param>
/// <param name="Metadata">The result Dictionary of [Text, Text] with blob metadata.</param>
/// <returns>An operation response object</returns>
procedure SetBlobMetadata(BlobName: Text; Metadata: Dictionary of [Text, Text]): Codeunit "ABS Operation Response"
begin
exit(ABSClientImpl.SetBlobMetadata(BlobName, MetaData));
end;
var
ABSClientImpl: Codeunit "ABS Client Impl.";
}