Hyperledger Composer REST Server API导出至AWS API Gateway方法及文件咨询
Exporting Hyperledger Composer REST API to AWS API Gateway
Great question! I’ve worked through similar setups with Hyperledger Composer and AWS API Gateway, so let’s walk through exactly how to pull this off, plus the key files you’ll need.
Prerequisites
First, make sure you have:
- A running Hyperledger Composer REST Server (test it locally or on a cloud host to confirm it’s responding to requests)
- An AWS account with permissions to manage API Gateway, IAM (if needed), and any underlying resources (like EC2 if your REST Server is hosted there)
- Your REST Server must be publicly accessible (or accessible via AWS VPC peering/NAT if it’s in a private subnet) so API Gateway can forward requests to it.
Step-by-Step Process
1. Generate the OpenAPI (Swagger) Specification File
AWS API Gateway relies on OpenAPI definitions to import APIs, and the Composer REST Server makes this easy:
- Start your Composer REST Server as you normally would (e.g.,
composer-rest-server -c admin@your-network -n never -w truefor multi-user mode) - Navigate to
http://<your-rest-server-host>:<port>/swagger.jsonin your browser (replace<your-rest-server-host>and<port>with your actual server details) - Save this JSON file to your local machine—let’s call it
composer-rest-api-spec.json. This file contains all the details of your REST API: endpoints, request/response schemas, and (if you’re using multi-user mode) security definitions.
2. Import the Specification to AWS API Gateway
Head to the AWS Console and follow these steps:
- Open the API Gateway service
- Click Create API, then select Import from OpenAPI
- Choose either to upload your
composer-rest-api-spec.jsonfile or paste its raw content - Give your API a name (e.g., "Hyperledger-Composer-Business-Network-API") and add a description if you want, then click Import
- AWS will automatically create all the API resources and methods from your OpenAPI spec.
3. Configure Integration with Your REST Server
Next, you need to point each API method to your actual Composer REST Server:
- For each resource/method (e.g.,
/AssetRegistry/{registryId}/assetsGET), go to the Integration Request tab - Set the Endpoint URL to your REST Server’s corresponding path (e.g.,
https://your-rest-server-domain.com/AssetRegistry/{registryId}/assets) - If you’re using HTTPS for your REST Server, ensure the certificate is trusted by AWS (use a public CA like Let’s Encrypt or AWS Certificate Manager)
- If you enabled multi-user mode on your REST Server, configure authentication in API Gateway (e.g., use Amazon Cognito User Pools to match your OAuth2 setup, or a custom authorizer to validate tokens before forwarding requests)
4. Set Up CORS (If Needed)
If your frontend app will call this API from a different domain, enable CORS for all methods:
- Select a resource in API Gateway, click Actions > Enable CORS
- Configure allowed origins, headers, and methods to match your frontend’s requirements, then click Enable CORS and replace existing CORS headers
5. Deploy the API
Finally, make your API live:
- Click Actions > Deploy API
- Create a new deployment stage (e.g.,
prodordev) and add a description - After deployment, AWS will give you an Invoke URL—this is the public URL you’ll use to access your Composer REST API via AWS API Gateway. Test it to confirm requests are being forwarded correctly to your REST Server.
Required Files
Here are the key files you’ll need for this process:
composer-rest-api-spec.json: The OpenAPI/Swagger specification file you exported from your Composer REST Server. This is the core file that defines your API structure for AWS.- Optional: AWS CloudFormation Template: If you want to automate API Gateway setup (for repeat deployments), you can write a CloudFormation template that defines your API resources, integrations, and deployment stages. This lets you spin up the same API configuration with a single command.
- Optional: IAM Policy File: If you’re using the AWS CLI instead of the console to import/deploy the API, you’ll need an IAM policy that grants permissions for API Gateway actions (e.g.,
apigateway:POST,apigateway:PUT) and any other related resources.
Key Notes
- Security: If you’re using API Gateway as a security layer (instead of just routing), make sure to enable authentication/authorization in API Gateway to match your Composer REST Server’s multi-user setup. This adds an extra layer of protection before requests reach your server.
- Monitoring: Enable AWS CloudWatch Logs for your API Gateway stage to track requests, errors, and performance—this helps troubleshoot any issues with request forwarding.
- Scalability: If your REST Server needs to handle more traffic, consider placing it behind an AWS Application Load Balancer (ALB) before pointing API Gateway to the ALB endpoint.
内容的提问来源于stack exchange,提问作者Mil R
相关产品推荐
相关产品推荐

