You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向Azure Event Hubs发送事件时遭遇‘Operation not permitted’错误

解决Azure Event Hubs在Android中运行时的AmqpException: Operation not permitted

在实现Azure Event Hubs Java发送功能时,遇到如下异常:

com.azure.core.amqp.exception.AmqpException: Operation not permitted, errorContext[NAMESPACE: testhandheld.servicebus.windows.net. ERROR CONTEXT: N/A]
    at com.azure.core.amqp.implementation.ExceptionUtil.toException(ExceptionUtil.java:85)
    at com.azure.core.amqp.implementation.handler.ConnectionHandler.notifyErrorContext(ConnectionHandler.java:351)
    at com.azure.core.amqp.implementation.handler.ConnectionHandler.onTransportError(ConnectionHandler.java:253)
    at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:191)
    at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
    at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:324)
    at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:291)
    at com.azure.core.amqp.implementation.ReactorExecutor.run(ReactorExecutor.java:91)
    at com.azure.core.amqp.implementation.ReactorExecutor.$r8$lambda$NrD3tar-eanl_T0ijanE5E0zkZY(Unknown Source:0)
    at com.azure.core.amqp.implementation.ReactorExecutor$$ExternalSyntheticLambda0.run(Unknown Source:2)
    at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
    at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:920)
    Suppressed: java.lang.Exception: #block terminated with an error
    at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:139)
    at reactor.core.publisher.Mono.block(Mono.java:1731)
    at com.azure.messaging.eventhubs.EventHubProducerClient.createBatch(EventHubProducerClient.java:199)
    at com.example.myapplication.MainActivity$1.run(MainActivity.java:40)
            ... 1 more

确认连接字符串已配置管理员、读取和写入权限,排查后发现问题根源是AndroidManifest.xml中未添加联网权限。

解决方案

在AndroidManifest.xml的根标签内添加以下权限声明:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Android应用默认不具备联网权限,缺少该权限会导致无法与Azure Event Hubs服务建立AMQP连接,进而触发"Operation not permitted"异常。添加权限后重新运行应用即可解决该问题。

内容的提问来源于stack exchange,提问作者Daniel Hernández

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:00:50