aliyun cli SDK Error on product Container Registry (CR)

aliyun cli SDK Error on product Container Registry (CR)

您好,我用的是aliyun命令行版本3.0.15

并为其配置正确的凭证

 ./aliyun --version
Alibaba Cloud Command Line Interface Version 3.0.15

当我查询 GetRegion 或与 Container Registry (CR) 相关的任何其他定义的 API 时,我得到了 SDK 错误

用法一

$ ./aliyun cr  GetRegion
ERROR: SDK.ServerError
ErrorCode: ServiceUnavailable
Recommend: https://error-center.aliyun.com/status/search?Keyword=ServiceUnavailable&source=PopGw
RequestId: 2FBF6A60-D3F1-46A2-8985-919B44032B45
Message: The request has failed due to a temporary failure of the server.

用法二

$ ./aliyun cr GET /regions
ERROR: SDK.ServerError
ErrorCode: ServiceUnavailable
Recommend: https://error-center.aliyun.com/status/search?Keyword=ServiceUnavailable&source=PopGw
RequestId: 64E93F6F-94FE-45B8-9550-9E2B77EFD623
Message: The request has failed due to a temporary failure of the server.

我检查了 API 它是正确的

./aliyun cr --help 

我做错了什么

感谢您提出问题。该团队刚刚更新了元配置。如果你从 github ("Compile source code") 安装最新的 aliyun cli,一切都应该正常工作。

aliyun cr GetRegion
{
    "data": {
        "regions": [
            {
                "localName": "华东1(杭州)",
                "domains": [
                    {
                        "domain": "registry.cn-hangzhou.aliyuncs.com",
                        "network": "public"
                    },
                    {
                        "domain": "registry-internal.cn-hangzhou.aliyuncs.com",
                        "network": "internal"
                    },
                    {
                        "domain": "registry-vpc.cn-hangzhou.aliyuncs.com",
                        "network": "vpc"
                    }
                ],
                "regionId": "cn-hangzhou"
            },

在 macOS Mojave 10.14.4 中,我能够重现您的问题(也使用 aliyun cli 版本 3.0.15)。问题似乎是(正如@wanghq 提到的)团队已经对尚未进入二进制文件的 aliyuncli 工具进行了更新。我能够通过从源代码编译来解决这个问题:

export GOPATH=/Users/xiaomei/Downloads
mkdir -p $GOPATH/src/github.com/aliyuncd $GOPATH/src/github.com/aliyun
cd $GOPATH
git clone http://github.com/aliyun/aliyun-cli.git
git clone http://github.com/aliyun/aliyun-openapi-meta.git
cd aliyun-cli/
make install
sudo cp out/aliyun /usr/local/bin/.

当然你的 GOPATH 应该换成别的东西(/Users/xiaomei 是我自己的主目录!)。

我添加了最后一行以确保将 aliyun 移动到 /usr/local/bin,因为这是我更喜欢保留它的地方。如果你愿意,你可以直接从构建目录中 运行 它。

命令 aliyun cr GetRegionList 在我从源代码构建后工作正常。