Client class
O cliente de serviço do Hub IoT é usado para se comunicar com dispositivos por meio de um Hub IoT do Azure. Ele permite que o usuário do SDK:
- enviar nuvem para dispositivo (também conhecido como comandos) para dispositivos: os comandos são enfileirados no Hub IoT e entregues de forma assíncrona somente quando o dispositivo está conectado. Somente 50 comandos podem ser enfileirados por dispositivo.
- invocar métodos diretos em dispositivos (que funcionarão somente se o dispositivo estiver conectado no momento: ele é uma maneira síncrona de se comunicar com o dispositivo)
- ouça mensagens de comentários enviadas por dispositivos para comandos anteriores.
- ouça as notificações de upload de arquivos de dispositivos.
Os usuários devem criar novas instâncias de Client chamando um dos métodos de fábrica, deConnectionString ou fromSharedAccessSignature, para criar um cliente de serviço do Hub IoT.
- Extends
-
EventEmitter
Métodos
| close() | |
| close(Incoming |
Fecha a conexão com um hub IoT. |
| from |
Cria um cliente de serviço do Hub IoT da cadeia de conexão fornecida usando o transporte padrão (Amqp) ou o especificado no segundo argumento. |
| from |
Cria um cliente de serviço do Hub IoT com base na assinatura de acesso compartilhado fornecida usando o transporte padrão (Amqp) ou o especificado no segundo argumento. |
| from |
Cria um cliente de serviço do Hub IoT do tokenCredential do Azure fornecido usando o transporte padrão (Amqp) ou aquele especificado no segundo argumento. |
| get |
|
| get |
Retorna um objeto AmqpReceiver que emite eventos quando novas mensagens de comentários são recebidas pelo cliente. |
| get |
|
| get |
Retorna um objeto AmqpReceiver que emite eventos quando novas notificações de upload de arquivo são recebidas pelo cliente. |
| invoke |
|
| invoke |
Invoca um método em um dispositivo ou módulo específico. |
| invoke |
|
| invoke |
|
| open() | |
| open(Incoming |
Abre a conexão com um hub IoT. |
| send(string, Message | Buffer |
|
| send(string, Message | Buffer |
Envia uma mensagem para um dispositivo. |
| set |
Defina a política usada pelo cliente para tentar novamente as operações de rede. |
Métodos herdados
| add |
Alias para |
| emit<E>(string | symbol, any[]) | Chama de forma síncrona cada um dos ouvintes registrados para o evento chamado Retorna
|
| event |
Retorna uma matriz listando os eventos para os quais o emissor registrou ouvintes.
|
| get |
Retorna o valor máximo atual do ouvinte para o |
| listener |
Retorna o número de ouvintes que escutam o evento chamado |
| listeners<E>(string | symbol) | Retorna uma cópia da matriz de ouvintes para o evento chamado
|
| off<E>(string | symbol, (args: any[]) => void) | Alias para |
| on<E>(string | symbol, (args: any[]) => void) | Adiciona a função
Retorna uma referência ao Por padrão, os ouvintes de eventos são invocados na ordem em que são adicionados. O método
|
| once<E>(string | symbol, (args: any[]) => void) | Adiciona uma função de
Retorna uma referência ao Por padrão, os ouvintes de eventos são invocados na ordem em que são adicionados. O método
|
| prepend |
Adiciona a função
Retorna uma referência ao |
| prepend |
Adiciona uma função de
Retorna uma referência ao |
| raw |
Retorna uma cópia da matriz de ouvintes para o evento chamado
|
| remove |
Remove todos os ouvintes ou os do É uma má prática remover ouvintes adicionados em outro lugar no código, especialmente quando a instância de Retorna uma referência ao |
| remove |
Remove o
Depois que um evento é emitido, todos os ouvintes anexados a ele no momento da emissão são chamados em ordem. Isso implica que qualquer
Como os ouvintes são gerenciados usando um array interno, chamar isso altera os índices de posição de qualquer ouvinte registrado após a remoção do ouvinte. Isso não afetará a ordem na qual os ouvintes são chamados, mas significa que todas as cópias da matriz do ouvinte, conforme retornado pelo método Quando uma única função tiver sido adicionada como um manipulador várias vezes para um único evento (como no exemplo abaixo),
Retorna uma referência ao |
| set |
Por padrão, Retorna uma referência ao |
| [capture |
O
|
Detalhes do método
close()
function close(): Promise<ResultWithIncomingMessage<Disconnected>>
Retornos
Promise<ResultWithIncomingMessage<Disconnected>>
close(IncomingMessageCallback<Disconnected>)
Fecha a conexão com um hub IoT.
function close(done?: IncomingMessageCallback<Disconnected>)
Parâmetros
- done
-
IncomingMessageCallback<Disconnected>
A função opcional a ser chamada quando a operação for concluída.
done será passado um argumento de objeto Error, que será nulo se a operação for concluída com êxito.
fromConnectionString(string, TransportCtor)
Cria um cliente de serviço do Hub IoT da cadeia de conexão fornecida usando o transporte padrão (Amqp) ou o especificado no segundo argumento.
static function fromConnectionString(connStr: string, transportCtor?: TransportCtor): Client
Parâmetros
- connStr
-
string
Uma cadeia de conexão que encapsula permissões de "conexão de dispositivo" em um hub IoT.
- transportCtor
- TransportCtor
Retornos
fromSharedAccessSignature(string, TransportCtor)
Cria um cliente de serviço do Hub IoT com base na assinatura de acesso compartilhado fornecida usando o transporte padrão (Amqp) ou o especificado no segundo argumento.
static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor?: TransportCtor): Client
Parâmetros
- sharedAccessSignature
-
string
Uma assinatura de acesso compartilhado que encapsula permissões de "conexão de serviço" em um hub IoT.
- transportCtor
- TransportCtor
Retornos
fromTokenCredential(string, TokenCredential, TransportCtor)
Cria um cliente de serviço do Hub IoT do tokenCredential do Azure fornecido usando o transporte padrão (Amqp) ou aquele especificado no segundo argumento.
static function fromTokenCredential(hostName: string, tokenCredential: TokenCredential, transportCtor?: TransportCtor): Client
Parâmetros
- hostName
-
string
Nome do host do serviço do Azure.
- tokenCredential
- TokenCredential
Um TokenCredential do Azure usado para autenticar com o serviço do Azure
- transportCtor
- TransportCtor
Retornos
getFeedbackReceiver()
function getFeedbackReceiver(): Promise<ResultWithIncomingMessage<ServiceReceiver>>
Retornos
Promise<ResultWithIncomingMessage<ServiceReceiver>>
getFeedbackReceiver(IncomingMessageCallback<ServiceReceiver>)
Retorna um objeto AmqpReceiver que emite eventos quando novas mensagens de comentários são recebidas pelo cliente.
function getFeedbackReceiver(done?: IncomingMessageCallback<ServiceReceiver>)
Parâmetros
- done
-
IncomingMessageCallback<ServiceReceiver>
A função opcional a ser chamada quando a operação for concluída.
done será chamado com dois argumentos: um objeto Error (pode ser nulo) e um objeto AmqpReceiver.
getFileNotificationReceiver()
function getFileNotificationReceiver(): Promise<ResultWithIncomingMessage<ServiceReceiver>>
Retornos
Promise<ResultWithIncomingMessage<ServiceReceiver>>
getFileNotificationReceiver(IncomingMessageCallback<ServiceReceiver>)
Retorna um objeto AmqpReceiver que emite eventos quando novas notificações de upload de arquivo são recebidas pelo cliente.
function getFileNotificationReceiver(done?: IncomingMessageCallback<ServiceReceiver>)
Parâmetros
- done
-
IncomingMessageCallback<ServiceReceiver>
A função opcional a ser chamada quando a operação for concluída.
done será chamado com dois argumentos: um objeto Error (pode ser nulo) e um objeto AmqpReceiver.
invokeDeviceMethod(string, DeviceMethodParams)
function invokeDeviceMethod(deviceId: string, methodParams: DeviceMethodParams): Promise<ResultWithIncomingMessage<any>>
Parâmetros
- deviceId
-
string
- methodParams
- DeviceMethodParams
Retornos
Promise<ResultWithIncomingMessage<any>>
invokeDeviceMethod(string, DeviceMethodParams, IncomingMessageCallback<any>)
Invoca um método em um dispositivo ou módulo específico.
function invokeDeviceMethod(deviceId: string, methodParams: DeviceMethodParams, done?: IncomingMessageCallback<any>)
Parâmetros
- deviceId
-
string
O identificador de uma identidade de dispositivo existente.
- methodParams
- DeviceMethodParams
- done
-
IncomingMessageCallback<any>
O retorno de chamada opcional para chamar com o resultado da execução do método.
invokeDeviceMethod(string, string, DeviceMethodParams)
function invokeDeviceMethod(deviceId: string, moduleId: string, methodParams: DeviceMethodParams): Promise<ResultWithIncomingMessage<any>>
Parâmetros
- deviceId
-
string
- moduleId
-
string
- methodParams
- DeviceMethodParams
Retornos
Promise<ResultWithIncomingMessage<any>>
invokeDeviceMethod(string, string, DeviceMethodParams, IncomingMessageCallback<any>)
function invokeDeviceMethod(deviceId: string, moduleId: string, methodParams: DeviceMethodParams, done: IncomingMessageCallback<any>)
Parâmetros
- deviceId
-
string
- moduleId
-
string
- methodParams
- DeviceMethodParams
- done
-
IncomingMessageCallback<any>
open()
function open(): Promise<ResultWithIncomingMessage<Connected>>
Retornos
Promise<ResultWithIncomingMessage<Connected>>
open(IncomingMessageCallback<Connected>)
Abre a conexão com um hub IoT.
function open(done?: IncomingMessageCallback<Connected>)
Parâmetros
- done
-
IncomingMessageCallback<Connected>
A função opcional a ser chamada quando a operação for concluída.
done será passado um argumento de objeto Error, que será nulo se a operação for concluída com êxito.
send(string, Message | BufferConvertible)
function send(deviceId: string, message: Message | BufferConvertible): Promise<ResultWithIncomingMessage<MessageEnqueued>>
Parâmetros
- deviceId
-
string
- message
-
Message | BufferConvertible
Retornos
Promise<ResultWithIncomingMessage<MessageEnqueued>>
send(string, Message | BufferConvertible, IncomingMessageCallback<MessageEnqueued>)
Envia uma mensagem para um dispositivo.
function send(deviceId: string, message: Message | BufferConvertible, done?: IncomingMessageCallback<MessageEnqueued>)
Parâmetros
- deviceId
-
string
O identificador de uma identidade de dispositivo existente.
- message
-
Message | BufferConvertible
O corpo da mensagem a ser enviada para o dispositivo.
Se message não for do tipo Message, ele será convertido.
- done
-
IncomingMessageCallback<MessageEnqueued>
A função opcional a ser chamada quando a operação for concluída.
done será chamado com dois argumentos: um objeto Error (pode ser nulo) e um objeto de resposta específico de transporte útil para registro em log ou depuração.
setRetryPolicy(RetryPolicy)
Defina a política usada pelo cliente para tentar novamente as operações de rede.
function setRetryPolicy(policy: RetryPolicy)
Parâmetros
- policy
-
RetryPolicy
política usada para repetir operações (por exemplo, abrir, enviar, etc.). O SDK vem com duas políticas "internas": ExponentialBackoffWithJitter (padrão) e NoRetry (para cancelar qualquer forma de repetição). O usuário também pode passar seu próprio objeto desde que implemente dois métodos: - shouldRetry(err: Error): booleano: indica se uma operação deve ser repetida com base no tipo de erro - nextRetryTimeout(retryCount: number, limitado: booliano): número: retorna o tempo de espera (em milissegundos) antes de tentar novamente com base no número passado de tentativas (retryCount) e o fato de que o erro é um erro de limitação ou não.
Detalhes do método herdado
addListener<E>(string | symbol, (args: any[]) => void)
Alias para emitter.on(eventName, listener).
function addListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parâmetros
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Retornos
Herdado de EventEmitter.addListener
emit<E>(string | symbol, any[])
Chama de forma síncrona cada um dos ouvintes registrados para o evento chamado eventName, na ordem em que foram registrados, passando os argumentos fornecidos para cada um.
Retorna true se o evento tiver ouvintes, false caso contrário.
import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();
// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener
function emit<E>(eventName: string | symbol, args: any[]): boolean
Parâmetros
- eventName
-
string | symbol
- args
-
any[]
Retornos
boolean
Herdado de EventEmitter.emit
eventNames()
Retorna uma matriz listando os eventos para os quais o emissor registrou ouvintes.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});
const sym = Symbol('symbol');
myEE.on(sym, () => {});
console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ]
function eventNames(): (string | symbol)[]
Retornos
(string | symbol)[]
Herdado de EventEmitter.eventNames
getMaxListeners()
Retorna o valor máximo atual do ouvinte para o EventEmitter que é definido por emitter.setMaxListeners(n) ou usa como padrão events.defaultMaxListeners.
function getMaxListeners(): number
Retornos
number
herdado de EventEmitter.getMaxListeners
listenerCount<E>(string | symbol, (args: any[]) => void)
Retorna o número de ouvintes que escutam o evento chamado eventName.
Se listener for fornecido, ele retornará quantas vezes o ouvinte é encontrado na lista de ouvintes do evento.
function listenerCount<E>(eventName: string | symbol, listener?: (args: any[]) => void): number
Parâmetros
- eventName
-
string | symbol
O nome do evento que está sendo escutado
- listener
-
(args: any[]) => void
A função de manipulador de eventos
Retornos
number
Herdado de EventEmitter.listenerCount
listeners<E>(string | symbol)
Retorna uma cópia da matriz de ouvintes para o evento chamado eventName.
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners<E>(eventName: string | symbol): (args: any[]) => void[]
Parâmetros
- eventName
-
string | symbol
Retornos
(args: any[]) => void[]
Herdado de EventEmitter.listeners
off<E>(string | symbol, (args: any[]) => void)
Alias para emitter.removeListener().
function off<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parâmetros
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Retornos
herdado de EventEmitter.off
on<E>(string | symbol, (args: any[]) => void)
Adiciona a função listener ao final da matriz de ouvintes para o evento chamado eventName. Nenhuma verificação é feita para ver se o listener já foi adicionado. Várias chamadas passando a mesma combinação de eventName e listener resultarão na adição da listener e chamada várias vezes.
server.on('connection', (stream) => {
console.log('someone connected!');
});
Retorna uma referência ao EventEmitter, para que as chamadas possam ser encadeadas.
Por padrão, os ouvintes de eventos são invocados na ordem em que são adicionados. O método emitter.prependListener() pode ser usado como uma alternativa para adicionar o ouvinte de eventos ao início da matriz de ouvintes.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function on<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parâmetros
- eventName
-
string | symbol
O nome do evento.
- listener
-
(args: any[]) => void
A função de retorno de chamada
Retornos
Herdado de EventEmitter.on
once<E>(string | symbol, (args: any[]) => void)
Adiciona uma função deeventName for disparado, esse ouvinte será removido e invocado.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Retorna uma referência ao EventEmitter, para que as chamadas possam ser encadeadas.
Por padrão, os ouvintes de eventos são invocados na ordem em que são adicionados. O método emitter.prependOnceListener() pode ser usado como uma alternativa para adicionar o ouvinte de eventos ao início da matriz de ouvintes.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function once<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parâmetros
- eventName
-
string | symbol
O nome do evento.
- listener
-
(args: any[]) => void
A função de retorno de chamada
Retornos
herdado de EventEmitter.once
prependListener<E>(string | symbol, (args: any[]) => void)
Adiciona a função listener à inicial da matriz de ouvintes para o evento chamado eventName. Nenhuma verificação é feita para ver se o listener já foi adicionado. Várias chamadas passando a mesma combinação de eventName e listener resultarão na adição da listener e chamada várias vezes.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Retorna uma referência ao EventEmitter, para que as chamadas possam ser encadeadas.
function prependListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parâmetros
- eventName
-
string | symbol
O nome do evento.
- listener
-
(args: any[]) => void
A função de retorno de chamada
Retornos
Herdado de EventEmitter.prependListener
prependOnceListener<E>(string | symbol, (args: any[]) => void)
Adiciona uma função deeventName for disparado, esse ouvinte será removido e invocado.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Retorna uma referência ao EventEmitter, para que as chamadas possam ser encadeadas.
function prependOnceListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parâmetros
- eventName
-
string | symbol
O nome do evento.
- listener
-
(args: any[]) => void
A função de retorno de chamada
Retornos
Herdado de EventEmitter.prependOnceListener
rawListeners<E>(string | symbol)
Retorna uma cópia da matriz de ouvintes para o evento chamado eventName, incluindo quaisquer wrappers (como aqueles criados por .once()).
import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));
// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];
// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();
// Logs "log once" to the console and removes the listener
logFnWrapper();
emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');
// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log');
function rawListeners<E>(eventName: string | symbol): (args: any[]) => void[]
Parâmetros
- eventName
-
string | symbol
Retornos
(args: any[]) => void[]
herdado de EventEmitter.rawListeners
removeAllListeners<E>(string | symbol)
Remove todos os ouvintes ou os do eventNameespecificado.
É uma má prática remover ouvintes adicionados em outro lugar no código, especialmente quando a instância de EventEmitter foi criada por algum outro componente ou módulo (por exemplo, soquetes ou fluxos de arquivo).
Retorna uma referência ao EventEmitter, para que as chamadas possam ser encadeadas.
function removeAllListeners<E>(eventName?: string | symbol): Client
Parâmetros
- eventName
-
string | symbol
Retornos
herdado de EventEmitter.removeAllListeners
removeListener<E>(string | symbol, (args: any[]) => void)
Remove o listener especificado da matriz de ouvintes para o evento chamado eventName.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener() removerá, no máximo, uma instância de um ouvinte da matriz do ouvinte. Se qualquer ouvinte tiver sido adicionado várias vezes à matriz de ouvintes para o eventNameespecificado, removeListener() deverá ser chamado várias vezes para remover cada instância.
Depois que um evento é emitido, todos os ouvintes anexados a ele no momento da emissão são chamados em ordem. Isso implica que qualquer removeListener() chamada de orremoveAllListeners() após a emissão e antes da execução do último ouvinte não as remove do emit() processo em andamento. Os eventos subsequentes se comportam conforme o esperado.
import { EventEmitter } from 'node:events';
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B
// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A
Como os ouvintes são gerenciados usando um array interno, chamar isso altera os índices de posição de qualquer ouvinte registrado após a remoção do ouvinte. Isso não afetará a ordem na qual os ouvintes são chamados, mas significa que todas as cópias da matriz do ouvinte, conforme retornado pelo método emitter.listeners(), precisarão ser recriadas.
Quando uma única função tiver sido adicionada como um manipulador várias vezes para um único evento (como no exemplo abaixo), removeListener() removerá a instância adicionada mais recentemente. No exemplo, o ouvinte once('ping') é removido:
import { EventEmitter } from 'node:events';
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');
Retorna uma referência ao EventEmitter, para que as chamadas possam ser encadeadas.
function removeListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parâmetros
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Retornos
Herdado de EventEmitter.removeListener
setMaxListeners(number)
Por padrão, EventEmitterimprimirão um aviso se mais de 10 ouvintes forem adicionados para um evento específico. Esse é um padrão útil que ajuda a localizar vazamentos de memória. O método emitter.setMaxListeners() permite que o limite seja modificado para esta instância de EventEmitter específica. O valor pode ser definido como Infinity (ou 0) para indicar um número ilimitado de ouvintes.
Retorna uma referência ao EventEmitter, para que as chamadas possam ser encadeadas.
function setMaxListeners(n: number): Client
Parâmetros
- n
-
number
Retornos
Herdado de EventEmitter.setMaxListeners
[captureRejectionSymbol](Error, string | symbol, any[])
O Symbol.for('nodejs.rejection') método é chamado caso ocorra uma rejeição de promessa ao emitir um evento e captureRejections é ativado no emissor.
É possível usar events.captureRejectionSymbol no lugar de Symbol.for('nodejs.rejection').
import { EventEmitter, captureRejectionSymbol } from 'node:events';
class MyClass extends EventEmitter {
constructor() {
super({ captureRejections: true });
}
[captureRejectionSymbol](err, event, ...args) {
console.log('rejection happened for', event, 'with', err, ...args);
this.destroy(err);
}
destroy(err) {
// Tear the resource down here.
}
}
function [captureRejectionSymbol](error: Error, event: string | symbol, args: any[])
Parâmetros
- error
-
Error
- event
-
string | symbol
- args
-
any[]
Herdado de EventEmitter.__@captureRejectionSymbol@88