Code Monkey home page Code Monkey logo

Comments (17)

yizhihouzi avatar yizhihouzi commented on May 26, 2024

问题的原因在于 产品名称 'cr' 与 'acr'的混淆,具体见下面:

文件: vendor/alibabacloud/client/src/Traits/EndpointTrait.php
method: resolveHost
获得cr的服务地址代码:
$domain = Config::get("endpoints.{$product}.{$regionId}");
此处的product值为 'cr'
见:
文件:vendor/alibabacloud/sdk/src/Cr/V20160607/CrApiResolver.php
第80行:
public $product = 'cr';


文件:vendor/alibabacloud/client/src/Config/Data.php
第 2333行配置的名称为 'acr'

望尽快修复.

from openapi-sdk-php.

 avatar commented on May 26, 2024

https://help.aliyun.com/document_detail/72399.html

目测参数为空字符串,是否允许这样的值请参考API文档

from openapi-sdk-php.

 avatar commented on May 26, 2024

问题的原因在于 产品名称 'cr' 与 'acr'的混淆,具体见下面:

文件: vendor/alibabacloud/client/src/Traits/EndpointTrait.php
method: resolveHost
获得cr的服务地址代码:
$domain = Config::get("endpoints.{$product}.{$regionId}");
此处的product值为 'cr'
见:
文件:vendor/alibabacloud/sdk/src/Cr/V20160607/CrApiResolver.php
第80行:
public $product = 'cr';


文件:vendor/alibabacloud/client/src/Config/Data.php
第 2333行配置的名称为 'acr'

望尽快修复.

并不混淆,如果暂时没有cr的host,请根据产品文档指定,通过方法 ->host()

from openapi-sdk-php.

yizhihouzi avatar yizhihouzi commented on May 26, 2024

ok.
我想知道acr的配置是为哪个产品准备的呢?
为什么cr的配置又没有呢?
麻烦介绍下.
谢谢.

from openapi-sdk-php.

 avatar commented on May 26, 2024

ok.
我想知道acr的配置是为哪个产品准备的呢?
为什么cr的配置又没有呢?
麻烦介绍下.
谢谢.

原理是,按照产品code寻找host,如果产品code不在,则需要手动指定。由于产品众多,新增的region不一定会及时更新在配置当中。

from openapi-sdk-php.

yizhihouzi avatar yizhihouzi commented on May 26, 2024

原理我知道,为了解决这个问题我已经花了时间看你的代码.
所以麻烦您花时间看看,acr的配置是为谁配的.
谢谢.

from openapi-sdk-php.

yizhihouzi avatar yizhihouzi commented on May 26, 2024
$regionId        = 'cn-shanghai';
AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
            ->regionId($regionId)
            ->name($clientName);
$result = (new Cr())::v20160607()
                    ->getRepoTags()
                    ->withRepoNamespace('###')
                    ->withRepoName('service-###')
//                    ->host('cr.cn-shanghai.aliyuncs.com')
                    ->withPage(1)
                    ->withPageSize(10)
                    ->client($clientName)
                    ->request();
var_dump($result->toArray());

以上是我的代码片段,host加上就可以,注掉就不行.这和你讲的逻辑一致的.

错误的返回信息为:

PHP Fatal error:  Uncaught AlibabaCloud\Client\Exception\ServerException: Illegal Parameter: Please check the parameters RequestId: B85EFB90-2E6F-412F-B943-DE5EB09A774E GET "http://location.aliyuncs.com" 500 

这个错误信息与我引用的之前的issue信息应该是一致的,这个报错的错误原因就在host这里.

from openapi-sdk-php.

 avatar commented on May 26, 2024

原理我知道,为了解决这个问题我已经花了时间看你的代码.
所以麻烦您花时间看看,acr的配置是为谁配的.
谢谢.

容器镜像服务产品
Container Registry
产品code:acr

from openapi-sdk-php.

yizhihouzi avatar yizhihouzi commented on May 26, 2024

ok,谢谢~

vendor/alibabacloud/sdk/src/Cr/V20160607/CrApiResolver.php

这个文件是为哪个产品写的呢?

from openapi-sdk-php.

 avatar commented on May 26, 2024
$regionId        = 'cn-shanghai';
AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
            ->regionId($regionId)
            ->name($clientName);
$result = (new Cr())::v20160607()
                    ->getRepoTags()
                    ->withRepoNamespace('###')
                    ->withRepoName('service-###')
