Service configurations

Service configurations provide a centralized way to configure external APIs and services to be consumed from Business Central.

Introduction

Service configurations allow you to specify parameters and configuration for external services through a single common interface. EOS Administration Library provides support for a number of services out-of-the box, but you can easily implement your own service configurations with minimal effort and leverage this common configuration interface.

For each service configuration there usually exists a Codeunit for accessing this service. You can refer to the documentation of that specific service for details.

The services that EOS Administration Library supports out-of-the box are:

  • Azure FileStorage provides access Azure FileShare storage accounts. Read more about this in the FileSystem chapter
  • EOS Function API provides access to all the functionality that the EOS Function API provides
  • ApplicationInsights Query allows sending and parsing queries to Azure Application Insights
  • Azure BlobStorage allows access to Azure BLOB storage accounts. Read more about this in the FileSystem chapter
  • In-Memory Storage is an integrated storage whose primary use case is testing and development. Read more about this in the FileSystem chapter

Setup

You can access the service configurations from the page Service Configuration List (EAL). This page will list all currently configured services. From here you can manage existing services or create new ones.

A service configuration is made of two parts. On top, you will find a list of fields:

  • Code: Specifies a code you want to assign to this service configration
  • Type: Specifies the type of service you are configuring.
  • Description: Allows you to provide a user-friendly description for this service configuration.
  • Endpoint Uri: Allows you to to specify the URL this service points to. This may or may not be necessary, depending on the services implementation. Some services require this, other’s do not.
  • Request Timeout (sec): Allows you to specify a timeout for HTTP calls made to this service. If you don’t specify this, the default HTTP client timeout will be used. This may or may not be considered, depending on the services implementation. Some services consider this, other’s do not.
  • Logging: allows you to configure how (and if) requests and responses are logged for this service. This should only be used for debugging. You can read more on this below in the Debugging chapter.

Below, there is a subpage of service-specific parameters that are different, depending on the service that you are configuring. Refer to the documentation of each service for details.

Each parameter in this subpage can either be a normal parameter or a secret. This is decided by the service implementation. The only difference between the two is that a secret value can no longer be extracted, once it has been saved.

Debugging

Most services that are configured through a service configuration can be debugged. This is achieved by logging requests and their responses. This, however, depends on the services implementation.

To activate this debug log you must specify a value other than None in the field Logging. This allows you to log every request (and their response) or only failed ones.

Once you active the log, all further requests made using this service configuration will be logged. You can access the log from the Service Configuration card, from the action Resquest Log. This page allows you to see all the requests since activating the log and also allows you to download the request and response data (as JSON).



EOS Labs -