apigee中的组织级别键值映射操作

时间:2015-01-08 22:21:38

标签: apigee

我试图在apigee边缘使用键/值映射操作,但我似乎无法得到任何变量。我已经发现我已经创建了一个组织级别的键/值,但我仍然无法弄清楚如何获取这些值。我创建的数据来自样本,如下所示:

   {
   "entry":  [
              {
               "name": "Development",
               "value": "65.87.18.18"
              },
              {
              "name": "Staging",
              "value": "65.87.18.22"
              }
             ],
"name": "ipAddresses"
}

我已经按照这样的方式配置了我的政策

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="Key-Value-Map-Operations-1" mapIdentifier="ipAddresses">
<DisplayName>Key Value Map Operations 1</DisplayName>
<FaultRules/>
<Properties/>
<ExclusiveCache>false</ExclusiveCache>
<ExpiryTimeInSecs>-1</ExpiryTimeInSecs>
<Get assignTo="myvar" index="1" >
    <Key>
        <Parameter ref="entry.Development"></Parameter>
    </Key>
</Get>
<Scope>organization</Scope>
</KeyValueMapOperations>

但每当我对此进行追踪时,myVar始终为空。我已经为参数ref尝试了各种值,例如

  • 输入
  • 开发
  • entry.Development

但似乎没有任何效果。有什么建议?我在某处需要一个基本的auth标头吗?

我甚至尝试在apiproxy范围内进行此操作并同时播种地图,但即使这样也不会返回任何内容。这是使用政策的默认值!

   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="Key-Value-Map-Operations-2" mapIdentifier="newkey">
<DisplayName>Key Value Map Operations 2</DisplayName>
<FaultRules/>
<Properties/>
<ExclusiveCache>false</ExclusiveCache>
<ExpiryTimeInSecs>-1</ExpiryTimeInSecs>
<InitialEntries>
    <Entry>
        <Key>
            <Parameter>k1</Parameter>
        </Key>
        <Value>v1</Value>
    </Entry>
    <Entry>
        <Key>
            <Parameter>k2</Parameter>
        </Key>
        <Value>v3</Value>
        <Value>v4</Value>
    </Entry>
</InitialEntries>

<Get assignTo="mynewvar" index="1">
    <Key>
        <Parameter ref="k1"></Parameter>
    </Key>
</Get>

<Scope>apiproxy</Scope>
</KeyValueMapOperations>  

我无能为力,但我认为我错过了一些非常明显的东西,或者我完全误解了地图的概念

1 个答案:

答案 0 :(得分:2)

对于遇到此问题的其他人,问题是我正在使用

   <Parameter ref="k1"></Parameter>

要检索该值,实际上它应该是

   <Parameter>k1</Parameter>