//                    ->host('cr.cn-shanghai.aliyuncs.com')
                    ->withPage(1)
                    ->withPageSize(10)
                    ->client($clientName)
                    ->request();
var_dump($result->toArray());

稍等,正在查

from openapi-sdk-php.

 avatar commented on May 26, 2024
$regionId        = 'cn-shanghai';
AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
            ->regionId($regionId)
            ->name($clientName);
$result = (new Cr())::v20160607()
                    ->getRepoTags()
                    ->withRepoNamespace('###')
                    ->withRepoName('service-###')
//                    ->host('cr.cn-shanghai.aliyuncs.com')
                    ->withPage(1)
                    ->withPageSize(10)
                    ->client($clientName)
                    ->request();
var_dump($result->toArray());

以上是我的代码片段,host加上就可以,注掉就不行.这和你讲的逻辑一致的.

错误的返回信息为:

PHP Fatal error:  Uncaught AlibabaCloud\Client\Exception\ServerException: Illegal Parameter: Please check the parameters RequestId: B85EFB90-2E6F-412F-B943-DE5EB09A774E GET "http://location.aliyuncs.com" 500 

这个错误信息与我引用的之前的issue信息应该是一致的,这个报错的错误原因就在host这里.

因为cr在Location中也没有数据,所以报此错误,请继续保持 ->host 显式指定host

from openapi-sdk-php.

yizhihouzi avatar yizhihouzi commented on May 26, 2024

ok,谢谢~

vendor/alibabacloud/sdk/src/Cr/V20160607/CrApiResolver.php

这个文件是为哪个产品写的呢?

您能回复我这个问题吗?

from openapi-sdk-php.

 avatar commented on May 26, 2024

这个文件是为哪个产品写的呢?

cr也是容器镜像服务,关于acr、cr的code不对齐的情况已经发现,正在处理,请先保持指定host的调用方式。

from openapi-sdk-php.

yizhihouzi avatar yizhihouzi commented on May 26, 2024

但是,如果不是我的坚持,我在你的回复中,一点也没看到你要去查问题,查到问题给出客观服务的意愿.
这不是一个专业人士应该有的工作态度.

from openapi-sdk-php.

 avatar commented on May 26, 2024

但是,如果不是我的坚持,我在你的回复中,一点也没看到你要去查问题,查到问题给出客观服务的意愿.
这不是一个专业人士应该有的工作态度.

已收到,谢谢。

from openapi-sdk-php.

yizhihouzi avatar yizhihouzi commented on May 26, 2024

另外,我想说的是,现代php项目,像这样的配置 vendor/alibabacloud/client/src/Config/Data.php 真的非常可怕. 这个文件有三千多行...
oss的sdk可能不是您负责的,但那也真是一个惨不忍睹的项目,我看到也有其他开发者提出了多个issue,如果有可能,麻烦尽快跟进统一.

我还希望表达的是:
我感谢官方提供sdk,以便开发者能快速开发. 事实上alibabacloud/sdk对阿里云下的产品做了统一,已经大大方便了开发者,作为开发者,非常感谢.
但是,消费者因为信赖选择了阿里云,也因为信赖,选择官方sdk,作为阿里这样的大厂的输出也理应代表着业内先进的技术方案,保量且保值.
请你们禀赋责任感,认真对待开发者的反馈,

感谢您的阅读.

from openapi-sdk-php.

 avatar commented on May 26, 2024

另外,我想说的是,现代php项目,像这样的配置 vendor/alibabacloud/client/src/Config/Data.php 真的非常可怕. 这个文件有三千多行...
oss的sdk可能不是您负责的,但那也真是一个惨不忍睹的项目,我看到也有其他开发者提出了多个issue,如果有可能,麻烦尽快跟进统一.

我还希望表达的是:
我感谢官方提供sdk,以便开发者能快速开发. 事实上alibabacloud/sdk对阿里云下的产品做了统一,已经大大方便了开发者,作为开发者,非常感谢.
但是,消费者因为信赖选择了阿里云,也因为信赖,选择官方sdk,作为阿里这样的大厂的输出也理应代表着业内先进的技术方案,保量且保值.
请你们禀赋责任感,认真对待开发者的反馈,

感谢您的阅读.

感谢建议,我们会持续改进。

from openapi-sdk-php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.