Documentation ¶
Overview ¶
Package storage provides clients for Microsoft Azure Storage Services.
Package storage provides clients for Microsoft Azure Storage Services.
Index ¶
- Constants
- type AccessPolicy
- type AccessPolicyDetailsXML
- type AzureStorageServiceError
- type AzureTable
- type Blob
- type BlobHeaders
- type BlobListResponse
- type BlobMetadata
- type BlobProperties
- type BlobStorageClient
- func (b BlobStorageClient) AbortBlobCopy(container, name, copyID, currentLeaseID string, timeout int) error
- func (b BlobStorageClient) AcquireLease(container string, name string, leaseTimeInSeconds int, proposedLeaseID string) (returnedLeaseID string, err error)
- func (b BlobStorageClient) AppendBlock(container, name string, chunk []byte, extraHeaders map[string]string) error
- func (b BlobStorageClient) BlobExists(container, name string) (bool, error)
- func (b BlobStorageClient) BreakLease(container string, name string) (breakTimeout int, err error)
- func (b BlobStorageClient) BreakLeaseWithBreakPeriod(container string, name string, breakPeriodInSeconds int) (breakTimeout int, err error)
- func (b BlobStorageClient) ChangeLease(container string, name string, currentLeaseID string, proposedLeaseID string) (newLeaseID string, err error)
- func (b BlobStorageClient) CopyBlob(container, name, sourceBlob string) error
- func (b BlobStorageClient) CreateBlockBlob(container, name string) error
- func (b BlobStorageClient) CreateBlockBlobFromReader(container, name string, size uint64, blob io.Reader, ...) error
- func (b BlobStorageClient) DeleteBlob(container, name string, extraHeaders map[string]string) error
- func (b BlobStorageClient) DeleteBlobIfExists(container, name string, extraHeaders map[string]string) (bool, error)
- func (b BlobStorageClient) GetBlob(container, name string) (io.ReadCloser, error)
- func (b BlobStorageClient) GetBlobMetadata(container, name string) (map[string]string, error)
- func (b BlobStorageClient) GetBlobProperties(container, name string) (*BlobProperties, error)
- func (b BlobStorageClient) GetBlobRange(container, name, bytesRange string, extraHeaders map[string]string) (io.ReadCloser, error)
- func (b BlobStorageClient) GetBlobSASURI(container, name string, expiry time.Time, permissions string) (string, error)
- func (b BlobStorageClient) GetBlobSASURIWithSignedIPAndProtocol(container, name string, expiry time.Time, permissions string, ...) (string, error)
- func (b BlobStorageClient) GetBlobURL(container, name string) string
- func (b BlobStorageClient) GetBlockList(container, name string, blockType BlockListType) (BlockListResponse, error)
- func (b BlobStorageClient) GetContainerReference(name string) Container
- func (b BlobStorageClient) GetPageRanges(container, name string) (GetPageRangesResponse, error)
- func (b *BlobStorageClient) GetServiceProperties() (*ServiceProperties, error)
- func (b BlobStorageClient) ListContainers(params ListContainersParameters) (*ContainerListResponse, error)
- func (b BlobStorageClient) PutAppendBlob(container, name string, extraHeaders map[string]string) error
- func (b BlobStorageClient) PutBlock(container, name, blockID string, chunk []byte) error
- func (b BlobStorageClient) PutBlockList(container, name string, blocks []Block) error
- func (b BlobStorageClient) PutBlockWithLength(container, name, blockID string, size uint64, blob io.Reader, ...) error
- func (b BlobStorageClient) PutPage(container, name string, startByte, endByte int64, writeType PageWriteType, ...) error
- func (b BlobStorageClient) PutPageBlob(container, name string, size int64, extraHeaders map[string]string) error
- func (b BlobStorageClient) ReleaseLease(container string, name string, currentLeaseID string) error
- func (b BlobStorageClient) RenewLease(container string, name string, currentLeaseID string) error
- func (b BlobStorageClient) SetBlobMetadata(container, name string, metadata map[string]string, ...) error
- func (b BlobStorageClient) SetBlobProperties(container, name string, blobHeaders BlobHeaders) error
- func (b *BlobStorageClient) SetServiceProperties(props ServiceProperties) error
- func (b BlobStorageClient) SnapshotBlob(container string, name string, timeout int, extraHeaders map[string]string) (snapshotTimestamp *time.Time, err error)
- func (b BlobStorageClient) StartBlobCopy(container, name, sourceBlob string) (string, error)
- func (b BlobStorageClient) WaitForBlobCopy(container, name, copyID string) error
- type BlobType
- type Block
- type BlockListResponse
- type BlockListType
- type BlockResponse
- type BlockStatus
- type Client
- func NewBasicClient(accountName, accountKey string) (Client, error)
- func NewBasicClientOnSovereignCloud(accountName, accountKey string, env azure.Environment) (Client, error)
- func NewClient(accountName, accountKey, blobServiceBaseURL, apiVersion string, useHTTPS bool) (Client, error)
- func NewEmulatorClient() (Client, error)
- type Container
- func (c *Container) Create() error
- func (c *Container) CreateIfNotExists() (bool, error)
- func (c *Container) Delete() error
- func (c *Container) DeleteIfExists() (bool, error)
- func (c *Container) Exists() (bool, error)
- func (c *Container) GetPermissions(timeout int, leaseID string) (*ContainerPermissions, error)
- func (c *Container) ListBlobs(params ListBlobsParameters) (BlobListResponse, error)
- func (c *Container) SetPermissions(permissions ContainerPermissions, timeout int, leaseID string) error
- type ContainerAccessPolicy
- type ContainerAccessType
- type ContainerListResponse
- type ContainerPermissions
- type ContainerProperties
- type ContinuationToken
- type Cors
- type CorsRule
- type Directory
- func (d *Directory) Create() error
- func (d *Directory) CreateIfNotExists() (bool, error)
- func (d *Directory) Delete() error
- func (d *Directory) DeleteIfExists() (bool, error)
- func (d *Directory) Exists() (bool, error)
- func (d *Directory) FetchAttributes() error
- func (d *Directory) GetDirectoryReference(name string) *Directory
- func (d *Directory) GetFileReference(name string) *File
- func (d *Directory) ListDirsAndFiles(params ListDirsAndFilesParameters) (*DirsAndFilesListResponse, error)
- func (d *Directory) SetMetadata() error
- func (d *Directory) URL() string
- type DirectoryProperties
- type DirsAndFilesListResponse
- type File
- func (f *File) ClearRange(fileRange FileRange) error
- func (f *File) CopyFile(sourceURL string, options *FileRequestOptions) error
- func (f *File) Create(maxSize uint64) error
- func (f *File) Delete() error
- func (f *File) DeleteIfExists() (bool, error)
- func (f *File) DownloadRangeToStream(fileRange FileRange, getContentMD5 bool) (fs FileStream, err error)
- func (f *File) Exists() (bool, error)
- func (f *File) FetchAttributes() error
- func (f *File) ListRanges(listRange *FileRange) (*FileRanges, error)
- func (f *File) SetMetadata() error
- func (f *File) SetProperties() error
- func (f *File) URL() string
- func (f *File) WriteRange(bytes io.Reader, fileRange FileRange, contentMD5 *string) error
- type FileCopyState
- type FileProperties
- type FileRange
- type FileRanges
- type FileRequestOptions
- type FileServiceClient
- func (f *FileServiceClient) GetServiceProperties() (*ServiceProperties, error)
- func (f FileServiceClient) GetShareReference(name string) Share
- func (f FileServiceClient) ListShares(params ListSharesParameters) (*ShareListResponse, error)
- func (f *FileServiceClient) SetServiceProperties(props ServiceProperties) error
- type FileStream
- type GetMessageResponse
- type GetMessagesParameters
- type GetMessagesResponse
- type GetPageRangesResponse
- type ListBlobsParameters
- type ListContainersParameters
- type ListDirsAndFilesParameters
- type ListSharesParameters
- type Logging
- type Metrics
- type PageRange
- type PageWriteType
- type PeekMessageResponse
- type PeekMessagesParameters
- type PeekMessagesResponse
- type PutMessageParameters
- type QueueMetadataResponse
- type QueueServiceClient
- func (c QueueServiceClient) ClearMessages(queue string) error
- func (c QueueServiceClient) CreateQueue(name string) error
- func (c QueueServiceClient) DeleteMessage(queue, messageID, popReceipt string) error
- func (c QueueServiceClient) DeleteQueue(name string) error
- func (c QueueServiceClient) GetMessages(queue string, params GetMessagesParameters) (GetMessagesResponse, error)
- func (c QueueServiceClient) GetMetadata(name string) (QueueMetadataResponse, error)
- func (c *QueueServiceClient) GetServiceProperties() (*ServiceProperties, error)
- func (c QueueServiceClient) PeekMessages(queue string, params PeekMessagesParameters) (PeekMessagesResponse, error)
- func (c QueueServiceClient) PutMessage(queue string, message string, params PutMessageParameters) error
- func (c QueueServiceClient) QueueExists(name string) (bool, error)
- func (c QueueServiceClient) SetMetadata(name string, metadata map[string]string) error
- func (c *QueueServiceClient) SetServiceProperties(props ServiceProperties) error
- func (c QueueServiceClient) UpdateMessage(queue string, messageID string, message string, params UpdateMessageParameters) error
- type RetentionPolicy
- type ServiceProperties
- type Share
- func (s *Share) Create() error
- func (s *Share) CreateIfNotExists() (bool, error)
- func (s *Share) Delete() error
- func (s *Share) DeleteIfExists() (bool, error)
- func (s *Share) Exists() (bool, error)
- func (s *Share) FetchAttributes() error
- func (s *Share) GetRootDirectoryReference() *Directory
- func (s *Share) ServiceClient() *FileServiceClient
- func (s *Share) SetMetadata() error
- func (s *Share) SetProperties() error
- func (s *Share) URL() string
- type ShareListResponse
- type ShareProperties
- type SignedIdentifier
- type SignedIdentifiers
- type TableAccessPolicy
- type TableEntity
- type TableServiceClient
- func (c *TableServiceClient) CreateTable(table AzureTable) error
- func (c *TableServiceClient) DeleteEntity(table AzureTable, entity TableEntity, ifMatch string) error
- func (c *TableServiceClient) DeleteEntityWithoutCheck(table AzureTable, entity TableEntity) error
- func (c *TableServiceClient) DeleteTable(table AzureTable) error
- func (c *TableServiceClient) GetServiceProperties() (*ServiceProperties, error)
- func (c *TableServiceClient) GetTablePermissions(table AzureTable, timeout int) (permissionResponse []TableAccessPolicy, err error)
- func (c *TableServiceClient) InsertEntity(table AzureTable, entity TableEntity) error
- func (c *TableServiceClient) InsertOrMergeEntity(table AzureTable, entity TableEntity) error
- func (c *TableServiceClient) InsertOrReplaceEntity(table AzureTable, entity TableEntity) error
- func (c *TableServiceClient) MergeEntity(table AzureTable, entity TableEntity) error
- func (c *TableServiceClient) QueryTableEntities(tableName AzureTable, previousContToken *ContinuationToken, ...) ([]TableEntity, *ContinuationToken, error)
- func (c *TableServiceClient) QueryTables() ([]AzureTable, error)
- func (c *TableServiceClient) SetServiceProperties(props ServiceProperties) error
- func (c *TableServiceClient) SetTablePermissions(table AzureTable, policies []TableAccessPolicy, timeout uint) (err error)
- func (c *TableServiceClient) UpdateEntity(table AzureTable, entity TableEntity) error
- type UnexpectedStatusCodeError
- type UpdateMessageParameters
Constants ¶
const ( MaxBlobBlockSize = 4 * 1024 * 1024 MaxBlobPageSize = 4 * 1024 * 1024 )
Maximum sizes (per REST API) for various concepts
const ( // DefaultBaseURL is the domain name used for storage requests in the // public cloud when a default client is created. DefaultBaseURL = "core.windows.net" // DefaultAPIVersion is the Azure Storage API version string used when a // basic client is created. DefaultAPIVersion = "2015-04-05" // StorageEmulatorAccountName is the fixed storage account used by Azure Storage Emulator StorageEmulatorAccountName = "devstoreaccount1" // StorageEmulatorAccountKey is the the fixed storage account used by Azure Storage Emulator StorageEmulatorAccountKey = "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==" )
const (
ContainerAccessHeader string = "x-ms-blob-public-access"
)
ContainerAccessHeader references header used when setting/getting container ACL
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessPolicy ¶
type AccessPolicy struct {
SignedIdentifiersList SignedIdentifiers `xml:"SignedIdentifiers"`
}
AccessPolicy is the response type from the GetPermissions call.
type AccessPolicyDetailsXML ¶
type AccessPolicyDetailsXML struct { StartTime time.Time `xml:"Start"` ExpiryTime time.Time `xml:"Expiry"` Permission string `xml:"Permission"` }
AccessPolicyDetailsXML has specifics about an access policy annotated with XML details.
type AzureStorageServiceError ¶
type AzureStorageServiceError struct { Code string `xml:"Code"` Message string `xml:"Message"` AuthenticationErrorDetail string `xml:"AuthenticationErrorDetail"` QueryParameterName string `xml:"QueryParameterName"` QueryParameterValue string `xml:"QueryParameterValue"` Reason string `xml:"Reason"` StatusCode int RequestID string }
AzureStorageServiceError contains fields of the error response from Azure Storage Service REST API. See https://msdn.microsoft.com/en-us/library/azure/dd179382.aspx Some fields might be specific to certain calls.
func (AzureStorageServiceError) Error ¶
func (e AzureStorageServiceError) Error() string
type Blob ¶
type Blob struct { Name string `xml:"Name"` Properties BlobProperties `xml:"Properties"` Metadata BlobMetadata `xml:"Metadata"` }
A Blob is an entry in BlobListResponse.
type BlobHeaders ¶
type BlobHeaders struct { ContentMD5 string `header:"x-ms-blob-content-md5"` ContentLanguage string `header:"x-ms-blob-content-language"` ContentEncoding string `header:"x-ms-blob-content-encoding"` ContentType string `header:"x-ms-blob-content-type"` CacheControl string `header:"x-ms-blob-cache-control"` }
BlobHeaders contains various properties of a blob and is an entry in SetBlobProperties
type BlobListResponse ¶
type BlobListResponse struct { XMLName xml.Name `xml:"EnumerationResults"` Xmlns string `xml:"xmlns,attr"` Prefix string `xml:"Prefix"` Marker string `xml:"Marker"` NextMarker string `xml:"NextMarker"` MaxResults int64 `xml:"MaxResults"` Blobs []Blob `xml:"Blobs>Blob"` // BlobPrefix is used to traverse blobs as if it were a file system. // It is returned if ListBlobsParameters.Delimiter is specified. // The list here can be thought of as "folders" that may contain // other folders or blobs. BlobPrefixes []string `xml:"Blobs>BlobPrefix>Name"` // Delimiter is used to traverse blobs as if it were a file system. // It is returned if ListBlobsParameters.Delimiter is specified. Delimiter string `xml:"Delimiter"` }
BlobListResponse contains the response fields from ListBlobs call.
See https://msdn.microsoft.com/en-us/library/azure/dd135734.aspx
type BlobMetadata ¶
BlobMetadata is a set of custom name/value pairs.
See https://msdn.microsoft.com/en-us/library/azure/dd179404.aspx
func (BlobMetadata) MarshalXML ¶
func (bm BlobMetadata) MarshalXML(enc *xml.Encoder, start xml.StartElement) error
MarshalXML implements the xml.Marshaler interface. It encodes metadata name/value pairs as they would appear in an Azure ListBlobs response.
func (*BlobMetadata) UnmarshalXML ¶
func (bm *BlobMetadata) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
UnmarshalXML converts the xml:Metadata into Metadata map
type BlobProperties ¶
type BlobProperties struct { LastModified string `xml:"Last-Modified"` Etag string `xml:"Etag"` ContentMD5 string `xml:"Content-MD5"` ContentLength int64 `xml:"Content-Length"` ContentType string `xml:"Content-Type"` ContentEncoding string `xml:"Content-Encoding"` CacheControl string `xml:"Cache-Control"` ContentLanguage string `xml:"Cache-Language"` BlobType BlobType `xml:"x-ms-blob-blob-type"` SequenceNumber int64 `xml:"x-ms-blob-sequence-number"` CopyID string `xml:"CopyId"` CopyStatus string `xml:"CopyStatus"` CopySource string `xml:"CopySource"` CopyProgress string `xml:"CopyProgress"` CopyCompletionTime string `xml:"CopyCompletionTime"` CopyStatusDescription string `xml:"CopyStatusDescription"` LeaseStatus string `xml:"LeaseStatus"` LeaseState string `xml:"LeaseState"` }
BlobProperties contains various properties of a blob returned in various endpoints like ListBlobs or GetBlobProperties.
type BlobStorageClient ¶
type BlobStorageClient struct {
// contains filtered or unexported fields
}
BlobStorageClient contains operations for Microsoft Azure Blob Storage Service.
func (BlobStorageClient) AbortBlobCopy ¶
func (b BlobStorageClient) AbortBlobCopy(container, name, copyID, currentLeaseID string, timeout int) error
AbortBlobCopy aborts a BlobCopy which has already been triggered by the StartBlobCopy function. copyID is generated from StartBlobCopy function. currentLeaseID is required IF the destination blob has an active lease on it. As defined in https://msdn.microsoft.com/en-us/library/azure/jj159098.aspx
func (BlobStorageClient) AcquireLease ¶
func (b BlobStorageClient) AcquireLease(container string, name string, leaseTimeInSeconds int, proposedLeaseID string) (returnedLeaseID string, err error)
AcquireLease creates a lease for a blob as per https://msdn.microsoft.com/en-us/library/azure/ee691972.aspx returns leaseID acquired In API Versions starting on 2012-02-12, the minimum leaseTimeInSeconds is 15, the maximum non-infinite leaseTimeInSeconds is 60. To specify an infinite lease, provide the value -1.
func (BlobStorageClient) AppendBlock ¶
func (b BlobStorageClient) AppendBlock(container, name string, chunk []byte, extraHeaders map[string]string) error
AppendBlock appends a block to an append blob.
See https://msdn.microsoft.com/en-us/library/azure/mt427365.aspx
func (BlobStorageClient) BlobExists ¶
func (b BlobStorageClient) BlobExists(container, name string) (bool, error)
BlobExists returns true if a blob with given name exists on the specified container of the storage account.
func (BlobStorageClient) BreakLease ¶
func (b BlobStorageClient) BreakLease(container string, name string) (breakTimeout int, err error)
BreakLease breaks the lease for a blob as per https://msdn.microsoft.com/en-us/library/azure/ee691972.aspx Returns the timeout remaining in the lease in seconds
func (BlobStorageClient) BreakLeaseWithBreakPeriod ¶
func (b BlobStorageClient) BreakLeaseWithBreakPeriod(container string, name string, breakPeriodInSeconds int) (breakTimeout int, err error)
BreakLeaseWithBreakPeriod breaks the lease for a blob as per https://msdn.microsoft.com/en-us/library/azure/ee691972.aspx breakPeriodInSeconds is used to determine how long until new lease can be created. Returns the timeout remaining in the lease in seconds
func (BlobStorageClient) ChangeLease ¶
func (b BlobStorageClient) ChangeLease(container string, name string, currentLeaseID string, proposedLeaseID string) (newLeaseID string, err error)
ChangeLease changes a lease ID for a blob as per https://msdn.microsoft.com/en-us/library/azure/ee691972.aspx Returns the new LeaseID acquired
func (BlobStorageClient) CopyBlob ¶
func (b BlobStorageClient) CopyBlob(container, name, sourceBlob string) error
CopyBlob starts a blob copy operation and waits for the operation to complete. sourceBlob parameter must be a canonical URL to the blob (can be obtained using GetBlobURL method.) There is no SLA on blob copy and therefore this helper method works faster on smaller files.
See https://msdn.microsoft.com/en-us/library/azure/dd894037.aspx
func (BlobStorageClient) CreateBlockBlob ¶
func (b BlobStorageClient) CreateBlockBlob(container, name string) error
CreateBlockBlob initializes an empty block blob with no blocks.
See https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
func (BlobStorageClient) CreateBlockBlobFromReader ¶
func (b BlobStorageClient) CreateBlockBlobFromReader(container, name string, size uint64, blob io.Reader, extraHeaders map[string]string) error
CreateBlockBlobFromReader initializes a block blob using data from reader. Size must be the number of bytes read from reader. To create an empty blob, use size==0 and reader==nil.
The API rejects requests with size > 64 MiB (but this limit is not checked by the SDK). To write a larger blob, use CreateBlockBlob, PutBlock, and PutBlockList.
See https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
func (BlobStorageClient) DeleteBlob ¶
func (b BlobStorageClient) DeleteBlob(container, name string, extraHeaders map[string]string) error
DeleteBlob deletes the given blob from the specified container. If the blob does not exists at the time of the Delete Blob operation, it returns error. See https://msdn.microsoft.com/en-us/library/azure/dd179413.aspx
func (BlobStorageClient) DeleteBlobIfExists ¶
func (b BlobStorageClient) DeleteBlobIfExists(container, name string, extraHeaders map[string]string) (bool, error)
DeleteBlobIfExists deletes the given blob from the specified container If the blob is deleted with this call, returns true. Otherwise returns false.
See https://msdn.microsoft.com/en-us/library/azure/dd179413.aspx
func (BlobStorageClient) GetBlob ¶
func (b BlobStorageClient) GetBlob(container, name string) (io.ReadCloser, error)
GetBlob returns a stream to read the blob. Caller must call Close() the reader to close on the underlying connection.
See https://msdn.microsoft.com/en-us/library/azure/dd179440.aspx
func (BlobStorageClient) GetBlobMetadata ¶
func (b BlobStorageClient) GetBlobMetadata(container, name string) (map[string]string, error)
GetBlobMetadata returns all user-defined metadata for the specified blob.
All metadata keys will be returned in lower case. (HTTP header names are case-insensitive.)
See https://msdn.microsoft.com/en-us/library/azure/dd179414.aspx
func (BlobStorageClient) GetBlobProperties ¶
func (b BlobStorageClient) GetBlobProperties(container, name string) (*BlobProperties, error)
GetBlobProperties provides various information about the specified blob. See https://msdn.microsoft.com/en-us/library/azure/dd179394.aspx
func (BlobStorageClient) GetBlobRange ¶
func (b BlobStorageClient) GetBlobRange(container, name, bytesRange string, extraHeaders map[string]string) (io.ReadCloser, error)
GetBlobRange reads the specified range of a blob to a stream. The bytesRange string must be in a format like "0-", "10-100" as defined in HTTP 1.1 spec.
See https://msdn.microsoft.com/en-us/library/azure/dd179440.aspx
func (BlobStorageClient) GetBlobSASURI ¶
func (b BlobStorageClient) GetBlobSASURI(container, name string, expiry time.Time, permissions string) (string, error)
GetBlobSASURI creates an URL to the specified blob which contains the Shared Access Signature with specified permissions and expiration time.
See https://msdn.microsoft.com/en-us/library/azure/ee395415.aspx
func (BlobStorageClient) GetBlobSASURIWithSignedIPAndProtocol ¶
func (b BlobStorageClient) GetBlobSASURIWithSignedIPAndProtocol(container, name string, expiry time.Time, permissions string, signedIPRange string, HTTPSOnly bool) (string, error)
GetBlobSASURIWithSignedIPAndProtocol creates an URL to the specified blob which contains the Shared Access Signature with specified permissions and expiration time. Also includes signedIPRange and allowed protocols. If old API version is used but no signedIP is passed (ie empty string) then this should still work. We only populate the signedIP when it non-empty.
See https://msdn.microsoft.com/en-us/library/azure/ee395415.aspx
func (BlobStorageClient) GetBlobURL ¶
func (b BlobStorageClient) GetBlobURL(container, name string) string
GetBlobURL gets the canonical URL to the blob with the specified name in the specified container. If name is not specified, the canonical URL for the entire container is obtained. This method does not create a publicly accessible URL if the blob or container is private and this method does not check if the blob exists.
func (BlobStorageClient) GetBlockList ¶
func (b BlobStorageClient) GetBlockList(container, name string, blockType BlockListType) (BlockListResponse, error)
GetBlockList retrieves list of blocks in the specified block blob.
See https://msdn.microsoft.com/en-us/library/azure/dd179400.aspx
func (BlobStorageClient) GetContainerReference ¶
func (b BlobStorageClient) GetContainerReference(name string) Container
GetContainerReference returns a Container object for the specified container name.
func (BlobStorageClient) GetPageRanges ¶
func (b BlobStorageClient) GetPageRanges(container, name string) (GetPageRangesResponse, error)
GetPageRanges returns the list of valid page ranges for a page blob.
See https://msdn.microsoft.com/en-us/library/azure/ee691973.aspx
func (*BlobStorageClient) GetServiceProperties ¶
func (b *BlobStorageClient) GetServiceProperties() (*ServiceProperties, error)
GetServiceProperties gets the properties of your storage account's blob service. See: https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-blob-service-properties
func (BlobStorageClient) ListContainers ¶
func (b BlobStorageClient) ListContainers(params ListContainersParameters) (*ContainerListResponse, error)
ListContainers returns the list of containers in a storage account along with pagination token and other response details.
See https://msdn.microsoft.com/en-us/library/azure/dd179352.aspx
func (BlobStorageClient) PutAppendBlob ¶
func (b BlobStorageClient) PutAppendBlob(container, name string, extraHeaders map[string]string) error
PutAppendBlob initializes an empty append blob with specified name. An append blob must be created using this method before appending blocks.
See https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
func (BlobStorageClient) PutBlock ¶
func (b BlobStorageClient) PutBlock(container, name, blockID string, chunk []byte) error
PutBlock saves the given data chunk to the specified block blob with given ID.
The API rejects chunks larger than 4 MiB (but this limit is not checked by the SDK).
See https://msdn.microsoft.com/en-us/library/azure/dd135726.aspx
func (BlobStorageClient) PutBlockList ¶
func (b BlobStorageClient) PutBlockList(container, name string, blocks []Block) error
PutBlockList saves list of blocks to the specified block blob.
See https://msdn.microsoft.com/en-us/library/azure/dd179467.aspx
func (BlobStorageClient) PutBlockWithLength ¶
func (b BlobStorageClient) PutBlockWithLength(container, name, blockID string, size uint64, blob io.Reader, extraHeaders map[string]string) error
PutBlockWithLength saves the given data stream of exactly specified size to the block blob with given ID. It is an alternative to PutBlocks where data comes as stream but the length is known in advance.
The API rejects requests with size > 4 MiB (but this limit is not checked by the SDK).
See https://msdn.microsoft.com/en-us/library/azure/dd135726.aspx
func (BlobStorageClient) PutPage ¶
func (b BlobStorageClient) PutPage(container, name string, startByte, endByte int64, writeType PageWriteType, chunk []byte, extraHeaders map[string]string) error
PutPage writes a range of pages to a page blob or clears the given range. In case of 'clear' writes, given chunk is discarded. Ranges must be aligned with 512-byte boundaries and chunk must be of size multiplies by 512.
func (BlobStorageClient) PutPageBlob ¶
func (b BlobStorageClient) PutPageBlob(container, name string, size int64, extraHeaders map[string]string) error
PutPageBlob initializes an empty page blob with specified name and maximum size in bytes (size must be aligned to a 512-byte boundary). A page blob must be created using this method before writing pages.
See https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
func (BlobStorageClient) ReleaseLease ¶
func (b BlobStorageClient) ReleaseLease(container string, name string, currentLeaseID string) error
ReleaseLease releases the lease for a blob as per https://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
func (BlobStorageClient) RenewLease ¶
func (b BlobStorageClient) RenewLease(container string, name string, currentLeaseID string) error
RenewLease renews the lease for a blob as per https://msdn.microsoft.com/en-us/library/azure/ee691972.aspx
func (BlobStorageClient) SetBlobMetadata ¶
func (b BlobStorageClient) SetBlobMetadata(container, name string, metadata map[string]string, extraHeaders map[string]string) error
SetBlobMetadata replaces the metadata for the specified blob.
Some keys may be converted to Camel-Case before sending. All keys are returned in lower case by GetBlobMetadata. HTTP header names are case-insensitive so case munging should not matter to other applications either.
See https://msdn.microsoft.com/en-us/library/azure/dd179414.aspx
func (BlobStorageClient) SetBlobProperties ¶
func (b BlobStorageClient) SetBlobProperties(container, name string, blobHeaders BlobHeaders) error
SetBlobProperties replaces the BlobHeaders for the specified blob.
Some keys may be converted to Camel-Case before sending. All keys are returned in lower case by GetBlobProperties. HTTP header names are case-insensitive so case munging should not matter to other applications either.
See https://msdn.microsoft.com/en-us/library/azure/ee691966.aspx
func (*BlobStorageClient) SetServiceProperties ¶
func (b *BlobStorageClient) SetServiceProperties(props ServiceProperties) error
SetServiceProperties sets the properties of your storage account's blob service. See: https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/set-blob-service-properties
func (BlobStorageClient) SnapshotBlob ¶
func (b BlobStorageClient) SnapshotBlob(container string, name string, timeout int, extraHeaders map[string]string) (snapshotTimestamp *time.Time, err error)
SnapshotBlob creates a snapshot for a blob as per https://msdn.microsoft.com/en-us/library/azure/ee691971.aspx
func (BlobStorageClient) StartBlobCopy ¶
func (b BlobStorageClient) StartBlobCopy(container, name, sourceBlob string) (string, error)
StartBlobCopy starts a blob copy operation. sourceBlob parameter must be a canonical URL to the blob (can be obtained using GetBlobURL method.)
See https://msdn.microsoft.com/en-us/library/azure/dd894037.aspx
func (BlobStorageClient) WaitForBlobCopy ¶
func (b BlobStorageClient) WaitForBlobCopy(container, name, copyID string) error
WaitForBlobCopy loops until a BlobCopy operation is completed (or fails with error)
type Block ¶
type Block struct { ID string Status BlockStatus }
Block is used to create Block entities for Put Block List call.
type BlockListResponse ¶
type BlockListResponse struct { XMLName xml.Name `xml:"BlockList"` CommittedBlocks []BlockResponse `xml:"CommittedBlocks>Block"` UncommittedBlocks []BlockResponse `xml:"UncommittedBlocks>Block"` }
BlockListResponse contains the response fields from Get Block List call.
See https://msdn.microsoft.com/en-us/library/azure/dd179400.aspx
type BlockListType ¶
type BlockListType string
BlockListType is used to filter out types of blocks in a Get Blocks List call for a block blob.
See https://msdn.microsoft.com/en-us/library/azure/dd179400.aspx for all block types.
const ( BlockListTypeAll BlockListType = "all" BlockListTypeCommitted BlockListType = "committed" BlockListTypeUncommitted BlockListType = "uncommitted" )
Filters for listing blocks in block blobs
type BlockResponse ¶
BlockResponse contains the block information returned in the GetBlockListCall.
type BlockStatus ¶
type BlockStatus string
BlockStatus defines states a block for a block blob can be in.
const ( BlockStatusUncommitted BlockStatus = "Uncommitted" BlockStatusCommitted BlockStatus = "Committed" BlockStatusLatest BlockStatus = "Latest" )
List of statuses that can be used to refer to a block in a block list
type Client ¶
type Client struct { // HTTPClient is the http.Client used to initiate API // requests. If it is nil, http.DefaultClient is used. HTTPClient *http.Client // contains filtered or unexported fields }
Client is the object that needs to be constructed to perform operations on the storage account.
func NewBasicClient ¶
NewBasicClient constructs a Client with given storage service name and key.
func NewBasicClientOnSovereignCloud ¶
func NewBasicClientOnSovereignCloud(accountName, accountKey string, env azure.Environment) (Client, error)
NewBasicClientOnSovereignCloud constructs a Client with given storage service name and key in the referenced cloud.
func NewClient ¶
func NewClient(accountName, accountKey, blobServiceBaseURL, apiVersion string, useHTTPS bool) (Client, error)
NewClient constructs a Client. This should be used if the caller wants to specify whether to use HTTPS, a specific REST API version or a custom storage endpoint than Azure Public Cloud.
func NewEmulatorClient ¶
NewEmulatorClient contructs a Client intended to only work with Azure Storage Emulator
func (*Client) AddToUserAgent ¶
AddToUserAgent adds an extension to the current user agent
func (Client) GetBlobService ¶
func (c Client) GetBlobService() BlobStorageClient
GetBlobService returns a BlobStorageClient which can operate on the blob service of the storage account.
func (Client) GetFileService ¶
func (c Client) GetFileService() FileServiceClient
GetFileService returns a FileServiceClient which can operate on the file service of the storage account.
func (Client) GetQueueService ¶
func (c Client) GetQueueService() QueueServiceClient
GetQueueService returns a QueueServiceClient which can operate on the queue service of the storage account.
func (Client) GetTableService ¶
func (c Client) GetTableService() TableServiceClient
GetTableService returns a TableServiceClient which can operate on the table service of the storage account.
type Container ¶
type Container struct { Name string `xml:"Name"` Properties ContainerProperties `xml:"Properties"` // contains filtered or unexported fields }
Container represents an Azure container.
func (*Container) Create ¶
Create creates a blob container within the storage account with given name and access level. Returns error if container already exists.
See https://msdn.microsoft.com/en-us/library/azure/dd179468.aspx
func (*Container) CreateIfNotExists ¶
CreateIfNotExists creates a blob container if it does not exist. Returns true if container is newly created or false if container already exists.
func (*Container) Delete ¶
Delete deletes the container with given name on the storage account. If the container does not exist returns error.
See https://msdn.microsoft.com/en-us/library/azure/dd179408.aspx
func (*Container) DeleteIfExists ¶
DeleteIfExists deletes the container with given name on the storage account if it exists. Returns true if container is deleted with this call, or false if the container did not exist at the time of the Delete Container operation.
See https://msdn.microsoft.com/en-us/library/azure/dd179408.aspx
func (*Container) Exists ¶
Exists returns true if a container with given name exists on the storage account, otherwise returns false.
func (*Container) GetPermissions ¶
func (c *Container) GetPermissions(timeout int, leaseID string) (*ContainerPermissions, error)
GetPermissions gets the container permissions as per https://msdn.microsoft.com/en-us/library/azure/dd179469.aspx If timeout is 0 then it will not be passed to Azure leaseID will only be passed to Azure if populated
func (*Container) ListBlobs ¶
func (c *Container) ListBlobs(params ListBlobsParameters) (BlobListResponse, error)
ListBlobs returns an object that contains list of blobs in the container, pagination token and other information in the response of List Blobs call.
See https://msdn.microsoft.com/en-us/library/azure/dd135734.aspx
func (*Container) SetPermissions ¶
func (c *Container) SetPermissions(permissions ContainerPermissions, timeout int, leaseID string) error
SetPermissions sets up container permissions as per https://msdn.microsoft.com/en-us/library/azure/dd179391.aspx
type ContainerAccessPolicy ¶
type ContainerAccessPolicy struct { ID string StartTime time.Time ExpiryTime time.Time CanRead bool CanWrite bool CanDelete bool }
ContainerAccessPolicy represents each access policy in the container ACL.
type ContainerAccessType ¶
type ContainerAccessType string
ContainerAccessType defines the access level to the container from a public request.
See https://msdn.microsoft.com/en-us/library/azure/dd179468.aspx and "x-ms- blob-public-access" header.
const ( ContainerAccessTypePrivate ContainerAccessType = "" ContainerAccessTypeBlob ContainerAccessType = "blob" ContainerAccessTypeContainer ContainerAccessType = "container" )
Access options for containers
type ContainerListResponse ¶
type ContainerListResponse struct { XMLName xml.Name `xml:"EnumerationResults"` Xmlns string `xml:"xmlns,attr"` Prefix string `xml:"Prefix"` Marker string `xml:"Marker"` NextMarker string `xml:"NextMarker"` MaxResults int64 `xml:"MaxResults"` Containers []Container `xml:"Containers>Container"` }
ContainerListResponse contains the response fields from ListContainers call.
See https://msdn.microsoft.com/en-us/library/azure/dd179352.aspx
type ContainerPermissions ¶
type ContainerPermissions struct { AccessType ContainerAccessType AccessPolicies []ContainerAccessPolicy }
ContainerPermissions represents the container ACLs.
type ContainerProperties ¶
type ContainerProperties struct { LastModified string `xml:"Last-Modified"` Etag string `xml:"Etag"` LeaseStatus string `xml:"LeaseStatus"` LeaseState string `xml:"LeaseState"` LeaseDuration string `xml:"LeaseDuration"` }
ContainerProperties contains various properties of a container returned from various endpoints like ListContainers.
type ContinuationToken ¶
ContinuationToken is an opaque (ie not useful to inspect) struct that Get... methods can return if there are more entries to be returned than the ones already returned. Just pass it to the same function to continue receiving the remaining entries.
type CorsRule ¶
type CorsRule struct { AllowedOrigins string AllowedMethods string MaxAgeInSeconds int ExposedHeaders string AllowedHeaders string }
CorsRule includes all settings for a Cors rule
type Directory ¶
type Directory struct { Metadata map[string]string Name string `xml:"Name"` Properties DirectoryProperties // contains filtered or unexported fields }
Directory represents a directory on a share.
func (*Directory) Create ¶
Create this directory in the associated share. If a directory with the same name already exists, the operation fails.
See https://msdn.microsoft.com/en-us/library/azure/dn166993.aspx
func (*Directory) CreateIfNotExists ¶
CreateIfNotExists creates this directory under the associated share if the directory does not exists. Returns true if the directory is newly created or false if the directory already exists.
See https://msdn.microsoft.com/en-us/library/azure/dn166993.aspx
func (*Directory) Delete ¶
Delete removes this directory. It must be empty in order to be deleted. If the directory does not exist the operation fails.
See https://msdn.microsoft.com/en-us/library/azure/dn166969.aspx
func (*Directory) DeleteIfExists ¶
DeleteIfExists removes this directory if it exists.
See https://msdn.microsoft.com/en-us/library/azure/dn166969.aspx
func (*Directory) FetchAttributes ¶
FetchAttributes retrieves metadata for this directory.
func (*Directory) GetDirectoryReference ¶
GetDirectoryReference returns a child Directory object for this directory.
func (*Directory) GetFileReference ¶
GetFileReference returns a child File object for this directory.
func (*Directory) ListDirsAndFiles ¶
func (d *Directory) ListDirsAndFiles(params ListDirsAndFilesParameters) (*DirsAndFilesListResponse, error)
ListDirsAndFiles returns a list of files and directories under this directory. It also contains a pagination token and other response details.
See https://msdn.microsoft.com/en-us/library/azure/dn166980.aspx
func (*Directory) SetMetadata ¶
SetMetadata replaces the metadata for this directory.
Some keys may be converted to Camel-Case before sending. All keys are returned in lower case by GetDirectoryMetadata. HTTP header names are case-insensitive so case munging should not matter to other applications either.
See https://msdn.microsoft.com/en-us/library/azure/mt427370.aspx
type DirectoryProperties ¶
type DirectoryProperties struct { LastModified string `xml:"Last-Modified"` Etag string `xml:"Etag"` }
DirectoryProperties contains various properties of a directory.
type DirsAndFilesListResponse ¶
type DirsAndFilesListResponse struct { XMLName xml.Name `xml:"EnumerationResults"` Xmlns string `xml:"xmlns,attr"` Marker string `xml:"Marker"` MaxResults int64 `xml:"MaxResults"` Directories []Directory `xml:"Entries>Directory"` Files []File `xml:"Entries>File"` NextMarker string `xml:"NextMarker"` }
DirsAndFilesListResponse contains the response fields from a List Files and Directories call.
See https://msdn.microsoft.com/en-us/library/azure/dn166980.aspx
type File ¶
type File struct { Metadata map[string]string Name string `xml:"Name"` Properties FileProperties `xml:"Properties"` FileCopyProperties FileCopyState // contains filtered or unexported fields }
File represents a file on a share.
func (*File) ClearRange ¶
ClearRange releases the specified range of space in a file.
See https://msdn.microsoft.com/en-us/library/azure/dn194276.aspx
func (*File) CopyFile ¶
func (f *File) CopyFile(sourceURL string, options *FileRequestOptions) error
CopyFile operation copied a file/blob from the sourceURL to the path provided.
See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/copy-file
func (*File) Create ¶
Create creates a new file or replaces an existing one.
See https://msdn.microsoft.com/en-us/library/azure/dn194271.aspx
func (*File) Delete ¶
Delete immediately removes this file from the storage account.
See https://msdn.microsoft.com/en-us/library/azure/dn689085.aspx
func (*File) DeleteIfExists ¶
DeleteIfExists removes this file if it exists.
See https://msdn.microsoft.com/en-us/library/azure/dn689085.aspx
func (*File) DownloadRangeToStream ¶
func (f *File) DownloadRangeToStream(fileRange FileRange, getContentMD5 bool) (fs FileStream, err error)
DownloadRangeToStream operation downloads the specified range of this file with optional MD5 hash.
See https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-file
func (*File) FetchAttributes ¶
FetchAttributes updates metadata and properties for this file.
func (*File) ListRanges ¶
func (f *File) ListRanges(listRange *FileRange) (*FileRanges, error)
ListRanges returns the list of valid ranges for this file.
See https://msdn.microsoft.com/en-us/library/azure/dn166984.aspx
func (*File) SetMetadata ¶
SetMetadata replaces the metadata for this file.
Some keys may be converted to Camel-Case before sending. All keys are returned in lower case by GetFileMetadata. HTTP header names are case-insensitive so case munging should not matter to other applications either.
See https://msdn.microsoft.com/en-us/library/azure/dn689097.aspx
func (*File) SetProperties ¶
SetProperties sets system properties on this file.
Some keys may be converted to Camel-Case before sending. All keys are returned in lower case by SetFileProperties. HTTP header names are case-insensitive so case munging should not matter to other applications either.
See https://msdn.microsoft.com/en-us/library/azure/dn166975.aspx
func (*File) URL ¶
URL gets the canonical URL to this file. This method does not create a publicly accessible URL if the file is private and this method does not check if the file exists.
func (*File) WriteRange ¶
WriteRange writes a range of bytes to this file with an optional MD5 hash of the content. Note that the length of bytes must match (rangeEnd - rangeStart) + 1 with a maximum size of 4MB.
See https://msdn.microsoft.com/en-us/library/azure/dn194276.aspx
type FileCopyState ¶
type FileCopyState struct { CompletionTime string ID string `header:"x-ms-copy-id"` Progress string Source string Status string `header:"x-ms-copy-status"` StatusDesc string }
FileCopyState contains various properties of a file copy operation.
type FileProperties ¶
type FileProperties struct { CacheControl string `header:"x-ms-cache-control"` Disposition string `header:"x-ms-content-disposition"` Encoding string `header:"x-ms-content-encoding"` Etag string Language string `header:"x-ms-content-language"` LastModified string Length uint64 `xml:"Content-Length"` MD5 string `header:"x-ms-content-md5"` Type string `header:"x-ms-content-type"` }
FileProperties contains various properties of a file.
type FileRange ¶
FileRange contains range information for a file.
See https://msdn.microsoft.com/en-us/library/azure/dn166984.aspx
type FileRanges ¶
type FileRanges struct { ContentLength uint64 LastModified string ETag string FileRanges []FileRange `xml:"Range"` }
FileRanges contains a list of file range information for a file.
See https://msdn.microsoft.com/en-us/library/azure/dn166984.aspx
type FileRequestOptions ¶
type FileRequestOptions struct {
Timeout uint // timeout duration in seconds.
}
FileRequestOptions will be passed to misc file operations. Currently just Timeout (in seconds) but will expand.
type FileServiceClient ¶
type FileServiceClient struct {
// contains filtered or unexported fields
}
FileServiceClient contains operations for Microsoft Azure File Service.
func (*FileServiceClient) GetServiceProperties ¶
func (f *FileServiceClient) GetServiceProperties() (*ServiceProperties, error)
GetServiceProperties gets the properties of your storage account's file service. File service does not support logging See: https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-file-service-properties
func (FileServiceClient) GetShareReference ¶
func (f FileServiceClient) GetShareReference(name string) Share
GetShareReference returns a Share object for the specified share name.
func (FileServiceClient) ListShares ¶
func (f FileServiceClient) ListShares(params ListSharesParameters) (*ShareListResponse, error)
ListShares returns the list of shares in a storage account along with pagination token and other response details.
See https://msdn.microsoft.com/en-us/library/azure/dd179352.aspx
func (*FileServiceClient) SetServiceProperties ¶
func (f *FileServiceClient) SetServiceProperties(props ServiceProperties) error
SetServiceProperties sets the properties of your storage account's file service. File service does not support logging See: https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/set-file-service-properties
type FileStream ¶
type FileStream struct { Body io.ReadCloser ContentMD5 string }
FileStream contains file data returned from a call to GetFile.
type GetMessageResponse ¶
type GetMessageResponse struct { MessageID string `xml:"MessageId"` InsertionTime string `xml:"InsertionTime"` ExpirationTime string `xml:"ExpirationTime"` PopReceipt string `xml:"PopReceipt"` TimeNextVisible string `xml:"TimeNextVisible"` DequeueCount int `xml:"DequeueCount"` MessageText string `xml:"MessageText"` }
GetMessageResponse represents a QueueMessage object returned from Get Messages operation response.
type GetMessagesParameters ¶
GetMessagesParameters is the set of options can be specified for Get Messsages operation. A zero struct does not use any preferences for the request.
type GetMessagesResponse ¶
type GetMessagesResponse struct { XMLName xml.Name `xml:"QueueMessagesList"` QueueMessagesList []GetMessageResponse `xml:"QueueMessage"` }
GetMessagesResponse represents a response returned from Get Messages operation.
type GetPageRangesResponse ¶
type GetPageRangesResponse struct { XMLName xml.Name `xml:"PageList"` PageList []PageRange `xml:"PageRange"` }
GetPageRangesResponse contains the response fields from Get Page Ranges call.
See https://msdn.microsoft.com/en-us/library/azure/ee691973.aspx
type ListBlobsParameters ¶
type ListBlobsParameters struct { Prefix string Delimiter string Marker string Include string MaxResults uint Timeout uint }
ListBlobsParameters defines the set of customizable parameters to make a List Blobs call.
See https://msdn.microsoft.com/en-us/library/azure/dd135734.aspx
type ListContainersParameters ¶
type ListContainersParameters struct { Prefix string Marker string Include string MaxResults uint Timeout uint }
ListContainersParameters defines the set of customizable parameters to make a List Containers call.
See https://msdn.microsoft.com/en-us/library/azure/dd179352.aspx
type ListDirsAndFilesParameters ¶
ListDirsAndFilesParameters defines the set of customizable parameters to make a List Files and Directories call.
See https://msdn.microsoft.com/en-us/library/azure/dn166980.aspx
type ListSharesParameters ¶
type ListSharesParameters struct {}
ListSharesParameters defines the set of customizable parameters to make a List Shares call.
See https://msdn.microsoft.com/en-us/library/azure/dn167009.aspx
type Logging ¶
type Logging struct { Version string Delete bool Read bool Write bool RetentionPolicy *RetentionPolicy }
Logging represents the Azure Analytics Logging settings
type Metrics ¶
type Metrics struct { Version string Enabled bool IncludeAPIs *bool RetentionPolicy *RetentionPolicy }
Metrics provide request statistics.
type PageRange ¶
PageRange contains information about a page of a page blob from Get Pages Range call.
See https://msdn.microsoft.com/en-us/library/azure/ee691973.aspx
type PageWriteType ¶
type PageWriteType string
PageWriteType defines the type updates that are going to be done on the page blob.
const ( PageWriteTypeUpdate PageWriteType = "update" PageWriteTypeClear PageWriteType = "clear" )
Types of operations on page blobs
type PeekMessageResponse ¶
type PeekMessageResponse struct { MessageID string `xml:"MessageId"` InsertionTime string `xml:"InsertionTime"` ExpirationTime string `xml:"ExpirationTime"` DequeueCount int `xml:"DequeueCount"` MessageText string `xml:"MessageText"` }
PeekMessageResponse represents a QueueMessage object returned from Peek Messages operation response.
type PeekMessagesParameters ¶
type PeekMessagesParameters struct {
NumOfMessages int
}
PeekMessagesParameters is the set of options can be specified for Peek Messsage operation. A zero struct does not use any preferences for the request.
type PeekMessagesResponse ¶
type PeekMessagesResponse struct { XMLName xml.Name `xml:"QueueMessagesList"` QueueMessagesList []PeekMessageResponse `xml:"QueueMessage"` }
PeekMessagesResponse represents a response returned from Get Messages operation.
type PutMessageParameters ¶
PutMessageParameters is the set of options can be specified for Put Messsage operation. A zero struct does not use any preferences for the request.
type QueueMetadataResponse ¶
type QueueMetadataResponse struct { ApproximateMessageCount int UserDefinedMetadata map[string]string }
QueueMetadataResponse represents user defined metadata and queue properties on a specific queue.
See https://msdn.microsoft.com/en-us/library/azure/dd179384.aspx
type QueueServiceClient ¶
type QueueServiceClient struct {
// contains filtered or unexported fields
}
QueueServiceClient contains operations for Microsoft Azure Queue Storage Service.
func (QueueServiceClient) ClearMessages ¶
func (c QueueServiceClient) ClearMessages(queue string) error
ClearMessages operation deletes all messages from the specified queue.
See https://msdn.microsoft.com/en-us/library/azure/dd179454.aspx
func (QueueServiceClient) CreateQueue ¶
func (c QueueServiceClient) CreateQueue(name string) error
CreateQueue operation creates a queue under the given account.
See https://msdn.microsoft.com/en-us/library/azure/dd179342.aspx
func (QueueServiceClient) DeleteMessage ¶
func (c QueueServiceClient) DeleteMessage(queue, messageID, popReceipt string) error
DeleteMessage operation deletes the specified message.
See https://msdn.microsoft.com/en-us/library/azure/dd179347.aspx
func (QueueServiceClient) DeleteQueue ¶
func (c QueueServiceClient) DeleteQueue(name string) error
DeleteQueue operation permanently deletes the specified queue.
See https://msdn.microsoft.com/en-us/library/azure/dd179436.aspx
func (QueueServiceClient) GetMessages ¶
func (c QueueServiceClient) GetMessages(queue string, params GetMessagesParameters) (GetMessagesResponse, error)
GetMessages operation retrieves one or more messages from the front of the queue.
See https://msdn.microsoft.com/en-us/library/azure/dd179474.aspx
func (QueueServiceClient) GetMetadata ¶
func (c QueueServiceClient) GetMetadata(name string) (QueueMetadataResponse, error)
GetMetadata operation retrieves user-defined metadata and queue properties on the specified queue. Metadata is associated with the queue as name-values pairs.
See https://msdn.microsoft.com/en-us/library/azure/dd179384.aspx
Because the way Golang's http client (and http.Header in particular) canonicalize header names, the returned metadata names would always be all lower case.
func (*QueueServiceClient) GetServiceProperties ¶
func (c *QueueServiceClient) GetServiceProperties() (*ServiceProperties, error)
GetServiceProperties gets the properties of your storage account's queue service. See: https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-queue-service-properties
func (QueueServiceClient) PeekMessages ¶
func (c QueueServiceClient) PeekMessages(queue string, params PeekMessagesParameters) (PeekMessagesResponse, error)
PeekMessages retrieves one or more messages from the front of the queue, but does not alter the visibility of the message.
See https://msdn.microsoft.com/en-us/library/azure/dd179472.aspx
func (QueueServiceClient) PutMessage ¶
func (c QueueServiceClient) PutMessage(queue string, message string, params PutMessageParameters) error
PutMessage operation adds a new message to the back of the message queue.
See https://msdn.microsoft.com/en-us/library/azure/dd179346.aspx
func (QueueServiceClient) QueueExists ¶
func (c QueueServiceClient) QueueExists(name string) (bool, error)
QueueExists returns true if a queue with given name exists.
func (QueueServiceClient) SetMetadata ¶
func (c QueueServiceClient) SetMetadata(name string, metadata map[string]string) error
SetMetadata operation sets user-defined metadata on the specified queue. Metadata is associated with the queue as name-value pairs.
See https://msdn.microsoft.com/en-us/library/azure/dd179348.aspx
func (*QueueServiceClient) SetServiceProperties ¶
func (c *QueueServiceClient) SetServiceProperties(props ServiceProperties) error
SetServiceProperties sets the properties of your storage account's queue service. See: https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/set-queue-service-properties
func (QueueServiceClient) UpdateMessage ¶
func (c QueueServiceClient) UpdateMessage(queue string, messageID string, message string, params UpdateMessageParameters) error
UpdateMessage operation deletes the specified message.
See https://msdn.microsoft.com/en-us/library/azure/hh452234.aspx
type RetentionPolicy ¶
RetentionPolicy indicates if retention is enabled and for how many days
type ServiceProperties ¶
type ServiceProperties struct { Logging *Logging HourMetrics *Metrics MinuteMetrics *Metrics Cors *Cors }
ServiceProperties represents the storage account service properties
type Share ¶
type Share struct { // contains filtered or unexported fields }
Share represents an Azure file share.
func (*Share) Create ¶
Create this share under the associated account. If a share with the same name already exists, the operation fails.
See https://msdn.microsoft.com/en-us/library/azure/dn167008.aspx
func (*Share) CreateIfNotExists ¶
CreateIfNotExists creates this share under the associated account if it does not exist. Returns true if the share is newly created or false if the share already exists.
See https://msdn.microsoft.com/en-us/library/azure/dn167008.aspx
func (*Share) Delete ¶
Delete marks this share for deletion. The share along with any files and directories contained within it are later deleted during garbage collection. If the share does not exist the operation fails
See https://msdn.microsoft.com/en-us/library/azure/dn689090.aspx
func (*Share) DeleteIfExists ¶
DeleteIfExists operation marks this share for deletion if it exists.
See https://msdn.microsoft.com/en-us/library/azure/dn689090.aspx
func (*Share) Exists ¶
Exists returns true if this share already exists on the storage account, otherwise returns false.
func (*Share) FetchAttributes ¶
FetchAttributes retrieves metadata and properties for this share.
func (*Share) GetRootDirectoryReference ¶
GetRootDirectoryReference returns a Directory object at the root of this share.
func (*Share) ServiceClient ¶
func (s *Share) ServiceClient() *FileServiceClient
ServiceClient returns the FileServiceClient associated with this share.
func (*Share) SetMetadata ¶
SetMetadata replaces the metadata for this share.
Some keys may be converted to Camel-Case before sending. All keys are returned in lower case by GetShareMetadata. HTTP header names are case-insensitive so case munging should not matter to other applications either.
See https://msdn.microsoft.com/en-us/library/azure/dd179414.aspx
func (*Share) SetProperties ¶
SetProperties sets system properties for this share.
Some keys may be converted to Camel-Case before sending. All keys are returned in lower case by SetShareProperties. HTTP header names are case-insensitive so case munging should not matter to other applications either.
See https://msdn.microsoft.com/en-us/library/azure/mt427368.aspx
type ShareListResponse ¶
type ShareListResponse struct {}
ShareListResponse contains the response fields from ListShares call.
See https://msdn.microsoft.com/en-us/library/azure/dn167009.aspx
type ShareProperties ¶
type ShareProperties struct {}
ShareProperties contains various properties of a share.
type SignedIdentifier ¶
type SignedIdentifier struct { ID string `xml:"Id"` AccessPolicy AccessPolicyDetailsXML `xml:"AccessPolicy"` }
SignedIdentifier is a wrapper for a specific policy
type SignedIdentifiers ¶
type SignedIdentifiers struct {
SignedIdentifiers []SignedIdentifier `xml:"SignedIdentifier"`
}
SignedIdentifiers part of the response from GetPermissions call.
type TableAccessPolicy ¶
type TableAccessPolicy struct { ID string StartTime time.Time ExpiryTime time.Time CanRead bool CanAppend bool CanUpdate bool CanDelete bool }
TableAccessPolicy are used for SETTING table policies
type TableEntity ¶
type TableEntity interface { PartitionKey() string RowKey() string SetPartitionKey(string) error SetRowKey(string) error }
TableEntity interface specifies the functions needed to support marshaling and unmarshaling into Azure Tables. The struct must only contain simple types because Azure Tables do not support hierarchy.
type TableServiceClient ¶
type TableServiceClient struct {
// contains filtered or unexported fields
}
TableServiceClient contains operations for Microsoft Azure Table Storage Service.
func (*TableServiceClient) CreateTable ¶
func (c *TableServiceClient) CreateTable(table AzureTable) error
CreateTable creates the table given the specific name. This function fails if the name is not compliant with the specification or the tables already exists.
func (*TableServiceClient) DeleteEntity ¶
func (c *TableServiceClient) DeleteEntity(table AzureTable, entity TableEntity, ifMatch string) error
DeleteEntity deletes the entity matching by PartitionKey, RowKey and ifMatch field. The function fails if there is no entity with the same PartitionKey and RowKey in the table or the ifMatch is different.
func (*TableServiceClient) DeleteEntityWithoutCheck ¶
func (c *TableServiceClient) DeleteEntityWithoutCheck(table AzureTable, entity TableEntity) error
DeleteEntityWithoutCheck deletes the entity matching by PartitionKey and RowKey. There is no check on IfMatch parameter so the entity is always deleted. The function fails if there is no entity with the same PartitionKey and RowKey in the table.
func (*TableServiceClient) DeleteTable ¶
func (c *TableServiceClient) DeleteTable(table AzureTable) error
DeleteTable deletes the table given the specific name. This function fails if the table is not present. Be advised: DeleteTable deletes all the entries that may be present.
func (*TableServiceClient) GetServiceProperties ¶
func (c *TableServiceClient) GetServiceProperties() (*ServiceProperties, error)
GetServiceProperties gets the properties of your storage account's table service. See: https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-table-service-properties
func (*TableServiceClient) GetTablePermissions ¶
func (c *TableServiceClient) GetTablePermissions(table AzureTable, timeout int) (permissionResponse []TableAccessPolicy, err error)
GetTablePermissions gets the table ACL permissions, as per REST details https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/get-table-acl
func (*TableServiceClient) InsertEntity ¶
func (c *TableServiceClient) InsertEntity(table AzureTable, entity TableEntity) error
InsertEntity inserts an entity in the specified table. The function fails if there is an entity with the same PartitionKey and RowKey in the table.
func (*TableServiceClient) InsertOrMergeEntity ¶
func (c *TableServiceClient) InsertOrMergeEntity(table AzureTable, entity TableEntity) error
InsertOrMergeEntity inserts an entity in the specified table or merges the existing one.
func (*TableServiceClient) InsertOrReplaceEntity ¶
func (c *TableServiceClient) InsertOrReplaceEntity(table AzureTable, entity TableEntity) error
InsertOrReplaceEntity inserts an entity in the specified table or replaced the existing one.
func (*TableServiceClient) MergeEntity ¶
func (c *TableServiceClient) MergeEntity(table AzureTable, entity TableEntity) error
MergeEntity merges the contents of an entity with the one passed as parameter. The function fails if there is no entity with the same PartitionKey and RowKey in the table.
func (*TableServiceClient) QueryTableEntities ¶
func (c *TableServiceClient) QueryTableEntities(tableName AzureTable, previousContToken *ContinuationToken, retType reflect.Type, top int, query string) ([]TableEntity, *ContinuationToken, error)
QueryTableEntities queries the specified table and returns the unmarshaled entities of type retType. top parameter limits the returned entries up to top. Maximum top allowed by Azure API is 1000. In case there are more than top entries to be returned the function will return a non nil *ContinuationToken. You can call the same function again passing the received ContinuationToken as previousContToken parameter in order to get the following entries. The query parameter is the odata query. To retrieve all the entries pass the empty string. The function returns a pointer to a TableEntity slice, the *ContinuationToken if there are more entries to be returned and an error in case something went wrong.
Example:
entities, cToken, err = tSvc.QueryTableEntities("table", cToken, reflect.TypeOf(entity), 20, "")
func (*TableServiceClient) QueryTables ¶
func (c *TableServiceClient) QueryTables() ([]AzureTable, error)
QueryTables returns the tables created in the *TableServiceClient storage account.
func (*TableServiceClient) SetServiceProperties ¶
func (c *TableServiceClient) SetServiceProperties(props ServiceProperties) error
SetServiceProperties sets the properties of your storage account's table service. See: https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/set-table-service-properties
func (*TableServiceClient) SetTablePermissions ¶
func (c *TableServiceClient) SetTablePermissions(table AzureTable, policies []TableAccessPolicy, timeout uint) (err error)
SetTablePermissions sets up table ACL permissions as per REST details https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Set-Table-ACL
func (*TableServiceClient) UpdateEntity ¶
func (c *TableServiceClient) UpdateEntity(table AzureTable, entity TableEntity) error
UpdateEntity updates the contents of an entity with the one passed as parameter. The function fails if there is no entity with the same PartitionKey and RowKey in the table.
type UnexpectedStatusCodeError ¶
type UnexpectedStatusCodeError struct {
// contains filtered or unexported fields
}
UnexpectedStatusCodeError is returned when a storage service responds with neither an error nor with an HTTP status code indicating success.
func (UnexpectedStatusCodeError) Error ¶
func (e UnexpectedStatusCodeError) Error() string
func (UnexpectedStatusCodeError) Got ¶
func (e UnexpectedStatusCodeError) Got() int
Got is the actual status code returned by Azure.
type UpdateMessageParameters ¶
UpdateMessageParameters is the set of options can be specified for Update Messsage operation. A zero struct does not use any preferences for the request.