tessl install tessl/golang-github-com--azure--azure-sdk-for-go--sdk--storage--azblob@1.6.0Azure Blob Storage SDK for Go providing comprehensive blob storage operations including uploads, downloads, container management, and advanced features like leases and SAS generation
The blob client handles operations common to all blob types including properties, metadata, tags, downloads, copying, snapshots, and deletion.
import "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob"type Client struct {
// contains filtered or unexported fields
}func NewClient(blobURL string, cred azcore.TokenCredential, options *ClientOptions) (*Client, error)
func NewClientWithSharedKeyCredential(blobURL string, cred *SharedKeyCredential, options *ClientOptions) (*Client, error)
func NewClientFromConnectionString(connectionString, containerName, blobName string, options *ClientOptions) (*Client, error)
func NewClientWithNoCredential(blobURL string, options *ClientOptions) (*Client, error)func (c *Client) URL() string
func (c *Client) WithSnapshot(snapshot string) (*Client, error)
func (c *Client) WithVersionID(versionID string) (*Client, error)func (c *Client) GetProperties(ctx context.Context, options *GetPropertiesOptions) (GetPropertiesResponse, error)
func (c *Client) SetHTTPHeaders(ctx context.Context, httpHeaders HTTPHeaders, o *SetHTTPHeadersOptions) (SetHTTPHeadersResponse, error)
func (c *Client) SetMetadata(ctx context.Context, metadata map[string]*string, o *SetMetadataOptions) (SetMetadataResponse, error)
func (c *Client) GetTags(ctx context.Context, options *GetTagsOptions) (GetTagsResponse, error)
func (c *Client) SetTags(ctx context.Context, tags map[string]string, options *SetTagsOptions) (SetTagsResponse, error)
func (c *Client) GetAccountInfo(ctx context.Context, o *GetAccountInfoOptions) (GetAccountInfoResponse, error)type HTTPHeaders struct {
BlobContentType *string
BlobContentEncoding *string
BlobContentLanguage *string
BlobContentMD5 []byte
BlobCacheControl *string
BlobContentDisposition *string
}func (c *Client) Delete(ctx context.Context, o *DeleteOptions) (DeleteResponse, error)
func (c *Client) Undelete(ctx context.Context, o *UndeleteOptions) (UndeleteResponse, error)
func (c *Client) CreateSnapshot(ctx context.Context, options *CreateSnapshotOptions) (CreateSnapshotResponse, error)
func (c *Client) SetTier(ctx context.Context, tier AccessTier, o *SetTierOptions) (SetTierResponse, error)// Synchronous copy from URL
func (c *Client) CopyFromURL(ctx context.Context, copySource string, options *CopyFromURLOptions) (CopyFromURLResponse, error)
// Asynchronous copy from URL
func (c *Client) StartCopyFromURL(ctx context.Context, copySource string, options *StartCopyFromURLOptions) (StartCopyFromURLResponse, error)
// Abort copy operation
func (c *Client) AbortCopyFromURL(ctx context.Context, copyID string, options *AbortCopyFromURLOptions) (AbortCopyFromURLResponse, error)// Download as stream
func (c *Client) DownloadStream(ctx context.Context, o *DownloadStreamOptions) (DownloadStreamResponse, error)
// Download to buffer
func (c *Client) DownloadBuffer(ctx context.Context, buffer []byte, o *DownloadBufferOptions) (int64, error)
// Download to file
func (c *Client) DownloadFile(ctx context.Context, file *os.File, o *DownloadFileOptions) (int64, error)type DownloadStreamOptions struct {
Range HTTPRange
AccessConditions *AccessConditions
CPKInfo *CPKInfo
CPKScopeInfo *CPKScopeInfo
}
type DownloadBufferOptions struct {
Range HTTPRange
Concurrency uint16
BlockSize int64
AccessConditions *AccessConditions
CPKInfo *CPKInfo
CPKScopeInfo *CPKScopeInfo
}
type DownloadFileOptions struct {
Range HTTPRange
Concurrency uint16
BlockSize int64
AccessConditions *AccessConditions
CPKInfo *CPKInfo
CPKScopeInfo *CPKScopeInfo
}type HTTPRange struct {
Offset int64
Count int64
}func (c *Client) SetImmutabilityPolicy(ctx context.Context, expiryTime time.Time, options *SetImmutabilityPolicyOptions) (SetImmutabilityPolicyResponse, error)
func (c *Client) DeleteImmutabilityPolicy(ctx context.Context, options *DeleteImmutabilityPolicyOptions) (DeleteImmutabilityPolicyResponse, error)
func (c *Client) SetLegalHold(ctx context.Context, legalHold bool, options *SetLegalHoldOptions) (SetLegalHoldResponse, error)func (c *Client) GetSASURL(permissions sas.BlobPermissions, expiry time.Time, o *GetSASURLOptions) (string, error)const (
DefaultDownloadBlockSize int64 = 4 * 1024 * 1024
DefaultConcurrency uint16 = 5
CountToEnd int64 = 0
SnapshotTimeFormat = "2006-01-02T15:04:05.0000000Z07:00"
)type AccessTier string
const (
AccessTierArchive AccessTier = "Archive"
AccessTierCool AccessTier = "Cool"
AccessTierCold AccessTier = "Cold"
AccessTierHot AccessTier = "Hot"
AccessTierP4 AccessTier = "P4"
AccessTierP6 AccessTier = "P6"
AccessTierP10 AccessTier = "P10"
AccessTierP15 AccessTier = "P15"
AccessTierP20 AccessTier = "P20"
AccessTierP30 AccessTier = "P30"
AccessTierP40 AccessTier = "P40"
AccessTierP50 AccessTier = "P50"
AccessTierP60 AccessTier = "P60"
AccessTierP70 AccessTier = "P70"
AccessTierP80 AccessTier = "P80"
AccessTierPremium AccessTier = "Premium"
)type BlobType string
const (
BlobTypeBlockBlob BlobType = "BlockBlob"
BlobTypePageBlob BlobType = "PageBlob"
BlobTypeAppendBlob BlobType = "AppendBlob"
)type CopyStatusType string
const (
CopyStatusTypePending CopyStatusType = "pending"
CopyStatusTypeSuccess CopyStatusType = "success"
CopyStatusTypeAborted CopyStatusType = "aborted"
CopyStatusTypeFailed CopyStatusType = "failed"
)type DeleteSnapshotsOptionType string
const (
DeleteSnapshotsOptionTypeInclude DeleteSnapshotsOptionType = "include"
DeleteSnapshotsOptionTypeOnly DeleteSnapshotsOptionType = "only"
)type DeleteType string
const (
DeleteTypeNone DeleteType = "None"
DeleteTypePermanent DeleteType = "Permanent"
)type ImmutabilityPolicyMode string
const (
ImmutabilityPolicyModeMutable ImmutabilityPolicyMode = "Mutable"
ImmutabilityPolicyModeUnlocked ImmutabilityPolicyMode = "Unlocked"
ImmutabilityPolicyModeLocked ImmutabilityPolicyMode = "Locked"
)
type ImmutabilityPolicySetting string
const (
ImmutabilityPolicySettingUnlocked ImmutabilityPolicySetting = "Unlocked"
ImmutabilityPolicySettingLocked ImmutabilityPolicySetting = "Locked"
)type RehydratePriority string
const (
RehydratePriorityHigh RehydratePriority = "High"
RehydratePriorityStandard RehydratePriority = "Standard"
)
func PossibleRehydratePriorityValues() []RehydratePrioritytype ArchiveStatus string
const (
ArchiveStatusRehydratePendingToCool ArchiveStatus = "rehydrate-pending-to-cool"
ArchiveStatusRehydratePendingToHot ArchiveStatus = "rehydrate-pending-to-hot"
ArchiveStatusRehydratePendingToCold ArchiveStatus = "rehydrate-pending-to-cold"
)
func PossibleArchiveStatusValues() []ArchiveStatustype QueryFormatType string
const (
QueryFormatTypeDelimited QueryFormatType = "delimited"
QueryFormatTypeJSON QueryFormatType = "json"
QueryFormatTypeArrow QueryFormatType = "arrow"
QueryFormatTypeParquet QueryFormatType = "parquet"
)
func PossibleQueryFormatTypeValues() []QueryFormatTypetype FileRequestIntentType string
const (
FileRequestIntentTypeBackup FileRequestIntentType = "backup"
)
func PossibleFileRequestIntentTypeValues() []FileRequestIntentTypefunc ParseHTTPHeaders(resp GetPropertiesResponse) HTTPHeadersConverts a GetPropertiesResponse into HTTPHeaders struct for use with SetHTTPHeaders.
func ParseURL(u string) (URLParts, error)Parses a blob URL string into its component parts.
func TransferValidationTypeComputeCRC64() TransferValidationTypeReturns a TransferValidationType that uses CRC64 checksums for data integrity validation.
func PossibleAccessTierValues() []AccessTier
func PossibleBlobTypeValues() []BlobType
func PossibleCopyStatusTypeValues() []CopyStatusType
func PossibleDeleteSnapshotsOptionTypeValues() []DeleteSnapshotsOptionType
func PossibleDeleteTypeValues() []DeleteType
func PossibleEncryptionAlgorithmTypeValues() []EncryptionAlgorithmType
func PossibleImmutabilityPolicyModeValues() []ImmutabilityPolicyMode
func PossibleImmutabilityPolicySettingValues() []ImmutabilityPolicySettingReturns all possible values for the respective enum types.
type AccessConditions struct {
ModifiedAccessConditions *ModifiedAccessConditions
LeaseAccessConditions *LeaseAccessConditions
}
type ModifiedAccessConditions struct {
IfMatch *azcore.ETag
IfNoneMatch *azcore.ETag
IfModifiedSince *time.Time
IfUnmodifiedSince *time.Time
IfTags *string
}
type LeaseAccessConditions struct {
LeaseID *string
}
type SourceModifiedAccessConditions struct {
SourceIfMatch *azcore.ETag
SourceIfNoneMatch *azcore.ETag
SourceIfModifiedSince *time.Time
SourceIfUnmodifiedSince *time.Time
SourceIfTags *string
}type CPKInfo struct {
EncryptionKey *string
EncryptionKeySHA256 *string
EncryptionAlgorithm *EncryptionAlgorithmType
}
type CPKScopeInfo struct {
EncryptionScope *string
}
type EncryptionAlgorithmType string
const EncryptionAlgorithmTypeAES256 EncryptionAlgorithmType = "AES256"type ObjectReplicationPolicy struct {
PolicyID *string
Rules *[]ObjectReplicationRule
}
type ObjectReplicationRule struct {
RuleID *string
ReplicationStatus *ObjectReplicationStatus
}
type ObjectReplicationStatus string
const (
ObjectReplicationStatusComplete ObjectReplicationStatus = "complete"
ObjectReplicationStatusFailed ObjectReplicationStatus = "failed"
)type TransferValidationType interface {
Apply(body io.ReadSeekCloser) (io.ReadSeekCloser, error)
ComputeHash(body []byte) []byte
}
type TransferValidationTypeMD5 struct{}
type TransferValidationTypeCRC64 struct{}
type SourceContentValidationType interface {
Apply(options interface{})
}
type SourceContentValidationTypeMD5 []byte
type SourceContentValidationTypeCRC64 []bytetype RetryReader struct {
// contains filtered or unexported fields
}
type RetryReaderOptions struct {
MaxRetries int32
OnFailedRead func(failureCount int, lastError error, offset int64, count int64, willRetry bool)
ClientProvidedKeyOptions *CPKInfo
CPKScopeInfo *CPKScopeInfo
}
func NewRetryReader(ctx context.Context, initialResponse *http.Response, info RetryReaderOptions, getter func(ctx context.Context, offset int64) (*http.Response, error)) *RetryReadertype SharedKeyCredential = service.SharedKeyCredential