Environment variables applicable for Azure API Management Service

Understand the environment variables that are applicable for Azure API Management Service.

Azure API Management Service configurations let you specify Azure API Management Service configurations that are required for Azure connectivity.
Note: The following properties apply to both sprint boot and Azure Functions deployment modes, unless specified otherwise.
Properties Description
AZURE_SUBSCRIPTION_ID Mandatory. The subscription identifier under which your Azure API Management service is created. For details about how to find the subscription ID for your Azure API Management service, see Azure documentation.
AZURE_RESOURCE_GROUP Mandatory. The container into which Azure API Management resources are deployed and managed.For details about how to find the resource group in which your Azure API Management resources are deployed, see Azure documentation.
AZURE_TENANT_ID Mandatory. Azure account ID or organization ID. For details about how to find the tenant ID of your Azure account, see Azure documentation.
AZURE_CLIENT_ID Mandatory. Client ID to authorize Azure SDK connection. The Client ID is generated when you assign the Service principle to the Azure API Management Service. To assign the Service principle, use the Azure portal or Azure CLI. For details, see Using Azure Portal, Using Azure CLI.
AZURE_CLIENT_SECRET Mandatory. Client secret to authorize Azure SDK connection. The Client secret is generated when you assign the Service principle to the Azure API Management Service. To assign the Service principle, use the Azure portal or Azure CLI. For details, see Using Azure Portal, Using Azure CLI.
AZURE_API_MANAGEMENT_SERVICE_NAME Mandatory. A unique name that identifies your Azure API Management instance. The resource name that you specify while creating an Azure API Management Service instance is the AZURE_API_MANAGEMENT_SERVICE_NAME. For details, see Azure documentation.
Note: AZURE_API_MANAGEMENT_SERVICE_NAME is considered as a runtime name in federated API management.
AZURE_MERTICS_SYNC_BUFFER_INTERVAL_MINUTES Optional. While retrieving the metrics using the Azure SDK, the real-time analytical (metrics) data from the Azure API Management Service may be delayed by 15 minutes or longer, depending on the current service load. For details, see Azure documentation. Therefore, set AZURE_MERTICS_SYNC_BUFFER_INTERVAL_MINUTES to more than 15 minutes. The default value is 15 minutes.If you do not specify a value for this property, the default value is considered. Specifying a value less than 15-minutes results in unnecessary calls, as the analytics data might not be available.
AZURE_METRICS_BY_REQUESTS_OR_INSIGHTS Optional. Method in which the metrics are retrieved from Azure SDK.
  • Requests
  • Insights

Requests: The agent uses the reports().listByRequest method to retrieve all requests in the specified time interval. The agent builds federated API management compatible metrics such as transactionsCount, averageLatency, and averageResponseTime, categorizing them according to the status code 2xx, 3xx, 4xx, and 5xx before sending them to federated API management.

Insights: The agent uses reports().listByTime or reports().listByApi method to retrieve the aggregated metrics data report in 15-minute intervals (15, 30, 45). However, this method does not categorize the data according to the status codes. The default value is Requests. If you do not specify a value for this property, the default value is considered.

federated API management configurations let you specify federated API management details to which Azure API Management Service must establish the connectivity.
Note: The following properties apply to both Sprint boot and Azure Functions deployment modes, unless specified otherwise.
Properties Description
APICP_URL Mandatory. The valid URL that is used to access federated API management.

Example: https://localhost:8080

