Client class
IoT Hub サービス クライアントは、Azure IoT ハブを介してデバイスと通信するために使用されます。 これにより、SDK ユーザーは次のことが可能になります。
- cloud-to-device (コマンドとも呼ばれます) をデバイスに送信する: コマンドは IoT Hub でキューに登録され、デバイスが接続されている場合にのみ非同期的に配信されます。 デバイスごとにキューに登録できるコマンドは 50 個のみです。
- デバイスでダイレクト メソッドを呼び出す (デバイスが現在接続されている場合にのみ機能します。これは、デバイスとの同期通信方法です)
- 前のコマンドについてデバイスから送信されたフィードバック メッセージをリッスンします。
- デバイスからのファイル アップロード通知をリッスンします。
ユーザーは、IoT Hub サービス クライアントを作成するために、ファクトリ メソッド (fromConnectionString または sharedAccessSignatureから
- Extends
-
EventEmitter
メソッド
継承されたメソッド
| add |
|
| emit<E>(string | symbol, any[]) |
イベントにリスナーがある場合は
|
| event |
エミッターがリスナーを登録したイベントを一覧表示する配列を返します。
|
| get |
|
| listener |
|
| listeners<E>(string | symbol) |
|
| off<E>(string | symbol, (args: any[]) => void) |
|
| on<E>(string | symbol, (args: any[]) => void) |
呼び出しをチェーンできるように、 既定では、イベント リスナーは追加された順序で呼び出されます。
|
| once<E>(string | symbol, (args: any[]) => void) |
という名前のイベント
呼び出しをチェーンできるように、 既定では、イベント リスナーは追加された順序で呼び出されます。
|
| prepend |
呼び出しをチェーンできるように、 |
| prepend |
呼び出しをチェーンできるように、 |
| raw |
ラッパー (
|
| remove |
すべてのリスナー、または指定した 特に、 呼び出しをチェーンできるように、 |
| remove |
イベントが生成されると、出力時にそれにアタッチされているすべてのリスナーが順番に呼び出されます。 これは、発信後かつ最後のリスナーが実行を終える前に
リスナーは内部配列で管理されるため、これを呼び出すと、リスナーが削除 された後に 登録されたリスナーのポジションインデックスが変更されます。 これはリスナーが呼び出される順序には影響しませんが、 (次の例のように) 1 つのイベントに対して 1 つの関数がハンドラーとして複数回追加された場合、
呼び出しをチェーンできるように、 |
| set |
既定では、 呼び出しをチェーンできるように、 |
| [capture |
|
メソッドの詳細
close()
function close(): Promise<ResultWithIncomingMessage<Disconnected>>
戻り値
Promise<ResultWithIncomingMessage<Disconnected>>
close(IncomingMessageCallback<Disconnected>)
IoT ハブへの接続を閉じます。
function close(done?: IncomingMessageCallback<Disconnected>)
パラメーター
- done
-
IncomingMessageCallback<Disconnected>
操作が完了したときに呼び出す省略可能な関数。
done には Error オブジェクト引数が渡されます。この引数は、操作が正常に完了した場合は null になります。
fromConnectionString(string, TransportCtor)
既定のトランスポート (Amqp) または 2 番目の引数で指定されたものを使用して、指定された接続文字列から IoT Hub サービス クライアントを作成します。
static function fromConnectionString(connStr: string, transportCtor?: TransportCtor): Client
パラメーター
- connStr
-
string
IoT ハブに対する "デバイス接続" アクセス許可をカプセル化する接続文字列。
- transportCtor
- TransportCtor
戻り値
fromSharedAccessSignature(string, TransportCtor)
既定のトランスポート (Amqp) または 2 番目の引数で指定されたものを使用して、指定された共有アクセス署名から IoT Hub サービス クライアントを作成します。
static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor?: TransportCtor): Client
パラメーター
- sharedAccessSignature
-
string
IoT ハブに対する "サービス接続" アクセス許可をカプセル化する Shared Access Signature。
- transportCtor
- TransportCtor
戻り値
fromTokenCredential(string, TokenCredential, TransportCtor)
既定のトランスポート (Amqp) または 2 番目の引数で指定されたものを使用して、指定された Azure tokenCredential から IoT Hub サービス クライアントを作成します。
static function fromTokenCredential(hostName: string, tokenCredential: TokenCredential, transportCtor?: TransportCtor): Client
パラメーター
- hostName
-
string
Azure サービスのホスト名。
- tokenCredential
- TokenCredential
Azure サービスで認証するために使用される Azure TokenCredential
- transportCtor
- TransportCtor
戻り値
getFeedbackReceiver()
function getFeedbackReceiver(): Promise<ResultWithIncomingMessage<ServiceReceiver>>
戻り値
Promise<ResultWithIncomingMessage<ServiceReceiver>>
getFeedbackReceiver(IncomingMessageCallback<ServiceReceiver>)
クライアントが新しいフィードバック メッセージを受信したときにイベントを出力する AmqpReceiver オブジェクトを返します。
function getFeedbackReceiver(done?: IncomingMessageCallback<ServiceReceiver>)
パラメーター
- done
-
IncomingMessageCallback<ServiceReceiver>
操作が完了したときに呼び出す省略可能な関数。
done は、Error オブジェクト (null) と AmqpReceiver オブジェクトの 2 つの引数で呼び出されます。
getFileNotificationReceiver()
function getFileNotificationReceiver(): Promise<ResultWithIncomingMessage<ServiceReceiver>>
戻り値
Promise<ResultWithIncomingMessage<ServiceReceiver>>
getFileNotificationReceiver(IncomingMessageCallback<ServiceReceiver>)
クライアントが新しいファイル アップロード通知を受信したときにイベントを出力する AmqpReceiver オブジェクトを返します。
function getFileNotificationReceiver(done?: IncomingMessageCallback<ServiceReceiver>)
パラメーター
- done
-
IncomingMessageCallback<ServiceReceiver>
操作が完了したときに呼び出す省略可能な関数。
done は、Error オブジェクト (null) と AmqpReceiver オブジェクトの 2 つの引数で呼び出されます。
invokeDeviceMethod(string, DeviceMethodParams)
function invokeDeviceMethod(deviceId: string, methodParams: DeviceMethodParams): Promise<ResultWithIncomingMessage<any>>
パラメーター
- deviceId
-
string
- methodParams
- DeviceMethodParams
戻り値
Promise<ResultWithIncomingMessage<any>>
invokeDeviceMethod(string, DeviceMethodParams, IncomingMessageCallback<any>)
特定のデバイスまたはモジュールでメソッドを呼び出します。
function invokeDeviceMethod(deviceId: string, methodParams: DeviceMethodParams, done?: IncomingMessageCallback<any>)
パラメーター
- deviceId
-
string
既存のデバイス ID の識別子。
- methodParams
- DeviceMethodParams
- done
-
IncomingMessageCallback<any>
メソッドの実行結果を使用して呼び出す省略可能なコールバック。
invokeDeviceMethod(string, string, DeviceMethodParams)
function invokeDeviceMethod(deviceId: string, moduleId: string, methodParams: DeviceMethodParams): Promise<ResultWithIncomingMessage<any>>
パラメーター
- deviceId
-
string
- moduleId
-
string
- methodParams
- DeviceMethodParams
戻り値
Promise<ResultWithIncomingMessage<any>>
invokeDeviceMethod(string, string, DeviceMethodParams, IncomingMessageCallback<any>)
function invokeDeviceMethod(deviceId: string, moduleId: string, methodParams: DeviceMethodParams, done: IncomingMessageCallback<any>)
パラメーター
- deviceId
-
string
- moduleId
-
string
- methodParams
- DeviceMethodParams
- done
-
IncomingMessageCallback<any>
open()
function open(): Promise<ResultWithIncomingMessage<Connected>>
戻り値
Promise<ResultWithIncomingMessage<Connected>>
open(IncomingMessageCallback<Connected>)
IoT ハブへの接続を開きます。
function open(done?: IncomingMessageCallback<Connected>)
パラメーター
- done
-
IncomingMessageCallback<Connected>
操作が完了したときに呼び出す省略可能な関数。
done には Error オブジェクト引数が渡されます。この引数は、操作が正常に完了した場合は null になります。
send(string, Message | BufferConvertible)
function send(deviceId: string, message: Message | BufferConvertible): Promise<ResultWithIncomingMessage<MessageEnqueued>>
パラメーター
- deviceId
-
string
- message
-
Message | BufferConvertible
戻り値
Promise<ResultWithIncomingMessage<MessageEnqueued>>
send(string, Message | BufferConvertible, IncomingMessageCallback<MessageEnqueued>)
デバイスにメッセージを送信します。
function send(deviceId: string, message: Message | BufferConvertible, done?: IncomingMessageCallback<MessageEnqueued>)
パラメーター
- deviceId
-
string
既存のデバイス ID の識別子。
- message
-
Message | BufferConvertible
デバイスに送信するメッセージの本文。
- done
-
IncomingMessageCallback<MessageEnqueued>
操作が完了したときに呼び出す省略可能な関数。
done は、Error オブジェクト (null) と、ログ記録またはデバッグに役立つトランスポート固有の応答オブジェクトの 2 つの引数で呼び出されます。
setRetryPolicy(RetryPolicy)
クライアントがネットワーク操作を再試行するために使用するポリシーを設定します。
function setRetryPolicy(policy: RetryPolicy)
パラメーター
- policy
-
RetryPolicy
操作 (開く、送信など) を再試行するために使用されるポリシー。 SDK には、ExponentialBackoffWithJitter (既定値) と NoRetry (任意の形式の再試行を取り消す) という 2 つの "組み込み" ポリシーが付属しています。 ユーザーは、2 つのメソッドを実装している限り、独自のオブジェクトを渡すこともできます。- shouldRetry(err: Error): boolean: エラーの種類に基づいて操作を再試行する必要があるかどうかを示します。nextRetryTimeout(retryCount: number, throttled: boolean): number: 過去の試行回数 (retryCount) に基づいて再試行するまでの待機時間 (ミリ秒単位) を返し、エラーが調整エラーかどうかを示します。
継承済みメソッドの詳細
addListener<E>(string | symbol, (args: any[]) => void)
emitter.on(eventName, listener)のエイリアス。
function addListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
パラメーター
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
戻り値
eventEmitter.addListener から継承
emit<E>(string | symbol, any[])
eventNameという名前のイベントに登録された各リスナーを、登録された順序で同期的に呼び出し、指定された引数を各リスナーに渡します。
イベントにリスナーがある場合は true を返します。それ以外の場合 false 返します。
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
パラメーター
- eventName
-
string | symbol
- args
-
any[]
戻り値
boolean
eventEmitter.emit から継承
eventNames()
エミッターがリスナーを登録したイベントを一覧表示する配列を返します。
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)[]
戻り値
(string | symbol)[]
EventEmitter.eventNames から継承された
getMaxListeners()
EventEmitter の現在の最大リスナー値を返します。この値は、emitter.setMaxListeners(n) によって設定されるか、既定で events.defaultMaxListenersに設定されます。
function getMaxListeners(): number
戻り値
number
EventEmitter.getMaxListeners から継承された
listenerCount<E>(string | symbol, (args: any[]) => void)
eventNameという名前のイベントをリッスンしているリスナーの数を返します。
listener 指定すると、イベントのリスナーの一覧でリスナーが見つかった回数が返されます。
function listenerCount<E>(eventName: string | symbol, listener?: (args: any[]) => void): number
パラメーター
- eventName
-
string | symbol
リッスンするイベントの名前
- listener
-
(args: any[]) => void
イベント ハンドラー関数
戻り値
number
eventEmitter.listenerCount から継承
listeners<E>(string | symbol)
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[]
パラメーター
- eventName
-
string | symbol
戻り値
(args: any[]) => void[]
EventEmitter.listeners から継承された
off<E>(string | symbol, (args: any[]) => void)
emitter.removeListener()のエイリアス。
function off<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
パラメーター
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
戻り値
EventEmitter.off から継承された
on<E>(string | symbol, (args: any[]) => void)
listenerという名前のイベントのリスナー配列の末尾に eventName 関数を追加します。
listener が既に追加されているかどうかを確認するチェックは行われません。
eventName と listener の同じ組み合わせを渡す複数の呼び出しでは、listener が複数回追加され、呼び出されます。
server.on('connection', (stream) => {
console.log('someone connected!');
});
呼び出しをチェーンできるように、EventEmitterへの参照を返します。
既定では、イベント リスナーは追加された順序で呼び出されます。
emitter.prependListener() メソッドは、リスナー配列の先頭にイベント リスナーを追加する代わりに使用できます。
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
パラメーター
- eventName
-
string | symbol
イベントの名前。
- listener
-
(args: any[]) => void
コールバック関数
戻り値
EventEmitter.on から継承された
once<E>(string | symbol, (args: any[]) => void)
という名前のイベント listenereventName 関数を追加します。 次回 eventName がトリガーされると、このリスナーが削除され、呼び出されます。
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
呼び出しをチェーンできるように、EventEmitterへの参照を返します。
既定では、イベント リスナーは追加された順序で呼び出されます。
emitter.prependOnceListener() メソッドは、リスナー配列の先頭にイベント リスナーを追加する代わりに使用できます。
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
パラメーター
- eventName
-
string | symbol
イベントの名前。
- listener
-
(args: any[]) => void
コールバック関数
戻り値
EventEmitter.once から継承された
prependListener<E>(string | symbol, (args: any[]) => void)
listener が既に追加されているかどうかを確認するチェックは行われません。
eventName と listener の同じ組み合わせを渡す複数の呼び出しでは、listener が複数回追加され、呼び出されます。
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
呼び出しをチェーンできるように、EventEmitterへの参照を返します。
function prependListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
パラメーター
- eventName
-
string | symbol
イベントの名前。
- listener
-
(args: any[]) => void
コールバック関数
戻り値
EventEmitter.prependListener から継承された
prependOnceListener<E>(string | symbol, (args: any[]) => void)
eventName がトリガーされると、このリスナーが削除され、呼び出されます。
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
呼び出しをチェーンできるように、EventEmitterへの参照を返します。
function prependOnceListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
パラメーター
- eventName
-
string | symbol
イベントの名前。
- listener
-
(args: any[]) => void
コールバック関数
戻り値
eventEmitter.prependOnceListener から継承
rawListeners<E>(string | symbol)
ラッパー (eventNameによって作成されたものなど) を含む、.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[]
パラメーター
- eventName
-
string | symbol
戻り値
(args: any[]) => void[]
EventEmitter.rawListeners から継承された
removeAllListeners<E>(string | symbol)
すべてのリスナー、または指定した eventNameのリスナーを削除します。
特に、EventEmitter インスタンスが他のコンポーネントまたはモジュール (ソケットやファイル ストリームなど) によって作成された場合に、コード内の他の場所に追加されたリスナーを削除するのは不適切な方法です。
呼び出しをチェーンできるように、EventEmitterへの参照を返します。
function removeAllListeners<E>(eventName?: string | symbol): Client
パラメーター
- eventName
-
string | symbol
戻り値
EventEmitter.removeAllListeners から継承された
removeListener<E>(string | symbol, (args: any[]) => void)
listenerという名前のイベントのリスナー配列から、指定した eventName を削除します。
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener() は、リスナー配列からリスナーのインスタンスを最大で 1 つ削除します。 指定した eventNameのリスナー配列に 1 つのリスナーが複数回追加されている場合は、各インスタンスを削除するために removeListener() を複数回呼び出す必要があります。
イベントが生成されると、出力時にそれにアタッチされているすべてのリスナーが順番に呼び出されます。 これは、発信後かつ最後のリスナーが実行を終える前にremoveListener()またはremoveAllListeners()コールが行っても、進行中のemit()から除外されないことを意味します。 後続のイベントは想定どおりに動作します。
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
リスナーは内部配列で管理されるため、これを呼び出すと、リスナーが削除 された後に 登録されたリスナーのポジションインデックスが変更されます。 これはリスナーが呼び出される順序には影響しませんが、emitter.listeners() メソッドによって返されるリスナー配列のコピーを再作成する必要があることを意味します。
(次の例のように) 1 つのイベントに対して 1 つの関数がハンドラーとして複数回追加された場合、removeListener() は最後に追加されたインスタンスを削除します。 この例では、once('ping') リスナーは削除されます。
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');
呼び出しをチェーンできるように、EventEmitterへの参照を返します。
function removeListener<E>(eventName: string | symbol, listener: (args: any[]) => void): Client
パラメーター
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
戻り値
EventEmitter.removeListener から継承された
setMaxListeners(number)
既定では、EventEmitters は、特定のイベントに対して 10 を超えるリスナーが追加された場合に警告を出力します。 これは、メモリ リークの検出に役立つ便利な既定値です。
emitter.setMaxListeners() メソッドを使用すると、この特定の EventEmitter インスタンスの制限を変更できます。 この値を Infinity (または 0) に設定すると、リスナーの数に制限はありません。
呼び出しをチェーンできるように、EventEmitterへの参照を返します。
function setMaxListeners(n: number): Client
パラメーター
- n
-
number
戻り値
EventEmitter.setMaxListeners から継承された
[captureRejectionSymbol](Error, string | symbol, any[])
Symbol.for('nodejs.rejection')メソッドは、イベントを発生させる際に約束拒否が発生し、エミッターでcaptureRejectionsが有効化された場合に呼び出されます。
Symbol.for('nodejs.rejection')の代わりに events.captureRejectionSymbol を使うことも可能です。
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[])
パラメーター
- error
-
Error
- event
-
string | symbol
- args
-
any[]
継承者 EventEmitter.__@captureRejectionSymbol@88