Flink、Spark、Stormなどのビッグデータコンピューティングエンジンを使用するときに、ログを圧縮して圧縮ログをSimple Log Serviceにアップロードしてネットワーク伝送リソースの使用量を減らす場合、Simple Log Service APIとSimple Log Service SDKは推奨されません。 この場合、Aliyun Log Go Producerを使用して、ログをSimple Log Serviceに効率的にアップロードできます。
前提条件
RAM (Resource Access Management) ユーザーが作成され、必要な権限がRAMユーザーに付与されます。 詳細については、「RAMユーザーの作成とRAMユーザーへの権限付与」をご参照ください。
ALIBABA_CLOUD_ACCESS_KEY_IDおよびALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されています。 詳細については、「Linux、macOS、およびWindowsでの環境変数の設定」をご参照ください。
重要Alibaba CloudアカウントのAccessKeyペアには、すべてのAPI操作に対する権限があります。 RAMユーザーのAccessKeyペアを使用して、API操作を呼び出したり、ルーチンのO&Mを実行したりすることを推奨します。
プロジェクトコードにAccessKey IDまたはAccessKey secretを保存しないことを推奨します。 そうしないと、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。
Simple Log Service SDK for Goがインストールされています。 詳細については、「Simple Log Service SDK For Goのインストール」をご参照ください。
proto依存関係がインストールされています。 proto依存関係をインストールするには、
go get -u github.com/gogo/protobuf/protoコマンドを実行します。
使用上の注意
この例では、中国 (杭州) リージョンのパブリックSimple Log Serviceエンドポイントが使用されています。これはcn-hangzhou.log.aliyuncs.comです。
プロジェクトと同じリージョンにある他のAlibaba Cloudサービスを使用してSimple Log Serviceにアクセスする場合は、内部のSimple Log Serviceエンドポイント (cn-hangzhou-intranet.log.aliyuncs.com) を使用できます。
Simple Log Serviceでサポートされているエンドポイントとリージョン間のマッピングの詳細については、「エンドポイント」をご参照ください。
Aliyun Log Goプロデューサーの紹介
Aliyun Log Go Producerは、ビッグデータと高同時実行シナリオで実行されるGoアプリケーション用に提供される高性能クラスライブラリです。 Simple Log Service APIおよびSimple Log Service SDKと比較して、Aliyun Log Go Producerは、高性能、コンピューティングとI/O間のロジック分離、リソース管理など、ログ書き込みに関連する複数の利点を提供します。 Aliyun Log Go Producerは、Simple Log Serviceが提供するシーケンシャル書き込み機能を使用して、ログのアップロード順序を確保します。
次の図は、Aliyun Log Go Producerのワークフローを示しています。
制限事項
Aliyun Log Go Producerの基盤となるメカニズムは、PutLogs操作を呼び出してログをアップロードします。 毎回アップロードできる生ログのサイズは限られています。 詳細については、「データの読み取りと書き込み」をご参照ください。
プロジェクト、ログストア、シャード、マシングループなど、Simple Log Serviceの基本リソースにも制限があります。 詳細については、「基本リソース」をご参照ください。
コードを初めて実行するときは、Simple Log Serviceコンソールでログストアのインデックス作成機能を有効にする必要があります。 次に、ログを照会する前に約1分間待ちます。
Simple Log Serviceコンソールでログを照会し、返されたログのフィールドの値の長さが上限を超えた場合、フィールドの値は切り捨てられ、余分な部分は分析に使用されません。 詳細については、「インデックスの作成」をご参照ください。
1. ProducerConfigデータ構造の設定
2. プロデューサーインスタンスの開始
3. sendメソッドを呼び出してSimple Log Serviceにログを配信する
4。 プロデューサーインスタンスをシャットダウンする
関連ドキュメント
API操作を呼び出した後、Simple Log Serviceによって返された応答にエラー情報が含まれている場合、呼び出しは失敗します。 関連するAPI操作のエラーコードの説明に基づいて、エラーを修正できます。 詳細については、エラーコードをご参照ください。
サンプルコードの詳細については、「Aliyun Log Go Producer on Github」をご参照ください。