変換ルールで他の LogStore からリソースをロードする場合、リソースのロードまたはリフレッシュエラーが発生することがあります。このドキュメントでは、他の LogStore からデータを取得する際に発生する一般的なエラーと、そのトラブルシューティング方法について説明します。
データ変換エンジンがソース LogStore からデータを正常に読み取った後、ログイベントの処理を開始します。変換ルールで OSS、RDS、または他の LogStore などの外部リソースをロードする場合、リソースのロードまたはリフレッシュエラーが発生することがあります。
エラーの影響:
-
ログイベント変換中に、変換ルールと競合するログイベントはエラーとなり、破棄されます。変換された出力には、これらのログイベントは含まれません。
-
データ変換ジョブは、変換ルールと競合するログイベントを破棄しますが、他のログイベントの処理は続行します。失敗したイベントはリトライされません。
-
単一のソースイベントから複数のイベントが分割され、そのうちの1つがエラーにより破棄された場合、同じソースイベントから分割された他のすべてのイベントも破棄されます。
説明出力前に、これらのイベントはツリー構造で関連付けられており、独立していません。
必須パラメーターの欠落
-
変換ルール
e_table_map(res_log_logstore_pull(endpoint="cn-shenzhen.log.aliyuncs.com",ak_id="xxx", ak_secret="xxx",project="etl-test-shenzhen", fields=["__source__"]),field="processid",output_fields=["__source__"]) -
エラーログ
error when calling : res_log_logstore_pull\nDetail: res_log_logstore_pull() missing 1 required positional argument: 'logstore'", "requestId": " -
トラブルシューティング
エラーメッセージ
missing 1 required positional argumentは、必須のlogstoreパラメーターが不足しているために表示されます。ルールに不足しているパラメーターがないか確認してください。 -
ソリューション
オーケストレーション構文を再構成し、不足しているパラメーターを追加してください。
プライマリキーのメンテナンスが設定されているが、delete_data パラメーターが設定されていない
-
変換ルール
e_table_map(res_log_logstore_pull(endpoint="xx",ak_id="xxx", ak_secret="xxx",project="etl-test-shenzhen",logstore="rds-mysql-test", fields=["__source__"],primary_keys="cid"),field="processid",output_fields=["__source__"]) -
エラーログ
when setting parameter primart_keys,need set delete_data\nDetail: None -
トラブルシューティング
このエラーは、
primary_keysパラメーターが設定されているときに、delete_dataパラメーターが設定されていないために発生します。primary_keysとdelete_dataパラメーターは一緒に構成する必要があります。 -
ソリューション
primary_keys と delete_data の両方のパラメーターを構成し、データ変換サービスを再起動してください。
ターゲット LogStore が存在しません
-
変換ルール
e_table_map(res_log_logstore_pull(endpoint="xx",ak_id="xxx", ak_secret="xxx",project="etl-test-shenzhen",logstore="pull_logstore_test9900881", fields=["__source__"],primary_keys="cid"),field="processid",output_fields=["__source__"]) -
エラーログ
message: fetch data get errors:{"errorCode": "LogStoreNotExist", "errorMessage": "logstore pull_logstore_test9900881 does not exist", "requestId": "5D7227AA269948500404B777"},retrytimes=2 -
トラブルシューティング
上記のログは、構成されたターゲット LogStore が存在しない場合に表示されます。
-
ソリューション
ターゲット LogStore が存在するかどうかを確認してください。その後、正しい LogStore 名でオーケストレーション構文を再構成してください。
不適切な AccessKey 構成
-
変換ルール
e_table_map(res_log_logstore_pull( endpoint="cn-hangzhou.log.aliyuncs.com", ak_id="xx", ak_secret="xx", project="sls-test", logstore="pull_logstore_test", fields=[("id", "new_id"), "name", "status"], from_time="begin"), "name", "new_id") -
エラーログ
message: fetch data get errors:{"errorCode": "SignatureNotMatch", "errorMessage": "signature gdaL/nWSRtve5FOB+QqHO/sBdnA= not match", "requestId": "5D760261ED35D40AA4AB1953"},retrytimes=1message: fetch data get errors:{"errorCode": "Unauthorized", "errorMessage": "AccessKeyId not found: xx", "requestId": "5D7602A01808F9EAA6EB0E2B"},retrytimes=3 -
トラブルシューティング
上記のいずれかのエラーが発生した場合、オーケストレーション構文の AccessKey パラメーターが正しいか確認してください。これらのエラーは、ak_secret と ak_id の値が一致しない場合、または ak_id が存在しない場合に発生します。
-
ソリューション
正しい AccessKey パラメーターを再構成し、データ変換ジョブを再起動してください。
AccessKey の権限不足
-
変換ルール
e_table_map(res_log_logstore_pull( endpoint="cn-hangzhou.log.aliyuncs.com", ak_id="xx", ak_secret="xx", project="sls-test", logstore="pull_logstore_test", fields=[("id", "new_id"), "name", "status"], from_time="begin"), "name", "new_id") -
エラーログ
message: fetch data get errors:{"errorCode": "Unauthorized", "errorMessage": "denied by sts or ram, action: log:ListShards, resource: acs:log:cn-hangzhou:1654218965343050:...} -
トラブルシューティング
Unauthorizedエラーメッセージは通常、権限不足を示します。構成された AccessKey がターゲット LogStore に対する読み取り/書き込み権限を持っているか確認してください。 -
ソリューション
AccessKey の権限を確認してください。権限が不足している場合は、必要な権限を付与してください。
不適切なエンドポイント
-
変換ルール
e_table_map(res_log_logstore_pull( endpoint="xxx", ak_id="xx", ak_secret="xx", project="sls-test", logstore="pull_logstore_test", fields=[("id", "new_id"), "name", "status"], from_time="begin"), "name", "new_id") -
エラーログ
message: fetch data get errors:{"errorCode": "ProjectNotExist", "errorMessage": "The Project does not exist : ali-sls-etl-regression-test", "requestId": "5D760AB12ECD0722AA1DD681"}message: fetch data get errors:{"errorCode": "LogRequestError", "errorMessage": "HTTPConnectionPool(host='ali-sls-etl-regression-test.xx', port=80): Max retries exceeded with url: /logstores/pull_logstore_test/shards (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f968a298ef0>: Failed to establish a new connection: [Errno -2] Name or service not known)) -
トラブルシューティング
ProjectNotExistまたはLogRequestErrorエラーは通常、エンドポイントが不適切なために発生します。これにより、接続エラーが発生したり、接続は確立されたものの、エンドポイントで必要なプロジェクトが見つからなかったりする可能性があります。 -
ソリューション
正しいエンドポイントを構成してください。詳細については、「エンドポイント」をご参照ください。