部署我的 zip 文件夹 api 代理时出错

问题描述 投票:0回答:2

我正在尝试将我的代理部署为 zip 文件夹。但得到这个错误。 { “代码”:“messaging.config.beans.InvalidBundle”, "message" : "捆绑包无效。解析错误", “上下文”:[]

我正在尝试使用 azure Devops 管道部署 api 代理

azure api proxy devops apigee
2个回答
0
投票

正如错误所述,您需要在上传之前检查您的捆绑包。最简单的方法是尝试将其直接上传到 Apigee,然后查看部署时遇到的错误。


0
投票

我认为我面临着同样的问题。让我描述一下我的。

我正在尝试使用 Python 中的

gcp.apigee.Sharedflow
资源和 Pulumi 将 API 代理包上传到 Apigee。我尝试上传的捆绑包的结构如下并命名为
my-proxy.zip
:

-- apiproxy
    |-- my-proxy.xml
    |-- proxies
    |   `-- default.xml
    `-- targets
        `-- default.xml

但是,当我尝试使用 Pulumi 部署此捆绑包时,我收到以下错误消息:

gcp:apigee:Sharedflow (my-proxy):
    error: 1 error occurred:
        * Error creating SharedFlow: googleapi: Error 400: bundle contains errors
    Details:
    [
      {
        "@type": "type.googleapis.com/edge.configstore.bundle.BadBundle",
        "violations": [
          {
            "description": "zip entry in bundle has invalid path",
            "filename": "apiproxy/proxies/default.xml"
          },
          {
            "description": "zip entry in bundle has invalid path",
            "filename": "apiproxy/targets/default.xml"
          },
          {
            "description": "zip entry in bundle has invalid path",
            "filename": "apiproxy/my-proxy.xml"
          }
        ]
      },
      {
        "@type": "type.googleapis.com/google.rpc.RequestInfo",
        "requestId": "11637400726346568001"
      }
    ]

有趣的是,当我通过 GCP 控制台上传相同的 zip 文件以在 Apigee 中创建 API 代理时,代理的创建没有任何问题。这让我相信问题可能与 Pulumi 或

gcp.apigee.Sharedflow
资源处理捆绑包的方式有关。

这是我的 Pulumi 代码的相关部分:

gcp.apigee.Sharedflow(
        "my-proxy",
        config_bundle="my-proxy.zip",
        org_id=org_name,
        opts=pulumi.ResourceOptions(
            depends_on=[bundle_resource]
        )
    )

我正在寻找有关如何解决此问题的指导。有没有人遇到过类似的问题,或者有人可以建议在使用 Pulumi 部署到 Apigee 时可能导致这些“无效路径”错误的原因吗?

提前感谢您的帮助!

© www.soinside.com 2019 - 2024. All rights reserved.