Logstore の変換ルールが別の Logstore からもデータをプルする場合、データのプルまたは更新エラーが発生する可能性があります。 本ページでは、これらのエラーと対応するトラブルシューティング方法について説明します。

Logstore からデータを読み取った後、データ変換エンジンは Logstore のログイベントの変換を開始します。 変換ルールが Object Storage Service(OSS)、ApsaraDB for RDS、およびその他の Logstores などの外部リソースからのデータのプルを含む場合、データのプルまたは更新エラーが発生する可能性があります。

データのプルまたは更新エラーは、次の影響を与える可能性があります。
  • 変換ルールと競合するログイベントは、エラーの原因となるので削除されます。 これらのログイベントは変換結果に含まれません。
  • ドロップされたログイベントはそれ以上変換されません。 変換タスクは、他のログイベントを変換し続けます。
  • ログイベントが複数に分割され、そのうちの 1 つが削除されると、関連する残りすべての分割ログイベントが削除されます。
    これらのログイベント分割は、エクスポートされる前にツリー構造で関連付けられます。

エラー 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": "
  • エラー原因

    必要な logstore パラメーターが欠落している場合、missing 1 required positional argument というエラーメッセージが表示されます。

  • トラブルシューティング方法

    オーケストレーション構文を確認し、欠落しているパラメーターを特定してください。

エラー 2: 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__"])
  • エラーメッセージ
    errorMessage\": \"when setting parameter primart_keys,need set delete_data\\nDetail: None\
  • エラー原因

    このエラーは、 delete_data パラメーターが指定されておらず、かつ primary_keysパラメーターが指定されていないときに発生します。 primary_keys および delete_data パラメーターは同時に設定する必要があります。

  • トラブルシューティング方法

    primary_keys および delete_data パラメーターを指定し、データ変換タスクを再起動します。

エラー 3: ターゲット 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 名を入力してください。

エラー 4: 指定した 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=1
    message:  fetch data get errors:{"errorCode": "Unauthorized", "errorMessage": "AccessKeyId not found: xx", "requestId": "5D7602A01808F9EAA6EB0E2B"},retrytimes=3
  • エラー原因

    このエラーは、オーケストレーション構文の ak_secret パラメーターと ak_id パラメーターが一致しないか、ak_id が存在しないために発生します。

  • トラブルシューティング方法

    ak_secret パラメーターと ak_id パラメーターを正しく設定してから、データ変換タスクを再起動します。

エラー 5: 現在の RAM ユーザーには十分な権限がありません。

  • 変換ルール
    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:...}
  • エラー原因

    現在の RAM ユーザーにターゲット Logstore に対する十分な読み取りおよび書き込み権限がない場合、Unauthorized というエラーメッセージが表示されます。

  • トラブルシューティング方法

    RAM ユーザーへ十分な権限を付与します。

エラー 6: 指定されたエンドポイントパラメーターが間違っている、または無効です

  • 変換ルール
    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 というエラーメッセージが表示されます。

  • トラブルシューティング方法

    エンドポイント設定を修正します。 詳細については、「サービスエンドポイント」をご参照ください。