What are extensions?

You can use extensions to integrate external resources into your API proxies. For example, you could integrate Google Cloud Platform services such as Google Cloud Storage. At run time, an API proxy uses the extension to exchange requests and responses with the external resource.

Extension runtime framework

At runtime, an extension acts as a go-between, processing requests and responses between an API proxy and an external resource.

Here's an overview of how processing through an extension works at runtime.

  1. A client request reaches an API proxy and its request flow proceeds through the proxy's policies.
  2. The request flow reaches a Extension Callout policy in the proxy that is configured to pass data to an extension deployed in the environment. The data includes values that will be needed to send a request to the external resource the extension represents.
  3. The extension sends a request to the external resource, then receives a response.
  4. The extension passes its response back to the Extension Callout policy, where it is handled by proxy code.
  5. Request flow continue through the proxy until it returns a response to the client.

Roles for developers and administrators

Each extension is developed and configured with a particular external resource in mind. To use an extension, an extension developer, Apigee Edge administrator, and API proxy developer follow these high-level steps:

  • An extension developer creates an extension designed to interact with a specific resource. For example, their extension code could make calls to the resource's APIs, sending and receiving values that an API proxy will specify at run time.
  • An Apigee Edge administrator deploys the extension, configuring it with values specific to the needs of the business. This configuration creates an extension instance prepared for use by the API proxy developer. For example, they might configure an extension to access a particular bucket in Google Cloud Storage, including required authentication credentials.
  • An API proxy developer integrates a configured extension by adding a Extension Callout policy to the proxy. The policy's configuration specifies the configured extension to use. At run time, the policy uses the extension to access the external resource as part of the proxy's flow.

Documentation about extensions

The following topics provide more information about extensions: