如何在azure api管理网关中续订共享订阅密钥?

如何在azure api管理网关中续订共享订阅密钥?,azure,azure-api-management,Azure,Azure Api Management,我正在使用策略将所有请求和响应记录到事件集线器。此策略需要记录器id,该id指向将在其中传输日志的事件集线器。要创建此记录器,我参考了。我们将PUT请求发送到https://{your service}.management.azure api.net/loggers/{new logger name}?api version=2017-03-01,带有在管理api节api管理服务中生成的SharedAccessSignature令牌。现在此令牌仅在30天内有效。这意味着策略只能在30天内登录到

我正在使用
策略将所有请求和响应记录到事件集线器。此策略需要
记录器id
,该id指向将在其中传输日志的事件集线器。要创建此记录器,我参考了。我们将
PUT
请求发送到
https://{your service}.management.azure api.net/loggers/{new logger name}?api version=2017-03-01
,带有在管理api节api管理服务中生成的
SharedAccessSignature
令牌。现在此令牌仅在30天内有效。这意味着
策略只能在30天内登录到此事件中心

今天,
SharedAccessSignature
过期了。因此,我的所有API都开始抛出
500内部服务器错误
。如何自动续订此
SharedAccessSignature
,以便在其即将过期时自动使用新的
SharedAccessSignature
续订


我没有找到任何解决方案,因此我删除了事件中心,并使用新的共享密钥创建了一个新的事件中心。我将在此事件中心中存储所有日志,以便它每次都会运行。有人能帮我解决这个问题吗。

您在这里混淆了令牌。您在“管理API”部分中生成的令牌用于验证您对创建记录器的调用。只有当您选择通过我们的直接api(xxx.management.azureAPI.net)而不是通过ARM进行调用时,才需要此令牌。此PUT调用只需执行一次即可创建记录器。用于与eventhub对话的凭据在该调用的负载内传递,请参阅此处的“凭据”:。您可能需要轮换这些凭证。有关如何创建这些凭据,请参阅eventhub文档。

请从文档中获取更多详细信息:。您可以通过编程方式创建令牌,因此您可能希望创建一些脚本,每X天运行一次以生成新令牌???好的…但我将把新生成的令牌放在哪里。我尝试从azure门户生成新令牌。但当我尝试使用新令牌向azure api发送put请求时,它表示同名实体已存在。因为名称为的记录器已存在,但已过期。我是否必须始终使用新密钥创建新记录器。这样,我必须始终在事件中心策略中更改记录器的名称您正在从门户手动执行所有操作?您可能想从ARM模板创建/更新日志记录程序?如果我没记错,您说的是事件中心的共享访问策略中的
connectionString
。好的,如果重新生成connectionString url,那么它也会给我相同的内部服务器错误。您能告诉我在没有它的情况下创建日志记录程序的过程吗“正在过期。@Rahuljhawar,如果connectionstring/access密钥被旋转,它将过期。@Thomas当我尝试用新凭据更新记录器时,它会告诉我授权标头丢失。因此,对于每次更新,我都应创建一个新的SharedAccessSignature密钥。