随笔分类 - 【Azure API 管理】
Azure 中使用APIM的各种疑难杂症
摘要:问题描述 使用Azure APIM服务,在删除旧资源准备新建相同名称的新APIM服务时,尝试多次都是出现“指定的服务名称已正在使用”错误。但实际上同名称的服务已经被删除。为什么多次重建还是提示正在使用呢? 问题解答 这是因为APIM服务自动启用了软删除(Soft-Delete)功能。 在删除 API
阅读全文
摘要:问题描述 当创建一个新的APIM服务时,会要求输入组织名称(Organization name)和管理员邮箱(Administrator email :Set the e-mail address to receive all system notifications sent from API M
阅读全文
摘要:问题描述 在使用API Management服务时,以Echo API(默认创建)举例,它会在Request的body部分默认设置一个SAMPLE指,这样在测试接口时候,就会有默认的Body内容,我们只需要根据JSON值就可以了。测试非常便捷。 那么,如果需要通过Java APIM的SDK来创建一个
阅读全文
摘要:问题描述 APIM中的Policy是否有调用速率的方法(熔断机制) 问题解答 APIM的限制速率的方式有以下方式: 检查 HTTP 标头 - 强制 HTTP 标头必须存在和/或强制采用 HTTP 标头的值。 按订阅限制调用速率 - 根据订阅限制调用速率,避免 API 使用量暴增。 按密钥限制调用速率
阅读全文
摘要:问题描述 在使用APIM服务中,需要为专门的一组用户赋予特殊的权限:审批APIM用户的对产品的订阅。需要自定义一个RBAC角色,那么如何来设置最少的Action满足需求呢? 问题解答 要对APIM订阅进行审批,至少需要 Microsoft.ApiManagement/service/subscrip
阅读全文
摘要:问题描述 为APIM添加AAD Group时候,等待很长很长的时间,结果添加失败。错误消息为: Write Groups ValidationError :Failed to query Azure Active Directory graph due to error: An error occu
阅读全文
摘要:问题描述 APIM默认提供了开发者门户,可以让用户体验如何来调用接口。但如果不想开发这个功能的情况下,是否有办法关闭呢? 问题解答 答案是:开发人员门户是没有办法关闭的。但是作为另一种的代替方案,如自定义域名时,不为开发者门户配置DNS,删除开发者门户的登录权限(Identities)。从而实现让用
阅读全文
摘要:问题描述 Azure API Management服务支持使用自建网关来实现API服务,这样APIM的所有请求都可以走在自管理的企业内网中。流量都更加安全。当根据官网文档搭建后,如果在本地环境中部署超过10个Self-host gateway,并且这些Self-host gateway的主机出口IP
阅读全文
摘要:问题描述 APIM从标准版降级到基础版,在没有用户使用的情况,Capacity的指标平均显示在80%以上。 这是什么异常情况呢? 问题分析 APIM的容量指标(Capacity)是 API 管理实例中负载的指标。 它反映资源用量(CPU、内存)和网络队列的长度。而其中的CPU以及内存指标监控的对象不
阅读全文
摘要:quota-by-key 策略允许根据密钥强制实施可续订或有生存期的调用量和/或带宽配额。 密钥的值可以是任意字符串,通常使用策略表达式来提供密钥。 可以添加可选增量条件,指定应在配额范围内的请求。 如果多个策略增加相同的键值,则每个请求的键值仅增加一次。 超过调用速率时,调用方会收到 403 Fo
阅读全文
摘要:问题描述 使用APIM,在 Inbound 中对请求的Body内容进行解析。客户端请求所传递的Request Body为XML格式,需要从Request Body中解析出多个(Element)节点值,然后设置通过(set-variable)为参数在后续使用。 但是验证发现,当且只当使用一个set-v
阅读全文
摘要:问题描述 APIM 无法正确连接到App Service,返回500错误: { "statusCode": 500, "message": "Internal server error", "activityId": "2aef4474-4067-a333-8750-3889ebad3eeb" }
阅读全文
摘要:问题描述 APIM中的内容(API, Policy)等内容,如果有需要更新时候,通常可以在Azure APIM门户上操作,通过一个接口一个设置的修改,也可以针对一个接口导入/导出的方式修改。当APIM中的API成数量级上升后,这样的操作方式就变得很慢很没有效率,是否有更高效得方式呢? 以上两种方式都
阅读全文
摘要:问题描述 需要从 APIM 直接将大文件存入Azure Storage,没看到这方面的官方文档,所以是否有这方面的实践案例,或者APIM是否支持引用SDK (如Azure Storage SDK)? 问题分析 API Management (APIM) 是一种为API 网关的实现,不适合通过APIM
阅读全文
摘要:问题描述 1) APIM 到Event Hub 写入日志是否有数量限制,比如每秒最大写入数量; 2) 是否可以在同一个APIM配置多个Event Hub,如果可以该APIM写入日志的峰值是否可以是N倍,即和Event Hub数量的倍数; 3) 写入Event Hub 达到峰值时,对APIM的影响有哪
阅读全文
摘要:问题描述 在APIM中,通过门户上的 Test 功能,可以非常容易的查看请求的Trace信息,帮助调试 API 对各种Policy,在Inbound,Backend, Outbound部分的耗时问题,对其进行错误消息的排查。 但是,当调用APIM 请求遇见错误,且不容易通过门户Test复现,需要在真
阅读全文
摘要:问题描述 根据文档 https://docs.azure.cn/zh-cn/api-management/api-management-howto-log-event-hubs , 可以将Azure API Management中的请求记录到Azure 事件中心。文档中有详细的步骤描述。但是在对于如
阅读全文
摘要:问题描述 API Management service 设置禁止外网访问,请求通过外网(Internet)将无法解析到APIM的网关地址,只能通过APIM所集成的内网(Virtual Network)来访问? 问题解答 API Management Service有可以将整个APIM都保护中内部网络
阅读全文
摘要:在APIM中配置对传入的Token进行预验证,确保传入后端被保护的API的Authorization信息正确有效,可以使用validate-jwt策略。validate-jwt 策略强制要求从指定 HTTP 标头或指定查询参数提取的 JSON Web 令牌 (JWT) 必须存在且有效。validate-jwt 策略支持 HS256 和 RS256 签名算法。
对于 HS256,必须在策略中以 base64 编码形式提供内联方式的密钥。
对于 RS256,密钥可以通过 Open ID 配置终结点来提供,或者通过提供包含公钥或公钥的模数指数对的已上传证书的 ID 来提供。
阅读全文
摘要:问题描述 Azure API Management在设置 Policy时,如何对URL进行解码呢? 使用 HttpUtility.UrlDecode 出错,是否有其他可以对URL解码的方法呢? 使用HttpUtility.UrlDecode出错:The name 'HttpUtility' does
阅读全文