Documentation ¶
Index ¶
- Variables
- type Client
- func New(transport transport.Transport, creds transport.Credentials, ...) (*Client, error)
- func NewFromConnectionString(transport transport.Transport, cs string, opts ...ClientOption) (*Client, error)
- func NewFromX509Cert(transport transport.Transport, deviceID, hostName string, crt *tls.Certificate, ...) (*Client, error)
- func NewFromX509FromFile(transport transport.Transport, deviceID, hostname, certFile, keyFile string, ...) (*Client, error)
- func (c *Client) Close() error
- func (c *Client) Connect(ctx context.Context) error
- func (c *Client) DeviceID() string
- func (c *Client) RegisterMethod(ctx context.Context, name string, fn DirectMethodHandler) error
- func (c *Client) RetrieveTwinState(ctx context.Context) (desired TwinState, reported TwinState, err error)
- func (c *Client) SendEvent(ctx context.Context, payload []byte, opts ...SendOption) error
- func (c *Client) SubscribeEvents(ctx context.Context) (*EventSub, error)
- func (c *Client) SubscribeTwinUpdates(ctx context.Context) (*TwinStateSub, error)
- func (c *Client) UnregisterMethod(name string)
- func (c *Client) UnsubscribeEvents(sub *EventSub)
- func (c *Client) UnsubscribeTwinUpdates(sub *TwinStateSub)
- func (c *Client) UpdateTwinState(ctx context.Context, s TwinState) (int, error)
- type ClientOption
- type DirectMethodHandler
- type EventSub
- type SendOption
- type SharedAccessKeyCredentials
- type TwinState
- type TwinStateSub
- type X509Credentials
Constants ¶
This section is empty.
Variables ¶
var ErrClosed = errors.New("closed")
ErrClosed the client is already closed.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is iothub device client.
func New ¶
func New( transport transport.Transport, creds transport.Credentials, opts ...ClientOption, ) (*Client, error)
New returns new iothub client.
func NewFromConnectionString ¶ added in v0.4.0
func NewFromConnectionString( transport transport.Transport, cs string, opts ...ClientOption, ) (*Client, error)
NewFromConnectionString creates a device client based on the given connection string.
func NewFromX509Cert ¶ added in v0.4.0
func NewFromX509Cert( transport transport.Transport, deviceID, hostName string, crt *tls.Certificate, opts ...ClientOption, ) (*Client, error)
func NewFromX509FromFile ¶ added in v0.4.0
func (*Client) Connect ¶
Connect connects to the iothub all subsequent calls will block until this function finishes with no error so it's clien's responsibility to connect in the background by running it in a goroutine and control other method invocations or call in in a synchronous way.
func (*Client) RegisterMethod ¶
RegisterMethod registers the given direct method handler, returns an error when method is already registered. If f returns an error and empty body its error string used as value of the error attribute in the result json.
func (*Client) RetrieveTwinState ¶
func (c *Client) RetrieveTwinState(ctx context.Context) (desired TwinState, reported TwinState, err error)
RetrieveTwinState returns desired and reported twin device states.
func (*Client) SubscribeEvents ¶
SubscribeEvents subscribes to cloud-to-device events and returns a subscription struct.
func (*Client) SubscribeTwinUpdates ¶
func (c *Client) SubscribeTwinUpdates(ctx context.Context) (*TwinStateSub, error)
SubscribeTwinUpdates registers fn as a desired state changes handler.
func (*Client) UnregisterMethod ¶
UnregisterMethod unregisters the named method.
func (*Client) UnsubscribeEvents ¶
UnsubscribeEvents makes the given subscription to stop receiving messages.
func (*Client) UnsubscribeTwinUpdates ¶
func (c *Client) UnsubscribeTwinUpdates(sub *TwinStateSub)
UnsubscribeTwinUpdates unsubscribes the given handler from twin state updates.
type ClientOption ¶
type ClientOption func(c *Client)
ClientOption is a client configuration option.
func WithLogger ¶
func WithLogger(l logger.Logger) ClientOption
WithLogger changes default logger, default it an stdout logger.
type DirectMethodHandler ¶
DirectMethodHandler handles direct method invocations.
type SendOption ¶
SendOption is a send event options.
func WithSendCorrelationID ¶
func WithSendCorrelationID(cid string) SendOption
WithSendCorrelationID sets message correlation id.
func WithSendMessageID ¶
func WithSendMessageID(mid string) SendOption
WithSendMessageID sets message id.
func WithSendProperties ¶
func WithSendProperties(m map[string]string) SendOption
WithSendProperties same as `WithSendProperty` but accepts map of keys and values.
func WithSendProperty ¶
func WithSendProperty(k, v string) SendOption
WithSendProperty sets a message option.
func WithSendQoS ¶
func WithSendQoS(qos int) SendOption
WithSendQoS sets the quality of service (MQTT only). Only 0 and 1 values are supported, defaults to 1.
type SharedAccessKeyCredentials ¶ added in v0.3.0
type SharedAccessKeyCredentials struct {}
func ParseConnectionString ¶ added in v0.4.0
func ParseConnectionString(cs string) (*SharedAccessKeyCredentials, error)
func (*SharedAccessKeyCredentials) GetCertificate ¶ added in v0.3.0
func (c *SharedAccessKeyCredentials) GetCertificate() *tls.Certificate
func (*SharedAccessKeyCredentials) GetDeviceID ¶ added in v0.3.0
func (c *SharedAccessKeyCredentials) GetDeviceID() string
func (*SharedAccessKeyCredentials) GetHostName ¶ added in v0.3.0
func (c *SharedAccessKeyCredentials) GetHostName() string
type TwinState ¶
type TwinState map[string]interface{}
TwinState is both desired and reported twin device's state.
type TwinStateSub ¶
type TwinStateSub struct {
// contains filtered or unexported fields
}
func (*TwinStateSub) C ¶
func (s *TwinStateSub) C() <-chan TwinState
func (*TwinStateSub) Err ¶
func (s *TwinStateSub) Err() error
type X509Credentials ¶ added in v0.3.0
type X509Credentials struct { HostName string DeviceID string Certificate *tls.Certificate }
func (*X509Credentials) GetCertificate ¶ added in v0.3.0
func (c *X509Credentials) GetCertificate() *tls.Certificate
func (*X509Credentials) GetDeviceID ¶ added in v0.3.0
func (c *X509Credentials) GetDeviceID() string
func (*X509Credentials) GetHostName ¶ added in v0.3.0
func (c *X509Credentials) GetHostName() string
func (*X509Credentials) Token ¶ added in v0.3.0
func (c *X509Credentials) Token( resource string, lifetime time.Duration, ) (*common.SharedAccessSignature, error)