透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
今日の相互接続されたデジタル環境では、効率的なコミュニケーションがビジネスを成功させる礎となります。 アプリケーション間で重要なデータを伝送する場合でも、分散システム間でリアルタイムの更新を確保する場合でも、信頼性の高いメッセージング・インフラストラクチャは不可欠です。
Azure Service Busは、開発者がスケーラブルで疎結合の耐障害性のあるアプリケーションを構築する力を与える強力なソリューションとして登場したクラウドベースのメッセージングサービスです。 Azure Service Busの領域を掘り下げて、その意義を理解し、無数の機能を探ってみよう。 この記事の後半では、PDFドキュメントの管理、生成、読み取りにIronPDFを使用する方法についても見ていきます。
Azure Service Busは、クラウド、オンプレミス、またはハイブリッド環境で実行されているかにかかわらず、アプリケーションとサービス間の信頼性の高い通信を促進する、完全に管理されたエンタープライズ統合メッセージブローカーです。
キューイングやパブリッシュ/サブスクライブメカニズムを含む柔軟なメッセージング機能を提供し、分散システムの異種コンポーネント間のシームレスな通信を可能にします。 さらに、バッチメッセージが可能なため、合計サイズの制約を超えることなく複数のメッセージを送信することができます。
Azure Service Busには次のようなメリットがある:
アプリケーションの分離: Service Busは、アプリケーションとサービスをそれぞれ分離することを可能にします。 このデカップリングは信頼性と拡張性を高める。
負荷分散: 競合する作業者間で作業を均等に分配し、効率的なリソース利用を確保します。
メッセージ転送: データはアプリケーションやサービス間でメッセージを使用して転送されます。 これらのメッセージのメッセージ・ボディには、JSON、XML、プレーン・テキストなど、さまざまなタイプのデータを含めることができる。
メッセージングシナリオ: 一般的なシナリオには、ビジネスデータ(例:受注)の転送、負荷分散、トピックとサブスクリプションを使用したパブリッシャーとサブスクライバーの関係の有効化が含まれます。
トランザクション: Service Busはアトミックトランザクションをサポートしており、単一のトランザクションスコープ内で複数の操作を可能にしています。 トランザクションには複数の同時呼び出しがあるが、メッセージ・バッチには1回の呼び出ししかない。
キューとトピック: Azure Service Busは、キューとトピックの両方を通信チャンネルとして提供します。 キューはポイント・ツー・ポイントの通信を可能にし、各メッセージが1つのレシーバーによってのみ処理されることを保証するため、ワークロードの分散や負荷平準化シナリオに最適です。 一方、トピックはパブリッシュ/サブスクライブのメッセージング・パターンをサポートし、複数のサブスクライバーが関連するメッセージを個別に受け取ることを可能にし、スケーラブルなイベント駆動型アーキテクチャを促進する。
信頼性の高いメッセージ配信: Azure Service Busを使用すると、メッセージ配信は本質的に信頼性があります。 メッセージの永続性を保証し、メッセージとエラー・ハンドラ、フォールト・トレランス、at-least-onceデリバリー・セマンティクスを設定でき、データの損失や重複のリスクを最小限に抑える。 さらに、トランザクションをサポートし、複数のメッセージにまたがるアトミック操作を可能にすることで、データの整合性を確保している。
デッドレタリングとリトライポリシー: 誤ったメッセージを効果的に処理するために、Azure Service Busはデッドレタリング機能を提供しています。これにより、問題のあるメッセージを自動的に別のキューに移動させ、分析とトラブルシューティングを行うことができます。 さらに、柔軟な再試行ポリシーを提供するため、開発者は指数関数的なバックオフ戦略で自動再試行を設定することができ、一過性の障害に直面したアプリケーションの回復力を高めることができる。
パーティショニングとスケーリング: Azure Service Busは、メッセージングエンティティのパーティショニングをサポートしており、ワークロードを複数のノードに分散させ、水平スケーラビリティと高スループットを確保します。 この機能は、パフォーマンスや信頼性を損なうことなく、大量のメッセージを処理し、変動するワークロードに対応するために極めて重要である。
IronPDFは、.NETプロジェクトでPDFドキュメントを生成、編集、コンテンツを抽出できる強力なC# PDFライブラリです。 以下は主な機能です:
HTMLからPDFへの変換:
HTML、CSS、JavaScriptコンテンツをPDF形式に変換します。
Chromeレンダリングエンジンを使用して、ピクセルパーフェクトなPDFを作成できます。
画像とコンテンツの変換:
画像をPDFへ、またはPDFから変換します。
既存のPDFからテキストと画像を抽出します。
編集と操作:
PDFのプロパティ、セキュリティ、権限を設定します。
デジタル署名を追加する。
クロスプラットフォームサポート:
.NET Core (8, 7, 6, 5, および 3.1+)、.NET Standard (2.0+)、および .NET Framework (4.6.2+) に対応しています。
Windows、Linux、macOSに対応。
まず始めに、Visual Studioを使って以下のようにコンソール・アプリケーションを作成してください。
プロジェクト名
.NET バージョンの提供
IronPDFパッケージをインストールします。
Azure全体で一意の名前を持つ名前空間を作成する。 名前空間は、アプリケーション内のキューやトピックなどのService Busリソースのコンテナです。
ネームスペースの作り方は以下の通り:
Azureポータルにログインする。
すべてのサービス」ページにアクセスする。
左のナビゲーションペインで、カテゴリーリストから「統合」を選択します。
Service Bus "にカーソルを合わせ、Service Busタイルの "+"ボタンをクリックする。
ネームスペースの作成]ページの[基本]タブを構成するには、以下の手順に従います:
サブスクリプション: ネームスペースを作成するために使用するAzureサブスクリプションを選択します。
リソースグループ: 名前空間を配置する既存のリソースグループを選択するか、新しいものを作成します。
名前空間名: 名前空間の名前を入力してください。 名前が以下の条件を満たしていることを確認してください:
Azure全体で一意でなければならない。
長さは6文字以上50文字以内。
アルファベット、数字、ハイフン"-"のみ。
文字で始まり、文字または数字で終わること。
場所: 名前空間をホストする地域を選択します。
価格帯: ネームスペースの価格帯(Basic、Standard、またはPremium)を選択します。 この例では、Standardを選択する。
ページの下部で確認 + 作成を選択します。
レビュー + 作成 ページで「作成」を選択します。
リソースのデプロイメントが成功したら、リソースに移動します。
Service Busネームスペースのホームページが表示されます。
Service Bus ネームスペースにキューを設定するには、以下の手順に従います:
キューに移動する: Azureポータルでサービスバス名前空間ページに移動します。 左のナビゲーションメニューから「キュー」を選択します。
新しいキューを作成: キューページで、ツールバーの「+ キュー」ボタンをクリックします。
キューを構成: 指定されたフィールドにキューの名前を入力します。 その他の設定はデフォルト値のままにしておく。 Azure Service Busキューを作成する際に設定する必要があるオプション:
名前: これはキューのユニーク識別子です。 説明的で覚えやすい名前を選ぶ。
最大キューサイズ:これはキューの最大ストレージ容量を定義します。 1GB、2GB、5GB、10GB、20GB、40GB、80GB、100GBに設定できます。 お客様の場合、1 GBに設定されています。
最大配信回数: これは、メッセージがデッドレターキューに送信されるか破棄される前に配信できる最大の回数を指定します。 これは、メッセージ処理の失敗を処理するのに役立つ。
メッセージの生存時間 (TTL): これは、メッセージが有効期限切れになるまでキュー内にとどまる時間を決定します。 日、時間、分、秒で設定できる。 TTLに達すると、デッドレターメッセージは破棄されるか、デッドレターが有効になっていればデッドレターキューに移される。
ロック期間: これは、レシーバーによってメッセージが処理されるためにロックされる時間の長さです。 この間、他のレシーバーは同じメッセージを処理できない。 この期間は日、時間、分、秒で設定できる。
メッセージの有効期限切れでデッドレタリングを有効にする:有効にすると、TTLを超えたメッセージは破棄されずにデッドレターキューに移動されます。 これにより、期限切れメッセージのさらなる検査と処理が可能になる。
これらの設定は、Azure Service Busキューの動作とパフォーマンスを制御し、アプリケーションの要件を満たすようにします。
作成を完了: 「作成」ボタンをクリックして、キューの作成を完了します。 これらの手順により、Azureポータルを使用してService Busネームスペース内にキューを正常に作成できるようになります。
接続文字列を使用してAzureキューに接続するために、Service BusクライアントライブラリであるAzure.Messaging.ServiceBusをインストールします。
以下のコードを追加して、Azure.Messaging.ServiceBus を使用してメッセージを送信し、メッセージを受信してください。
using Azure.Messaging.ServiceBus;
namespace CodeSample
{
public static class AzureServiceBusDemo
{
public static async Task Execute()
{
string connectionString = "Endpoint=sb://iron-articles.servicebus.windows.net/;SharedAccessKeyName=all;SharedAccessKey=uqQIzpuc2HxbnAb9keqTINvzfTcFbkkU0+ASbJZ/tow=;EntityPath=ironpdf";
string queName = "ironpdf";
Console.WriteLine("Demo IronPDF with Azure.Messaging.ServiceBus");
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo IronPDF with Azure.Messaging.ServiceBus</h1>";
content += "<h2>Send Message to Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
await using var client = new ServiceBusClient(connectionString);
var msgText = "IronPDF is Awesome Package";
content += $"<p>Message:{msgText}</p>";
var tx = client.CreateSender(queName);
await tx.SendMessageAsync(new ServiceBusMessage(msgText)); // message await sender
Console.WriteLine($"Sent Below message at:{DateTime.Now}");
content += $"<p>Sent Below message at:{DateTime.Now}</p>";
Console.Read(); // wait for user input to read the message;
var rx = client.CreateReceiver(queName);
var msg = await rx.ReceiveMessageAsync(); // receive messages
content += "<h2>Receive Message from Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
content += $"<p>Recieved Below message at:{DateTime.Now}</p>";
Console.WriteLine($"Recieved Below message at:{DateTime.Now}");
content += $"<p>MessageID={msg}</p>";
Console.WriteLine($"MessageID={msg}");
content += $"<p>Message Received: {msg.Body}</p>";
Console.WriteLine($"Message Received: {msg.Body}");
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeAzureServiceBusQueueAndIronPdf.pdf");
}
}
}
using Azure.Messaging.ServiceBus;
namespace CodeSample
{
public static class AzureServiceBusDemo
{
public static async Task Execute()
{
string connectionString = "Endpoint=sb://iron-articles.servicebus.windows.net/;SharedAccessKeyName=all;SharedAccessKey=uqQIzpuc2HxbnAb9keqTINvzfTcFbkkU0+ASbJZ/tow=;EntityPath=ironpdf";
string queName = "ironpdf";
Console.WriteLine("Demo IronPDF with Azure.Messaging.ServiceBus");
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo IronPDF with Azure.Messaging.ServiceBus</h1>";
content += "<h2>Send Message to Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
await using var client = new ServiceBusClient(connectionString);
var msgText = "IronPDF is Awesome Package";
content += $"<p>Message:{msgText}</p>";
var tx = client.CreateSender(queName);
await tx.SendMessageAsync(new ServiceBusMessage(msgText)); // message await sender
Console.WriteLine($"Sent Below message at:{DateTime.Now}");
content += $"<p>Sent Below message at:{DateTime.Now}</p>";
Console.Read(); // wait for user input to read the message;
var rx = client.CreateReceiver(queName);
var msg = await rx.ReceiveMessageAsync(); // receive messages
content += "<h2>Receive Message from Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
content += $"<p>Recieved Below message at:{DateTime.Now}</p>";
Console.WriteLine($"Recieved Below message at:{DateTime.Now}");
content += $"<p>MessageID={msg}</p>";
Console.WriteLine($"MessageID={msg}");
content += $"<p>Message Received: {msg.Body}</p>";
Console.WriteLine($"Message Received: {msg.Body}");
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeAzureServiceBusQueueAndIronPdf.pdf");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
接続文字列とキュー名:
connectionString
変数には、Azure Service Bus 名前空間の接続詳細が含まれています。 エンドポイント、共有アクセスキー、エンティティパス(キュー名)を指定します。
queName
変数は、操作したい Service Bus キューの名前を保持します。デモセットアップ:
コードはメッセージを表示することから始まります:"Azure.Messaging.ServiceBusを使用したIronPDFのデモ"
Installation.EnableWebSecurity = true;
を使用してウェブセキュリティを有効にします。サービス バス クライアントを作成する:
ServiceBusClient
は、指定された接続文字列を使用して作成されます。
メッセージを送信する:
メッセージ「IronPDF is Awesome Package」の内容が、CreateSender
メソッドを使用して指定されたキューに送信されます。
メッセージは、new ServiceBusMessage(msgText)
を使用して作成されます。
メッセージを受信:
CreateReceiver
を使用して同じキューのレシーバーが作成されます。
コードは、メッセージ処理をシミュレートするためにユーザー入力を待ちます(Console.Read()
を使用)。
PDFの生成:
レンダラーは、HTMLコンテンツ(送受信されたメッセージを含む)からPDFを作成します。
IronPDFパッケージの実行とPDF生成にはライセンスが必要です。 パッケージにアクセスする前に、アプリケーションの最初に以下のコードを追加してください。
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
試用ライセンスはIronPDF試用ライセンスページで入手可能です。
デジタルトランスフォーメーションと急速な技術進歩を特徴とする時代において、Azure Service Busは世界中の企業のモダナイゼーションの旅において極めて重要なコンポーネントとして浮上している。信頼性、拡張性、柔軟性に優れたメッセージング機能を提供することで、開発者は、進化するビジネス要件に適応できる弾力的で俊敏なソリューションを構築できるようになります。
シームレスな統合の促進、イベント駆動型アーキテクチャの実現、非同期通信の確保など、Azure Service Busは、イノベーションを推進し、業界全体のデジタルイニシアチブを加速する上で、変革的な役割を果たしています。
組織がクラウドネイティブなパラダイムと分散アーキテクチャを採用し続ける中、Azure Service Busは、クラウドへの旅において開発者と企業を支援するというマイクロソフトのコミットメントを証明するものとなっている。 IronPDFは、.NETアプリケーション内でのPDF生成を簡素化し、コードから直接プロフェッショナルレベルの文書を作成するための柔軟性と機能性を提供します。