package exported

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

Index

Constants

const (
	// EventUpload is used when we compute number of blocks to upload and size of each block.
	EventUpload log.Event = "azblob.Upload"

	// EventSubmitBatch is used for logging events related to submit blob batch operation.
	EventSubmitBatch log.Event = "azblob.SubmitBatch"
)

NOTE: these are publicly exported via type-aliasing in azblob/log.go

const (
	ModuleName    = "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
	ModuleVersion = "v1.6.1"
)
const SnapshotTimeFormat = "2006-01-02T15:04:05.0000000Z07:00"

Functions

func ComputeHMACSHA256

func ComputeHMACSHA256(cred *SharedKeyCredential, message string) (string, error)

ComputeHMACSHA256 is a helper for computing the signed string outside of this package.

func ComputeUDCHMACSHA256

func ComputeUDCHMACSHA256(udc *UserDelegationCredential, message string) (string, error)

ComputeUDCHMACSHA256 is a helper method for computing the signed string outside this package.

func CreateBatchRequest

func CreateBatchRequest(bb *BlobBatchBuilder) ([]byte, string, error)

CreateBatchRequest creates a new batch request using the sub-requests present in the BlobBatchBuilder.

Example of a sub-request in the batch request body:

--batch_357de4f7-6d0b-4e02-8cd2-6361411a9525
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 0

DELETE /container0/blob0 HTTP/1.1
x-ms-date: Thu, 14 Jun 2018 16:46:54 GMT
Authorization: SharedKey account:<redacted>
Content-Length: 0

func FormatBlobAccessConditions

func FormatBlobAccessConditions(b *BlobAccessConditions) (*LeaseAccessConditions, *ModifiedAccessConditions)

func FormatContainerAccessConditions

func FormatContainerAccessConditions(b *ContainerAccessConditions) (*LeaseAccessConditions, *ModifiedAccessConditions)

func FormatHTTPRange

func FormatHTTPRange(r HTTPRange) *string

FormatHTTPRange converts an HTTPRange to its string format.

func GetAccountName

func GetAccountName(udc *UserDelegationCredential) string

GetAccountName is a helper method for accessing the user delegation key parameters outside this package.

func UpdateSubRequestHeaders

func UpdateSubRequestHeaders(req *policy.Request)

UpdateSubRequestHeaders updates the sub-request headers. Removes x-ms-version header.

Types

type AccessPolicyPermission

type AccessPolicyPermission struct {
	Read, Add, Create, Write, Delete, List bool
}

AccessPolicyPermission type simplifies creating the permissions string for a container's access policy. Initialize an instance of this type and then call its String method to set AccessPolicy's Permission field.

func (*AccessPolicyPermission) Parse

func (p *AccessPolicyPermission) Parse(s string) error

Parse initializes the AccessPolicyPermission's fields from a string.

func (*AccessPolicyPermission) String

func (p *AccessPolicyPermission) String() string

String produces the access policy permission string for an Azure Storage container. Call this method to set AccessPolicy's Permission field.

type BatchResponseItem

type BatchResponseItem struct {
	ContentID     *int
	ContainerName *string
	BlobName      *string
	RequestID     *string
	Version       *string
	Error         error // nil error indicates that the batch sub-request operation is successful
}

BatchResponseItem contains the response for the individual sub-requests.

func ParseBlobBatchResponse

func ParseBlobBatchResponse(respBody io.ReadCloser, contentType *string, subRequests []*policy.Request) ([]*BatchResponseItem, error)

ParseBlobBatchResponse is used for parsing the batch response body into individual sub-responses for each item in the batch.

type BlobAccessConditions

type BlobAccessConditions struct {
	LeaseAccessConditions    *LeaseAccessConditions
	ModifiedAccessConditions *ModifiedAccessConditions
}

BlobAccessConditions identifies blob-specific access conditions which you optionally set.

type BlobBatchBuilder

type BlobBatchBuilder struct {
	AuthPolicy  policy.Policy
	SubRequests []*policy.Request
}

BlobBatchBuilder is used for creating the blob batch request

type BlobBatchOperationType

type BlobBatchOperationType string

BlobBatchOperationType defines the operation of the blob batch sub-requests.

const (
	BatchDeleteOperationType  BlobBatchOperationType = "delete"
	BatchSetTierOperationType BlobBatchOperationType = "set tier"
)

type ContainerAccessConditions

type ContainerAccessConditions struct {
	ModifiedAccessConditions *ModifiedAccessConditions
	LeaseAccessConditions    *LeaseAccessConditions
}

ContainerAccessConditions identifies container-specific access conditions which you optionally set.

type ExpiryType

