メッセージがIoTHubに入るとき、メッセージの圧縮解除を処理するために、私はAzure関数を開発しました。Azure関数:入出力としてのIoTHub
機能はIoTHubのメッセージングエンドポイントに建てに接続されているので、EventHubのように機能することができます。
私はそれを実行したいストリームテストと他のジョブがテレメトリーの受信を続けるために別のエンドポイントに接続する必要がないように、解凍されたコンテンツをIoTHubに出力します。
は、ドキュメントAzureの機能を囲むとIoTHubsにそれらをフックのかなりの量があるようですが、それの一部は昨年からだと私は物事がかなり変更されている知っています。
これは読みと同じIoTHubに書き込むための私の現在の接続文字列です:
Endpoint=sb://iothub-ns-34997-5db385cb1f.servicebus.windows.net/;SharedAccessKeyName=iothubowner;SharedAccessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=;EntityPath=IoTHub
今、私は出力がIoTHubエンドポイントにセットアップを行きました、私はエラーを取得しています
Exception while executing function: Functions.DecompressionJS. Microsoft.Azure.WebJobs.Host: Error while handling parameter _binder after function returned:. Microsoft.ServiceBus: Unauthorized access. 'Send' claim(s) are required to perform this operation. Resource: 'sb://iothub-ns-34997-5db385cb1f.servicebus.windows.net/iothub'. TrackingId:e85de1ed565243bcb30bc622a2cab252_G4, SystemTracker:gateway6, Timestamp:6/22/2017 9:20:16 PM.
だから私は、接続文字列に何か問題があった考え出しので、私は/エンドポイントの残りの部分は、現在の接続文字列に一致したため、例外は、使用することを私に言ったことiothub含めるためにそれを修正。
私は、接続文字列を更新し、私は別の例外だ機能reranたら:
Exception while executing function: Functions.DecompressionJS. Microsoft.Azure.WebJobs.Host: Error while handling parameter _binder after function returned:. Microsoft.ServiceBus: Invalid EventHub address. It must be either of the following. Sender: <EventHubName>. Partition Sender: <EventHubName>/Partitions/<PartitionNumber>. Partition Receiver: <EventHubName>/ConsumerGroups/<ConsumerGroupName>/Partitions/<PartitionNumber>. TrackingId:ecb290822f494a86a61c21712656ea4c_G0, SystemTracker:gateway6, Timestamp:6/22/2017 8:44:14 PM.
ので、この時点で私はIoTHubエンドポイントが読み取り専用メッセージのためのものであることを考えているとする方法はありませんが解凍されたコンテンツをIoTHubに戻します。
私は誰かが私が間違っていることを証明し、私は閉ループを持っており、取得し介さずIoTHubにしてからメッセージを送信することができますので、私の接続文字列を設定するために私を助けることができる願っています。
アクセスキーを公開しないでください。 – Mikhail
ヘッドアップに感謝します。私は既にいくつかのコンテンツを省略してアクセスキーを変更しましたが、共有アクセスキーを編集して、もはや実際のキーではなくなりました。 –
古いアクセスキーは[public revision history](// stackoverflow.com/posts/44709647/revisions)にまだ残っていることに注意してください。 – halfer