透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
Ocelot API ゲートウェイは、複数のマイクロサービスにまたがるリクエストを処理するAPIゲートウェイで一般的に使用されるAPIゲートウェイパターンを実装した.NETライブラリです。 軽量なAPIゲートウェイとして機能し、クライアントからのリクエストを下流のサービスにルーティングします。 この記事では、Ocelot APIゲートウェイがどのようにクライアントとダウンストリーム・サービスの間に位置するのか、そのインストール、設定、主な機能、そしてその機能を実証する実践的な例について詳しく説明します。 また、以下を探りますIronPDFの概要Ocelot APIと組み合わせて。
Ocelotは、複数のマイクロサービス間でのリクエストのルーティングを容易にするために設計された、.NETアプリケーション向けのオープンソースのAPIゲートウェイソリューションです。 それはリバースプロキシとして機能し、クライアントからのHTTPリクエストを管理し、ASP.NET Core環境で適切なサービスにルーティングします。 ASP.NET Core上で開発されたOcelotは、.NETエコシステムとシームレスに統合され、現代のアプリケーションに不可欠な堅牢な機能セットを提供します。
Ocelot の機能の中心には、そのルーティング機能があります。 それは、開発者によって指定された構成に基づいて、受信要求を適切なサービスルートにマッチングし、サービスディスカバリーメカニズムと統合することができます。 これは、ワイルドカードルーティングのサポートが含まれており、特に異なるAPIバージョンや多数のサービスエンドポイントを扱う際に役立ちます。
Ocelotは、開発者がカスタムミドルウェアやハンドラーを挿入して、クライアントやサービスに到達する前にリクエストやレスポンスを処理できるようにします。これは、ヘッダーの追加、リクエストのログ記録、さらには必要に応じてレスポンス構造の変更に役立ちます。
Ocelotは、ラウンドロビン、最小接続数、または事前定義された戦略が要件に合わない場合にはカスタムプロバイダーなど、様々な負荷分散戦略を標準でサポートしています。 この機能により、負荷が利用可能なサービス全体に均等に分散されるため、アプリケーションの全体的なレジリエンスと効率が向上します。
APIエンドポイントのセキュリティは非常に重要であり、OcelotはIdentity Serverなどの既存の認証プロバイダとの統合をサポートしています。 それは、JWTやOAuth2を含む一般的な認証スキームをサポートしており、ユーザーのサービスへのアクセスを詳細に制御することが可能です。
レート制限は、乱用を防止し、公正なサービス利用を確保するために、特定の期間内にユーザーが行うリクエストの数を制限する重要な手段です。 サービス品質(QoS(サービス品質))タイムアウトとリトライの設定のようなオプションは、さまざまなネットワーク条件や負荷の下でも、サービスが利用可能で応答性を保つことを保証します。
プロジェクトにOcelotを統合するには、NuGetを介してOcelotパッケージをインストールし、Programクラスで設定する必要があります。
Install-Package IronPdf
Startup.cs または Program クラスでリクエストビルダーミドルウェアを含むサービスを構成し、サービスコンテナを設定します。
public void ConfigureServices(IServiceCollection services)
{
services.AddOcelot();
}
public async void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// Optionally handle ASP.NET Core environment settings
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
// Start Ocelot
await app.UseOcelot();
}
public void ConfigureServices(IServiceCollection services)
{
services.AddOcelot();
}
public async void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// Optionally handle ASP.NET Core environment settings
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
// Start Ocelot
await app.UseOcelot();
}
Ocelotは通常、ocelot.jsonという構成ファイルを使用してルーティングルールを定義します。 以下は、複数のルート構成を示すより複雑な例です:
{
"ReRoutes": [
{
"DownstreamPathTemplate": "/api/users/{id}",
"DownstreamScheme": "https",
"DownstreamHostAndPorts": [
{
"Host": "userapi.com",
"Port": 443
}
],
"UpstreamPathTemplate": "/users/{id}",
"UpstreamHttpMethod": ["Get"]
},
{
"DownstreamPathTemplate": "/api/products/{id}",
"DownstreamScheme": "https",
"DownstreamHostAndPorts": [
{
"Host": "productapi.com",
"Port": 443
}
],
"UpstreamPathTemplate": "/products/{id}",
"UpstreamHttpMethod": ["Get"]
}
],
"GlobalConfiguration": {
"BaseUrl": "http://yourgateway.com"
}
}
この設定は、パスとHTTPメソッドに基づいて、APIゲートウェイへのリクエストが異なる下流サービスにどのようにルーティングされるかをJSONファイルを使用して設定する方法を指定します。
Ocelotと 결合するIronPDFのHTMLからPDFへの変換.NET アプリケーションでは、PDF 生成リクエストを特定のサービスにルーティングするか、内部で処理する強力なソリューションを提供します。 ここでは、OcelotをAPI Gatewayとして使い、IronPDFを使ってHTMLからPDFを生成する基本的な.NET Coreアプリケーションのセットアップについて説明します。
IronPDFは、以下に優れていますHTMLからPDF変換時に、元のレイアウトとスタイルを正確に保持します。 それは、レポート、請求書、およびドキュメントなどのWebベースのコンテンツからPDFを作成するのに最適です。 IronPDFはHTMLファイル、URL、生のHTML文字列をサポートしており、簡単に高品質なPDFドキュメントを生成します。
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
まず、新しい .NET Core Web API プロジェクトを作成します。 これを行うには、.NET CLIまたはVisual Studioを使用できます。
.NET を使用する:
dotnet new webapi -n OcelotWithIronPDF
cd OcelotWithIronPDF
OcelotとIronPDFをインストールする必要があります。 これらのパッケージはNuGetを通して追加することができます。
dotnet add package Ocelot
dotnet add package IronPdf
ocelot.json ファイルをプロジェクトのルートに追加し、次の内容で Ocelot のルーティングを設定します。 このセットアップは、OcelotがPDF生成リクエストを同じアプリケーション内でIronPDFによって処理される特定のパスにルーティングすることを前提としています。
{
"ReRoutes": [
{
"DownstreamPathTemplate": "/api/pdf",
"DownstreamScheme": "https",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 5001
}
],
"UpstreamPathTemplate": "/generatepdf",
"UpstreamHttpMethod": ["Post"]
}
],
"GlobalConfiguration": {
"BaseUrl": "http://localhost:5000"
}
}
Startup.cs を更新して Ocelot のミドルウェアを含めます。 あなたのアプリケーションを静的ファイルを使用するように設定することを確認してください。IronPDFはローカルファイルシステムからアセットをロードする必要があります。
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddOcelot();
}
public async void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
await app.UseOcelot();
}
}
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddOcelot();
}
public async void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
await app.UseOcelot();
}
}
コントローラー フォルダーに新しいコントローラー PdfController.cs を作成します。 このコントローラーはPDF生成リクエストを処理します。
using Microsoft.AspNetCore.Mvc;
using IronPdf;
namespace OcelotWithIronPDF.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
[HttpPost]
public IActionResult CreatePdfFromHtml([FromBody] string htmlContent)
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
var output = pdf.BinaryData;
return File(output, "application/pdf", "generated.pdf");
}
}
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;
namespace OcelotWithIronPDF.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
[HttpPost]
public IActionResult CreatePdfFromHtml([FromBody] string htmlContent)
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
var output = pdf.BinaryData;
return File(output, "application/pdf", "generated.pdf");
}
}
}
アプリケーションがocelot.jsonに指定されたポートを正しくリッスンするように設定されていることを確認してください。 これをProperties/launchSettings.jsonに設定できます。
{
"profiles": {
"OcelotWithIronPDF": {
"commandName": "Project",
"launchBrowser": false,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
以下が日本語訳です:
さて、アプリケーションを実行し、HTML コンテンツを投稿できるようにしてください。[http://localhost:5000/generatepdf
ローカルホスト ポート5000 ジェネレート PDF
](http://localhost:5000/generatepdf)返信としてPDFを受け取ります。
この例は、同じアプリケーション内でOcelotとIronPDFを基本的に実装する方法を示しています。 本番環境においては、エンドポイントのセキュリティ確保、エラーシナリオの処理、特定の要件に基づいたPDF生成プロセスの最適化を検討してください。
結論として、Ocelotはマイクロサービスアーキテクチャにおけるリクエストの管理とルーティングに最適な選択肢です。 ルーティング、負荷分散、ミドルウェアのサポート、認証などの強力な機能により、.NET開発者にとって強力なツールとなります。 提供された詳細な手順に従うことで、Ocelotを.NETプロジェクトに効果的に統合し、APIゲートウェイのニーズを効率良く統一することができます。
また、PDF生成機能が必要な場合、IronPDFをOcelotと統合することは簡単で、アプリケーションの機能を向上させます。 IronPDFはライセンシングのための無料トライアルまた、ライセンスは、PDFニーズのための費用対効果の高いソリューションからスタートします。
OcelotとIronPDFを併用することで、ルーティングおよびドキュメント生成の要件を満たす、包括的かつ効率的なマイクロサービスインフラストラクチャを構築することができます。