type ExpiryType interface {
	Format(o *SetExpiryOptions) (generated.ExpiryOptions, *generated.BlobClientSetExpiryOptions)
	// contains filtered or unexported methods
}

ExpiryType defines values for ExpiryType

type ExpiryTypeAbsolute

type ExpiryTypeAbsolute time.Time

ExpiryTypeAbsolute defines the absolute time for the blob expiry

func (ExpiryTypeAbsolute) Format

type ExpiryTypeNever

type ExpiryTypeNever struct {
}

ExpiryTypeNever defines that the blob will be set to never expire

func (ExpiryTypeNever) Format

type ExpiryTypeRelativeToCreation

type ExpiryTypeRelativeToCreation time.Duration

ExpiryTypeRelativeToCreation defines the duration relative to creation for the blob expiry

func (ExpiryTypeRelativeToCreation) Format

type ExpiryTypeRelativeToNow

type ExpiryTypeRelativeToNow time.Duration

ExpiryTypeRelativeToNow defines the duration relative to now for the blob expiry

func (ExpiryTypeRelativeToNow) Format

type HTTPRange

type HTTPRange struct {
	Offset int64
	Count  int64
}

HTTPRange defines a range of bytes within an HTTP resource, starting at offset and ending at offset+count. A zero-value HTTPRange indicates the entire resource. An HTTPRange which has an offset and zero value count indicates from the offset to the resource's end.

type LeaseAccessConditions

type LeaseAccessConditions = generated.LeaseAccessConditions

LeaseAccessConditions contains optional parameters to access leased entity.

type ModifiedAccessConditions

type ModifiedAccessConditions = generated.ModifiedAccessConditions

ModifiedAccessConditions contains a group of parameters for specifying access conditions.

type SetExpiryOptions

type SetExpiryOptions struct {
}

SetExpiryOptions contains the optional parameters for the Client.SetExpiry method.

type SharedKeyCredPolicy

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

func NewSharedKeyCredPolicy

func NewSharedKeyCredPolicy(cred *SharedKeyCredential) *SharedKeyCredPolicy

func (*SharedKeyCredPolicy) Do

type SharedKeyCredential

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

SharedKeyCredential contains an account's name and its primary or secondary key.

func NewSharedKeyCredential

func NewSharedKeyCredential(accountName string, accountKey string) (*SharedKeyCredential, error)

NewSharedKeyCredential creates an immutable SharedKeyCredential containing the storage account's name and either its primary or secondary key.

func (*SharedKeyCredential) AccountName

func (c *SharedKeyCredential) AccountName() string

AccountName returns the Storage account's name.

func (*SharedKeyCredential) SetAccountKey

func (c *SharedKeyCredential) SetAccountKey(accountKey string) error

SetAccountKey replaces the existing account key with the specified account key.

type TransferValidationType

type TransferValidationType interface {
	Apply(io.ReadSeekCloser, generated.TransactionalContentSetter) (io.ReadSeekCloser, error)
	// contains filtered or unexported methods
}

TransferValidationType abstracts the various mechanisms used to verify a transfer.

func TransferValidationTypeComputeCRC64

func TransferValidationTypeComputeCRC64() TransferValidationType

TransferValidationTypeComputeCRC64 is a TransferValidationType that indicates a CRC64 should be computed during transfer.

type TransferValidationTypeCRC64

type TransferValidationTypeCRC64 uint64

TransferValidationTypeCRC64 is a TransferValidationType used to provide a precomputed CRC64.

func (TransferValidationTypeCRC64) Apply

type TransferValidationTypeMD5

type TransferValidationTypeMD5 []byte

TransferValidationTypeMD5 is a TransferValidationType used to provide a precomputed MD5.

func (TransferValidationTypeMD5) Apply

type UserDelegationCredential

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

UserDelegationCredential contains an account's name and its user delegation key.

func NewUserDelegationCredential

func NewUserDelegationCredential(accountName string, udk UserDelegationKey) *UserDelegationCredential

NewUserDelegationCredential creates a new UserDelegationCredential using a Storage account's Name and a user delegation Key from it

type UserDelegationKey

type UserDelegationKey = generated.UserDelegationKey

UserDelegationKey contains UserDelegationKey.

func GetUDKParams

func GetUDKParams(udc *UserDelegationCredential) *UserDelegationKey

GetUDKParams is a helper method for accessing the user delegation key parameters outside this package.

Source Files

access_conditions.go access_policy.go blob_batch.go exported.go log_events.go set_expiry.go shared_key_credential.go transfer_validation_option.go user_delegation_credential.go version.go

Version
v1.6.1 (latest)
Published
Apr 22, 2025
Platform
windows/amd64
Imports
29 packages
Last checked
1 day ago

Tools for package owners.