API Python endpoint : can we call another endpoint part of another API service ?

Options
rona
rona Registered Posts: 47 ✭✭✭✭✭

My question is related to the use of the API python endpoint in the API Designer.

Scenario : we have one API service 'service_A' in a DSS Project A and one API service 'service_B' in a DSS project B.

service_A includes a python endpoint 'endpoint_A'.

service_B includes a python endpoint 'endpoint_B'.

Please, could you confirm if endpoint_A can call the endpoint_B ? if yes, how to implement this call in endpoint_A ?

Annie

Answers

  • AdrienL
    AdrienL Dataiker, Alpha Tester Posts: 196 Dataiker
    Options

    Hi,

    Yes it can, see Calling another endpoint. The example uses predict_record (assumes a prediction endpoint), but you should be able to instead call run_function for a python function.

  • rona
    rona Registered Posts: 47 ✭✭✭✭✭
    Options

    Thanks for this information.

    I read that the other endpoint in this example should be part of the same service.

    'In order to facilitate this kind of setup, in a Python function or prediction endpoint, you can obtain a dataikuapi.APINodeClient that is already preconfigured to query other endpoints of the same service.'

    example : result = client.predict_record("other_endpoint", {"feature1" : "value1", "feature2" : 42})

    In this call, there is no parameter to specify the API service in which the 'other_endpoint' is defined.

    Is there a way to add this information in the call ?

  • AdrienL
    AdrienL Dataiker, Alpha Tester Posts: 196 Dataiker
    Options

    No, as the API service is the deployment unit.

    In that case, you'll have to fully instantiate an APINodeClient (instead of using get_self_client), that's where you can specify the service ID.

  • rona
    rona Registered Posts: 47 ✭✭✭✭✭
    Options

    Thanks a lot !

    It is clear.

Setup Info
    Tags
      Help me…