mirror of
				https://github.com/gofiber/storage.git
				synced 2025-10-31 11:46:32 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			113 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| id: azureblob
 | |
| title: Azure Blob
 | |
| ---
 | |
| 
 | |
| 
 | |
| [](https://gofiber.io/discord)
 | |
| 
 | |
| 
 | |
| [Azure Blob storage](https://azure.microsoft.com/en-us/products/storage/blobs/#overview) is Microsoft's object storage solution for the cloud.
 | |
| 
 | |
| ### Table of Contents
 | |
| 
 | |
| - [Signatures](#signatures)
 | |
| - [Installation](#installation)
 | |
| - [Examples](#examples)
 | |
| - [Config](#config)
 | |
| - [Default Config](#default-config)
 | |
| 
 | |
| ### Signatures
 | |
| 
 | |
| ```go
 | |
| func New(config ...Config) Storage
 | |
| func (s *Storage) Get(key string) ([]byte, error)
 | |
| func (s *Storage) GetWithContext(ctx context.Context, key string) ([]byte, error)
 | |
| func (s *Storage) Set(key string, val []byte, exp time.Duration) error
 | |
| func (s *Storage) SetWithContext(ctx context.Context, key string, val []byte, exp time.Duration) error
 | |
| func (s *Storage) Delete(key string) error
 | |
| func (s *Storage) DeleteWithContext(ctx context.Context, key string) error
 | |
| func (s *Storage) Reset() error
 | |
| func (s *Storage) ResetWithContext(ctx context.Context) error
 | |
| func (s *Storage) Close() error
 | |
| func (s *Storage) Conn() *azblob.Client
 | |
| ```
 | |
| 
 | |
| ### Installation
 | |
| 
 | |
| Azure blob storage driver is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet:
 | |
| 
 | |
| ```bash
 | |
| go mod init github.com/<user>/<repo>
 | |
| ```
 | |
| 
 | |
| And then install the azure blob implementation:
 | |
| 
 | |
| ```bash
 | |
| go get github.com/gofiber/storage/azureblob/v2
 | |
| ```
 | |
| 
 | |
| ### Examples
 | |
| 
 | |
| Import the storage package.
 | |
| 
 | |
| ```go
 | |
| import "github.com/gofiber/storage/azureblob/v2"
 | |
| ```
 | |
| 
 | |
| You can use the following possibilities to create a storage:
 | |
| 
 | |
| ```go
 | |
| // Initialize default config
 | |
| store := azureblob.New()
 | |
| 
 | |
| // Initialize custom config
 | |
| store := azureblob.New(azureblob.Config{
 | |
|     Account:   "test",
 | |
|     Container: "test",
 | |
|     Credentials: Credentials{
 | |
|         Account: "test",
 | |
|         Key:     "YXp1cml0ZWtleQo=",
 | |
|     },
 | |
| })
 | |
| ```
 | |
| 
 | |
| ### Config
 | |
| 
 | |
| ```go
 | |
| type Config struct {
 | |
|     // Storage account name.
 | |
|     Account string
 | |
|     // Container name.
 | |
|     Container string
 | |
|     // Storage endpoint.
 | |
|     // Optional. Default: "https://STORAGEACCOUNTNAME.blob.core.windows.net"
 | |
|     Endpoint string
 | |
|     // Request timeout.
 | |
|     // Optional. Default is 0 (no timeout)
 | |
|     RequestTimeout time.Duration
 | |
|     // Reset clears any existing keys in existing container.
 | |
|     // Optional. Default is false
 | |
|     Reset bool
 | |
|     // Credentials overrides AWS access key and AWS secret access key. Not recommended.
 | |
|     // Optional. Default is Credentials{}
 | |
|     Credentials Credentials
 | |
|     // The maximum number of times requests that encounter retryable failures should be attempted.
 | |
|     // Optional. Default is 3
 | |
|     MaxAttempts int
 | |
| }
 | |
| ```
 | |
| 
 | |
| ### Default Config
 | |
| 
 | |
| ```go
 | |
| var ConfigDefault = Config{
 | |
|     Account:        "",
 | |
|     Container:      "",
 | |
|     Endpoint:       "",
 | |
|     RequestTimeout: 0,
 | |
|     Reset:          false,
 | |
|     MaxAttempts:    3,
 | |
| }
 | |
| ```
 | 
