or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
golangpkg:golang/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob@v1.6.4

docs

appendblob.mdblob.mdblockblob.mdclient.mdcontainer.mderrors.mdindex.mdlease.mdpageblob.mdsas.mdservice.md
tile.json

tessl/golang-github-com--azure--azure-sdk-for-go--sdk--storage--azblob

tessl install tessl/golang-github-com--azure--azure-sdk-for-go--sdk--storage--azblob@1.6.0

Azure Blob Storage SDK for Go providing comprehensive blob storage operations including uploads, downloads, container management, and advanced features like leases and SAS generation

appendblob.mddocs/

Append Blob Client (appendblob.Client)

The append blob client provides operations specific to append blobs, which are optimized for append operations like logging scenarios.

Package Import

import "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob"

Client Type

type Client struct {
    // contains filtered or unexported fields
}

Constructors

func NewClient(blobURL string, cred azcore.TokenCredential, options *ClientOptions) (*Client, error)
func NewClientWithSharedKeyCredential(blobURL string, cred *blob.SharedKeyCredential, options *ClientOptions) (*Client, error)
func NewClientFromConnectionString(connectionString, containerName, blobName string, options *ClientOptions) (*Client, error)
func NewClientWithNoCredential(blobURL string, options *ClientOptions) (*Client, error)

Client Access

func (c *Client) BlobClient() *blob.Client
func (c *Client) URL() string
func (c *Client) WithSnapshot(snapshot string) (*Client, error)
func (c *Client) WithVersionID(versionID string) (*Client, error)

Append Blob Operations

Create

Creates a new append blob.

func (c *Client) Create(ctx context.Context, o *CreateOptions) (CreateResponse, error)

Options:

type CreateOptions struct {
    HTTPHeaders      *blob.HTTPHeaders
    Metadata         map[string]*string
    Tags             map[string]string
    AccessConditions *blob.AccessConditions
    CPKInfo          *blob.CPKInfo
    CPKScopeInfo     *blob.CPKScopeInfo
}

AppendBlock

Appends a block of data to an append blob.

func (c *Client) AppendBlock(ctx context.Context, body io.ReadSeekCloser, o *AppendBlockOptions) (AppendBlockResponse, error)

Options:

type AppendBlockOptions struct {
    AppendPositionAccessConditions *AppendPositionAccessConditions
    CPKInfo                        *blob.CPKInfo
    CPKScopeInfo                   *blob.CPKScopeInfo
    LeaseAccessConditions          *blob.LeaseAccessConditions
    ModifiedAccessConditions       *blob.ModifiedAccessConditions
    TransferValidation             blob.TransferValidationType
}

type AppendPositionAccessConditions struct {
    AppendPosition *int64
    MaxSize        *int64
}

Example:

// Create append blob
_, err := appendBlobClient.Create(ctx, nil)
if err != nil {
    // handle error
}

// Append data
data := bytes.NewReader([]byte("log entry 1\n"))
_, err = appendBlobClient.AppendBlock(ctx, streaming.NopCloser(data), nil)

// Append more data
data2 := bytes.NewReader([]byte("log entry 2\n"))
_, err = appendBlobClient.AppendBlock(ctx, streaming.NopCloser(data2), nil)

AppendBlockFromURL

Appends a block from a URL source.

func (c *Client) AppendBlockFromURL(ctx context.Context, source string, o *AppendBlockFromURLOptions) (AppendBlockFromURLResponse, error)

Options:

type AppendBlockFromURLOptions struct {
    AppendPositionAccessConditions *AppendPositionAccessConditions
    CPKInfo                        *blob.CPKInfo
    CPKScopeInfo                   *blob.CPKScopeInfo
    LeaseAccessConditions          *blob.LeaseAccessConditions
    ModifiedAccessConditions       *blob.ModifiedAccessConditions
    SourceModifiedAccessConditions *blob.SourceModifiedAccessConditions
    SourceRange                    *blob.HTTPRange
    SourceContentMD5               []byte
    SourceContentCRC64             []byte
}

Seal

Seals an append blob, making it read-only and preventing further appends.

func (c *Client) Seal(ctx context.Context, o *SealOptions) (SealResponse, error)

Options:

type SealOptions struct {
    AppendPositionAccessConditions *AppendPositionAccessConditions
    LeaseAccessConditions          *blob.LeaseAccessConditions
    ModifiedAccessConditions       *blob.ModifiedAccessConditions
}

SetExpiry

Sets blob expiry time (hierarchical namespace only).

func (c *Client) SetExpiry(ctx context.Context, expiryType ExpiryType, o *SetExpiryOptions) (SetExpiryResponse, error)

Options:

type SetExpiryOptions struct {
    ExpiresOn *time.Time
}

Response:

type SetExpiryResponse struct {
    ClientRequestID *string
    Date            *time.Time
    ETag            *azcore.ETag
    LastModified    *time.Time
    RequestID       *string
    Version         *string
}

Enums

Expiry Type

type ExpiryType string

const (
    ExpiryTypeAbsolute            ExpiryType = "Absolute"
    ExpiryTypeNever               ExpiryType = "NeverExpire"
    ExpiryTypeRelativeToCreation  ExpiryType = "RelativeToCreation"
    ExpiryTypeRelativeToNow       ExpiryType = "RelativeToNow"
)

func PossibleExpiryTypeValues() []ExpiryType

Client Options

type ClientOptions struct {
    Telemetry                       policy.TelemetryOptions
    Transport                       policy.Transporter
    Retry                           policy.RetryOptions
    PerCallPolicies                 []policy.Policy
    PerRetryPolicies                []policy.Policy
    InsecureAllowCredentialWithHTTP bool
    DisableRPRegistration           bool
}