使用Pulumi Python上传Apigee共享流时遇Zip条目路径无效错误
解决Apigee Pulumi部署中"zip entry in bundle has invalid path"错误
问题核心原因
你混淆了Apigee的API代理和**共享流(Sharedflow)**两种资源的bundle结构:
- 当前的zip包是标准API代理结构(根目录为
apiproxy),适配API代理资源 - 但你使用的
gcp.apigee.Sharedflow资源要求共享流专属bundle结构(根目录应为sharedflow,包含sharedflow.xml等文件)
GCP控制台上传时选择的是创建API代理,因此能正常识别;但Pulumi中用错了资源类型,导致Apigee服务端将API代理包判定为无效共享流bundle,抛出路径错误。
解决方案
1. 修正资源类型(上传API代理)
若目标是部署API代理,将代码中的gcp.apigee.Sharedflow替换为gcp.apigee.Proxy:
gcp.apigee.Proxy( "my-proxy", config_bundle="my-proxy.zip", org_id=org_name, opts=pulumi.ResourceOptions( depends_on=[bundle_resource] ) )
2. 调整bundle结构(若需部署共享流)
若目标是创建共享流,需重新打包为符合共享流规范的结构:
-- sharedflow |-- sharedflow.xml |-- policies | `-- ... `-- resources `-- ...
再用gcp.apigee.Sharedflow资源上传调整后的zip包。
验证要点
- 确保zip包根目录与资源类型严格匹配:API代理对应
apiproxy,共享流对应sharedflow - 打包时避免多余层级嵌套,根目录直接包含对应核心文件夹
内容的提问来源于stack exchange,提问作者bf76
相关产品推荐
相关产品推荐

