azure

package module
v0.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2022 License: MPL-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package azure provides a complete API to work with different services of Microsoft Azure (defined as Azure).

Specifications leveraged:

  • Bucket (via Blob Storage)
  • NoSQL (via CosmosDB)
  • Topic (via Service Bus)

Index

Constants

View Source
const Integration string = "azure"

Integration is the string representation of the Azure integration.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {

	// Integration represents the common config shared across all integrations.
	Integration integration.Config `json:"integration"`
}

Config is the configuration an end-user should set to configure the Azure integration.

func (*Config) Validate

func (config *Config) Validate() error

Validate validates the config passed by the end-user. It returns an error if anything critical occured.

type Handler

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

Handler handles the Azure integration and gives access to related workflows and activities.

func New

func New(ctx context.Context, config Config) (*Handler, error)

New returns a new azure Handler. It applies the configuration passed by the end-user.

func (*Handler) Close

func (h *Handler) Close() error

Close closes the integration and the specifications registered by the end-user. An error is returned in case the Handler has already been closed.

func (*Handler) Config added in v0.12.0

func (h *Handler) Config() integration.Config

Config returns the common integration's Config, which is the Config shared by all integrations.

func (*Handler) ConfigMap

func (h *Handler) ConfigMap() map[string]any

ConfigMap transforms the configuration to a map, including a "specifications" key with the configuration for each specification configured.

func (*Handler) Init

func (h *Handler) Init() error

Init initializes the integration and specifications the end-user wants to use. An error is returned in case the Handler has already been initialized.

func (*Handler) IsReady

func (h *Handler) IsReady() bool

IsReady returns if the integration is ready to be consumed by the end-user. The integration must be initialized and must not be closed. This also ensures the specifications leveraged are ready to be consumed. If one of them is not, the integration would not be ready.

func (*Handler) ListActivities

func (h *Handler) ListActivities() []string

ListActivities returns a sorted list of activities' name registered by the integration (and the specifications leveraged if applicable).

func (*Handler) ListWorkflows

func (h *Handler) ListWorkflows() []string

ListWorkflows returns a sorted list of workflows' name registered by the integration (and the specifications leveraged if applicable).

func (*Handler) RegisterWithBucket

func (h *Handler) RegisterWithBucket(w worker.Worker, config bucket.Config) error

RegisterWithBucket registers the bucket specification within the Azure integration. This leverages Blob Storage. End-users will have access to workflows and activities exposed by the bucket specification.

func (*Handler) RegisterWithNoSQL

func (h *Handler) RegisterWithNoSQL(w worker.Worker, config nosql.Config) error

RegisterWithNoSQL registers the NoSQL specification within the Azure integration. This leverages CosmosDB. End-users will have access to workflows and activities exposed by the NoSQL specification.

The Collection to use in nosql.Config is the MongoDB path to the collection to use, including and prefixed by the database name. Example:

nosql.Config{
  Collection: "mydatabase/mycollection",
}

func (*Handler) RegisterWithTopic

func (h *Handler) RegisterWithTopic(w worker.Worker, config topic.Config) error

RegisterWithTopic registers the topic specification within the Azure integration. This leverages Service Bus. End-users will have access to workflows and activities exposed by the topic specification.

func (*Handler) String

func (h *Handler) String() string

String returns the string representation of the integration.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL