Simple Log Serviceのデータ変換機能を使用して、Object Storage Service (OSS) からIP2Locationライブラリを取得し、ログ内のIPアドレスデータを強化できます。 エンリッチメント後のデータには、IPアドレスが属する国、州、および市が含まれます。
前提条件
OSSに対する読み取り専用権限を持つAccessKeyペアが作成されます。 AccessKeyペアは、OSSバケットからIPアドレスファイルを取得するために使用されます。 詳細については、「AccessKey の作成」をご参照ください。 権限付与ポリシーの詳細については、「RAMポリシー」をご参照ください。
OSSに対する書き込み専用権限を持つAccessKeyペアが作成されます。 AccessKeyペアは、IPアドレスファイルをOSSバケットにアップロードするために使用されます。 詳細については、「オブジェクトのアップロード」をご参照ください。 IPアドレスファイルは、IP2Locationの公式Webサイトからダウンロードされ、OSSバケットにアップロードされます。
背景情報
IP2Locationは、世界中のIPアドレスの地理的位置を識別するために使用できるグローバルIPアドレスライブラリを提供します。 IP2Locationの公式WebサイトからIPアドレスファイルをダウンロードし、OSSにアップロードできます。 次に、データ変換機能を使用して、OSSからIPアドレスファイルを取得し、Simple Log ServiceのIPアドレスデータを強化できます。 エンリッチメント後のデータには、IPアドレスが属する国、州、および市が含まれます。
手順
データ変換ページで次の操作を実行します。 詳細については、「データ変換ジョブの作成」をご参照ください。
res_oss_file関数を使用して、OSSバケットからIP2Locationライブラリを取得します。 詳細については、「res_oss_file」をご参照ください。
geo_parse関数を使用して、IP2LocationライブラリのIPアドレスを解析します。 詳細については、「geo_parse」をご参照ください。
e_set関数を使用して、解析後に取得した新しいフィールドをログに追加し、IPアドレスデータを強化します。 詳細は、「e_set」をご参照ください。
生ログ
ip: 192.0.2.1変換ルール
e_set( "geo", geo_parse( v("ip"), ip_db=res_oss_file( endpoint="http://oss-cn-hangzhou.aliyuncs.com", ak_id=res_local("AK_ID"), ak_key=res_local("AK_KEY"), bucket="test", file="your ip2location bin file", format="binary", change_detect_interval=20, ), provider="ip2location", ), ) e_json("geo")次の表に、res_oss_file関数に関連するフィールドを示します。 詳細については、「res_oss_file」をご参照ください。
項目
説明
endpoint
OSSバケットへのアクセスに使用されるエンドポイント。 詳細は、「リージョンとエンドポイント」をご参照ください。
ak_id
OSSの読み取り専用権限を持つAccessKey ID。
セキュリティ上の理由から、値を
res_local("AK_ID")に設定することを推奨します。 この場合、システムは[詳細パラメーター設定]フィールドからIDを取得します。詳細パラメーター設定フィールドの設定方法の詳細については、「データ変換ジョブの作成」をご参照ください。
ak_key
OSSに対する読み取り専用権限を持つAccessKeyシークレット。
セキュリティ上の理由から、値をres_local("AK_KEY") に設定することを推奨します。 この場合、システムは [詳細パラメーター設定] フィールドからIDを取得します。
バケット
IPアドレスファイルを保存するために使用されるOSSバケット。
file
アップロードされたIPアドレスファイルの名前。
フォーマット
OSSから取得されるIP2Locationライブラリ内のIPアドレスファイルの形式。 format='binary' を使用します。
結果
ip: 192.0.2.1 city: Dearborn province: Michigan country: United States