APICP_USERNAME Mandatory. Username that is used to log in to federated API management.
APICP_PASSWORD Mandatory. Password of the corresponding username, which is used for logging in to the federated API management through basic authentication.
APICP_TOKEN Optional. A valid token that is used to authorize federated API management application. This property represents token-based authorization.
Note: Use either Basic authorization (APICP_PASSWORD) or token-based authorization (APICP_TOKEN) to authorize the federated API management application.
APICP_SSL_ENABLED Optional. The SSL certification of federated API management. Possible values: true or false
APICP_TRUSTSTORE_PATH Optional. Location of the truststore file. If APICP_SSL_ENABLED property is set to true, you must specify a value for this property.
APICP_TRUSTSTORE_PASSWORD Optional. Password to access the truststore file. If APICP_SSL_ENABLED property is set to true, you must specify a value for this property.
APICP_TRUSTSTORE_TYPE Optional. Type of the truststore. If APICP_SSL_ENABLED property is set to true, you must specify a value for this property.
APICP_KEYSTORE_PATH Optional. Location of the keystore file. If APICP_SSL_ENABLED property is set to true, you must specify a value for this property.
APICP_KEYSTORE_PASSWORD Optional. Password to access the keystore file. If APICP_SSL_ENABLED property is set to true, you must specify a value for this property.
APICP_KEYSTORE_TYPE Optional. Type of the keystore. If APICP_SSL_ENABLED property is set to true, you must specify a value for this property.
APICP_KEY_ALIAS Optional. Alias of the key in the keystore. If APICP_SSL_ENABLED property is set to true, you must specify a value for this property.
APICP_KEY_PASSWORD Optional. Password of key in the keystore. If APICP_SSL_ENABLED property is set to true, you must specify a value for this property.
APICP_RUNTIME_NAME Mandatory. Name of the runtime. The property defines how you want to identify the runtime in federated API management. Name must not exceed 50 characters. By default, AZURE_API_MANAGEMENT_SERVICE_NAME is considered as a runtime name.
APICP_RUNTIME_DESCRIPTION Optional. The runtime description. Description must not exceed 300 characters. Default value: Azure Runtime. If you do not specify a value for this property, the default value is considered.
APICP_RUNTIME_LOCATION Optional. Location where the runtime is deployed. Specify the location in the Country|State|City format.
Note: If both APICP_RUNTIME_LOCATION and the individual fields (APICP_RUNTIME_COUNTRY, APICP_RUNTIME_STATE, and APICP_RUNTIME_CITY) are provided, the value in APICP_RUNTIME_LOCATION takes precedence.
APICP_RUNTIME_COUNTRY Optional. Country where the runtime is deployed.
APICP_RUNTIME_STATE Optional. State where the runtime is deployed.
APICP_RUNTIME_CITY Optional. City where the runtime is deployed. If the city name is unique and the country and state fields are not specified, federated API management automatically populates the country and state values.
APICP_RUNTIME_REGION Optional. The region name where the runtime is hosted. Example: EAST US. Region name must not exceed 50 characters.
APICP_RUNTIME_TAGS Optional. The tag name of the runtime. Default: AWS If you do not specify a value for this property, the default value is considered. Tags are used to organize and categorize the runtimes. Multiple tags can be specified by adding comma. Example: test, local, devTags must not exceed 50 characters. It must not contain whitespaces and the number of tags must not exceed 100.
APICP_HTTP_CONNECTION_TIMEOUT Optional. The duration in seconds in which the agent must establish the initial connection with federated API management. Default: 10 seconds.
APICP_HTTP_READ_TIMEOUT Optional. The duration in seconds in which the agent fails to receive data over an established HTTP connection. Default: 10 seconds.
APICP_HTTP_MAX_CONNECTION Optional. Defines the maximum number of simultaneous connections the agent can establish with federated API management. Default: 5.
APICP_HTTP_MAX_RETRIES_COUNT Optional. Defines the maximum number of times an operation will be automatically retried after an initial connection failure. Default: 0.
APICP_HTTP_RETRY_INTERVAL Optional. Specifies the number of seconds the agent waits before attempting to reconnect to the federated API management after a failed connection. Default: 5 seconds

Agent configurations let you specify the agent configurations such as heart beat interval, assets sync interval, metrics sync interval .

The Agent configurations differ between Sprint boot and Azure Functions deployment modes.

Agent configurations for Sprint boot deployment mode:

Properties Description Possible Values
APICP_HEARTBEAT_SEND_INTERVAL_SECONDS Optional. The duration in seconds in which the agent must send the health check status (heartbeats) of the Azure API Management Service to federated API management. Min: 15 seconds

Max: 900 seconds (5 minutes).Default: 60 seconds. If you do not specify a value for this property, the default value is considered.

APICP_PUBLISH_ASSETS Optional. Enable or disable the publishing of assets (APIs) to federated API management.
  • True
  • False (Default value)
Assets are published to federated API management whenever the Agent starts, if APICP_PUBLISH_ASSETS is set to true. If you do not specify a value for this property, the default value is considered.
APICP_SEND_METRICS Optional. Enable or disable syncing of Azure analytical data (metrics) to federated API management.
  • True
  • False (Default value)
If you do not specify a value for this property, the default value is considered.
APICP_METRICS_SEND_INTERVAL_SECONDS Optional. The duration in seconds in which the agent must retrieve the metrics from Azure API Management Service using Azure SDK and send metrics to federated API management. Min: 60 seconds

Max: 7200 seconds

Default: 300 seconds

If you do not specify a value for this property, the default value is considered.
APICP_ASSETS_SYNC_INTERVAL_SECONDS Optional. The duration in seconds in which the Agent must synchronize the changes that are made to the assets from the Azure API Management Service to federated API management by using the Azure SDK. Min: 60 seconds (Default value)

Max: 21600 seconds (6 hours).

If you do not specify a value for this property, the default value is considered.
APICP_SYNC_ASSETS Optional. Enable or disable syncing of assets (APIs) to federated API management.
  • True
  • False (Default value)
