我使用定义的in this doc平台API创建了一个键/值映射。我使用API范围的网址来创建名为 countrymap 的键/值地图。
https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/keyvaluemaps
插入我在制作教程时制作的样本天气api。
但是,当我在API代理中添加 KeyValueMapOperations 策略时,我似乎无法引用此地图。我尝试在定义中添加mapIdentifier="countrymap"
(基于samples),但仍然没有看到它。
<KeyValueMapOperations async="false" continueOnError="false" enabled="true" mapIdentifier="countrymap" name="keyvaluemapoperations-2">
<DisplayName>KeyValueMapOperations-2</DisplayName>
<FaultRules/>
<Properties/>
<ExclusiveCache>false</ExclusiveCache>
<ExpiryTimeInSecs>-1</ExpiryTimeInSecs>
<Get assignTo="my.country" index="1">
<Key>
<Parameter ref="apigee.countryCode"></Parameter>
</Key>
</Get>
<Scope>organization</Scope>
</KeyValueMapOperations>
如果我在上面的代码中添加<InitialEntries>
定义,则该策略有效。
根据Key / Value Maps文档:
Key / ValueMaps提供用于存储任意名称/值对的API 可以通过自定义策略在运行时访问,也可以用于其他自定义 运行时要求,例如协议支持。
自定义策略是否包含KeyValueMapOperations策略?我在这里缺少什么?
答案 0 :(得分:2)
答案 1 :(得分:1)
步骤1:验证是否正确创建了keyvalumap: / v1 / o / {org_name} / apis / {api_name} / keyvaluemaps“ - &gt;这应该列出国家地图KVM
步骤2:在尝试对其进行GET调用之前填充KVM。您可以使用API调用(apigee.com/docs/api/api_methods/62-update-keyvaluemap)或使用PUT填充它KeyValueMapOperations的操作如下所示(apigee.com/docs/api-services/content/persist-data-using-keyvaluemap)
步骤3:检查KVM的条目 / V1 / O / {ORG_NAME} / API的/ {API_NAME} / keyvaluemaps / countrymap
步骤4:您可以使用示例中给出的相同KeyValueMapOperations策略来获取KVM上的内容
答案 2 :(得分:0)
我也遇到了这个问题,在KeyValueMapOperations中进行了以下更改后,它开始为我工作。
<Scope>apiproxy</Scope>
<Parameter>apigee.countryCode</Parameter>