func build()

in server/pkg/server/storage/backends/azblob/engine.go [40:65]


func build(u *url.URL) (serverstorage.Engine, error) {
	// Check arguments
	if u == nil {
		return nil, fmt.Errorf("unable to prepare azblob with nil url")
	}

	q := u.Query()

	azureConnString := os.Getenv("AZURE_CONNECTION_STRING")
	if azureConnString == "" {
		return nil, errors.New("AZURE_CONNECTION_STRING env. variable must be set for azblob backend")
	}

	// Create an Azure Stroage client
	client, err := storage.NewClientFromConnectionString(azureConnString)
	if err != nil {
		return nil, fmt.Errorf("azblob: unable to initialize storage client: %w", err)
	}

	// Build engine instance
	return &engine{
		client:     &client,
		bucketName: u.Hostname(),
		prefix:     q.Get("prefix"),
	}, nil
}