代码之家  ›  专栏  ›  技术社区  ›  amitam

GCP Python库的基本异常类:“google api Python客户端”

  •  0
  • amitam  · 技术社区  · 7 年前

    我正在使用谷歌云提供的谷歌api python客户端库。 我正在使用it中的许多方法来操作计算引擎资源(磁盘、实例、快照等) try..catch 块(&A);在添加块时,我意识到谷歌云没有提供任何基本的异常类。

    try:
     <code>
    except:
     <prompt error>
    

    但我认为这不是正确的方式。

    我错过什么了吗?或者异常处理程序不是由GCP库提供的?

    2 回复  |  直到 7 年前
        1
  •  3
  •   amitam    7 年前

    我浏览了API返回的文档和错误堆栈;我能够找到处理错误的方法来处理代码中的异常。

    使用以下方法,我们可以处理错误/异常。

    import oauth2client.client
    from googleapiclient import discovery
    import googleapiclient.errors
    
    #
    # prepare credentials dictionary
    #
    
    try:
        compute = discovery.build(
                "compute", "v1", credentials=credentials)
    except oauth2client.client.HttpAccessTokenRefreshError as e:
        print 'Error > ', e.message
    except googleapiclient.errors.HttpError as e:
        reason = str(e._get_reason).split("\"")[-2]
        print 'Error > ', reason
    

    我希望,这是有益的!

    googleapiclient.errors class

    @比尔·普林,请告诉我。

        2
  •  0
  •   Bill Prin    7 年前

    简单的回答是 google-api-python-client

    这个 library是一个受支持但未积极开发的旧库。客户机调用代码都是自动生成的,对于许多API来说,它是一个非常通用的客户机,因此除了在网络/传输/HTTP层编码之外,没有多少有意义的异常。

    继续发展 google-cloud-python library,它是手写库和自动生成库的混合体。您可能会注意到,并非所有API(包括compute)都已经存在,尽管它们会及时出现。新的自动生成代码将更加关注惯用语言模式。

    google-cloud-python 客户端库。