Assets are synchronized periodically according to the configured synchronization values. Within each synchronization interval, only the assets that are newly created, updated, or deleted are synchronized with federated API management. If you do not specify a value for this property, the default value is considered.
APICP_RUNTIME_CAPACITY_VALUE Optional. The approximate estimate of the throughput that a runtime can handle for the specified duration. Default value: 500000.If you do not specify a value for this property, the default value is considered.
APICP_RUNTIME_CAPACITY_UNIT Optional. Choose the unit of duration in which the capacity must be defined. Possible values are as follows:
  • PER_SECOND
  • PER_MINUTE
  • PER_HOUR
  • PER_DAY
  • PER_WEEK
  • PER_MONTH
  • PER_YEAR (Default value)
If you do not specify a value for this property, the default value is considered.
APICP_LOG_LEVEL Optional. The level of logs to be captured.
  • ALL
  • ERROR
  • INFO (Default value)
  • TRACE
If you do not specify a value for this property, the default value is considered.

Agent configurations for Functions deployment mode:

Properties Description Possible Values
APICP_SYNC_HEARTBEAT_INTERVAL_CRON Mandatory. The duration in seconds in which the agent must send the health check status (heartbeats) of the Azure API Management Service to federated API management. Specify the value as a cron expression.

Min: 0 */1 * * * * (Equivalent to 60 seconds)

Max: 0 */5 * * * *(Equivalent to 900 seconds)

APICP_HEARTBEAT_SEND_INTERVAL_SECONDS Mandatory. The duration in seconds in which the agent must send the health check status (heartbeats) of the Azure API Management Service to federated API management. This value is used to display information in the federated API management UI.

Min: 15 seconds

Max: 900 seconds (15 minutes).

Default: 60 seconds

If you do not specify a value for this property, the default value is considered.

Make sure to specify a value in seconds matching the cron expression specified in APICP_SYNC_HEARTBEAT_INTERVAL_CRON

For example: If APICP_SYNC_HEARTBEAT_INTERVAL_CRON is set to 0 */1 * * * * then set APICP_HEARTBEAT_SEND_INTERVAL_SECONDS to 60 seconds

APICP_SYNC_METRICS_INTERVAL_CRON Mandatory. The duration in seconds in which the agent must retrieve the metrics from Azure API Management Service using Azure SDK and send metrics to federated API management.

Specify the value as a cron expression.

Min: 0 */1 * * * * (Equivalent to 60 seconds)

Max: 0 0 */2 * * *(Equivalent to 7200 seconds)

APICP_METRICS_SEND_INTERVAL_SECONDS Mandatory. The duration in seconds in which the agent must retrieve the metrics from Azure API Management Service using Azure SDK and send metrics to federated API management. This value is used to display information in the federated API management UI.

Min: 60 seconds

Max: 7200 seconds

Default: 300 seconds.

If you do not specify a value for this property, the default value is considered. Ensure to specify a value in seconds matching the cron expression specified in APICP_SYNC_METRICS_INTERVAL_CRON

For example: If APICP_SYNC_METRICS_INTERVAL_CRON is set to 0 */2 * * * * then set APICP_METRICS_SEND_INTERVAL_SECONDS to 120 seconds.

APICP_ASSETS_SYNC_INTERVAL_SECONDS Optional. The duration in seconds in which the Agent must synchronize the changes made to the assets from the Azure API Management Service to federated API management using the Azure SDK.

Min: 60 seconds (Default value)

Max: 21600 seconds (6 hours).

If you do not specify a value for this property, the default value is considered.

APICP_SYNC_ASSETS Optional. Enable or disable syncing of assets (APIs) to federated API management.
  • true
  • false (Default value)
Assets are synchronized periodically according to the configured synchronization values. Within each synchronization interval, only the assets that are newly created, updated, or deleted are synchronized with federated API management. If you do not specify a value for this property, the default value is considered.
APICP_RUNTIME_CAPACITY_VALUE Optional. The approximate estimate of the throughput that a runtime can handle for the specified duration. Default value: 500000

If you do not specify a value for this property, the default value is considered.

APICP_RUNTIME_CAPACITY_UNIT Optional. Choose the unit of duration in which the capacity must be defined. Possible values are as follows:
  • PER_SECOND
  • PER_MINUTE
  • PER_HOUR
  • PER_DAY
  • PER_WEEK
  • PER_MONTH
  • PER_YEAR (Default value)
If you do not specify a value for this property, the default value is considered.
APICP_LOG_LEVEL Optional. The level of logs to be captured.
  • ALL
  • ERROR
  • INFO (Default value)
  • TRACE
If you do not specify a value for this property, the default value is considered.