使用AWS Marketplace GetEntitlements遇报错,求原因及解决方法
问题原因及解决方法
错误根源
GetEntitlements 操作不属于AWS Marketplace Metering服务,而是属于AWS Marketplace Entitlement Service,你错误地使用了MarketplaceMeteringClient来调用该接口,因此触发了"Operation not found"错误。
修正后的代码
// 引入正确的客户端类 use Aws\MarketplaceEntitlementService\MarketplaceEntitlementServiceClient; // 实例化Marketplace Entitlement服务客户端 $client = new MarketplaceEntitlementServiceClient($config); $request = [ 'ProductCode' => '你的产品编码', // 替换为实际产品码,必须用字符串包裹 'Filter' => [ 'CUSTOMER_IDENTIFIER' => $result['CustomerIdentifier'] ] ]; // 调用正确的接口方法(注意是小驼峰命名的getEntitlements) $entitlement = $client->getEntitlements($request);
额外注意事项
- 确保AWS SDK for PHP已正确安装并包含Marketplace Entitlement Service组件
ProductCode必须是你在AWS Marketplace注册的产品唯一编码,原代码中未加引号会被当作常量处理,大概率引发额外错误- 确认你的AWS IAM角色已配置
aws-marketplace:GetEntitlements权限
内容的提问来源于stack exchange,提问作者Richard Bernstein
相关产品推荐
相关产品推荐

