Simple Log Service CLIを設定した後、コマンドを実行するたびにグローバルパラメーターを設定する必要はありません。 グローバルパラメーターには、AccessKeyペア、エンドポイント、および出力形式が含まれます。 このトピックでは、CLIアカウントとグローバルパラメーターを設定する方法について説明します。
Alibaba Cloud CLIの資格情報を使用する
Simple Log Service CLIは、Alibaba Cloud CLI用に設定された資格情報を使用してアカウントを検証できます。 Alibaba Cloud CLIをインストールしている場合、アカウントを設定する必要はありません。 詳細については、「Alibaba Cloud CLIの設定」をご参照ください。
Simple Log Service CLIは、優先度の高い順に次のソースから認証情報を読み取ります。Simple Log Service CLIのサブコマンド、Simple Log Service CLIの設定ファイル、Alibaba Cloud CLIの設定ファイル、および環境変数です。
資格情報のソース (優先度の高い順) | 説明 |
AccessKeyペアやリージョンなど、Simple Log Service CLIのサブコマンドに渡されるグローバルパラメーター | サブコマンドが実行されると、Simple Log Service CLIは、検証のためにサブコマンド内のパラメータから認証情報を優先的に読み取ります。 このタイプのソースは、最も高い優先度を有する。 |
Simple Log Service CLI用に設定されているprofileパラメーター | サブコマンドを実行すると、Simple Log Service CLIは次の設定に基づいて資格情報を読み取ります。 |
Simple Log Service CLI用に設定されたALIYUN_LOG_CLI環境変数 | Simple Log Service CLIは、システムで設定されているALIYUN_LOG_CLI環境変数から資格情報を読み取ります。 |
Simple Log Service CLIの設定ファイル | ファイルの名前は. aliyunlogcli形式を指定します。 詳細については、「デフォルトアカウントのエンドポイントとAccessKeyペアの設定」および「複数アカウントのエンドポイントとAccessKeyペアの設定」をご参照ください。 |
Alibaba Cloud CLI用に設定されたALIBABACLOUD環境変数 | Simple Log Service CLIは、システムで設定されているALIBABACLOUD環境変数から資格情報を読み取ります。 |
Alibaba Cloud CLI用に設定されたALICLOUD環境変数 | Simple Log Service CLIは、システムで設定されているALICLOUD環境変数から資格情報を読み取ります。 |
Alibaba Cloud CLIの設定ファイル | Simple Log Service CLIは、Alibaba Cloud CLIの設定ファイルから資格情報を読み取ります。 説明 構成ファイルへのパスは、使用されているオペレーティングシステムによって異なります。
|
デフォルトアカウントのエンドポイントとAccessKeyペアの設定
デフォルトでは、Simple Log Service CLIはmainアカウントを使用してすべての操作を実行します。 Simple Log Service CLIを使用する前に、mainアカウントのAccessKeyペアとエンドポイントを設定し、プロジェクトを管理するために必要な権限をメインアカウントに付与する必要があります。
Simple Log Service CLIがインストールされているサーバーにログインします。
デフォルトアカウントのエンドポイントとAccessKeyペアを設定します。
以下のコマンドを実行します。
aliyunlog configure "AccessKey ID" "AccessKey Secret" Endpoint
AccessKey IDを、Simple Log Serviceに対する権限を持つアカウントのAccessKey IDに置き換えます。 AccessKey SecretをアカウントのAccessKey secretに置き換えます。 詳細については、「AccessKeyペア」および「RAMユーザーを作成し、RAMユーザーにSimple Log Serviceへのアクセスを許可する」をご参照ください。
Endpointをプロジェクトのエンドポイントに置き換えます。 パブリックエンドポイントの使用を推奨します。 詳細については、「エンドポイント」をご参照ください。
設定結果を確認します。
を開きます。Open the. aliyunlogcli設定ファイル。 ファイルに次の例のような情報が含まれている場合、デフォルトのアカウントが設定されます。
[main] access-id = LTAI******pLMZ access-key = XjAsP******eRqax region-endpoint = cn-hangzhou.log.aliyuncs.com sts-token =
説明へのパスは、. aliyunlogcli設定ファイルは、使用されているオペレーティングシステムによって異なります。
Linux: ~/.aliyunlogcli
Windows: C:\Users\ UserName \.aliyunlogcli
デフォルトアカウントの設定に失敗した場合は、返されたエラーコードに基づいてエラーを修正できます。
複数のアカウントのエンドポイントとAccessKeyペアの設定
アカウント間でログデータを管理する場合は、アカウントのAccessKeyペアとエンドポイントを設定する必要があります。
Simple Log Service CLIがインストールされているサーバーにログインします。
複数のアカウントのAccessKeyペアとエンドポイントを設定します。
以下のコマンドを実行します。
aliyunlog configure "AccessKey ID" "AccessKey Secret" Endpoint Name
AccessKey IDを、Simple Log Serviceに対する権限を持つアカウントのAccessKey IDに置き換えます。 AccessKey SecretをアカウントのAccessKey secretに置き換えます。 詳細については、「AccessKeyペア」および「RAMユーザーを作成し、RAMユーザーにSimple Log Serviceへのアクセスを許可する」をご参照ください。
Endpointをプロジェクトのエンドポイントに置き換えます。 パブリックエンドポイントの使用を推奨します。 詳細については、「エンドポイント」をご参照ください。
Nameを、設定したアカウントの名前に置き換えます。
設定結果を確認します。
~/.aliyunlogcli設定ファイルを開きます。 ファイルに次の例のような情報が含まれている場合、アカウントが設定されます。
[main] access-id = LTAI******pLMZ access-key = XjAsP******eRqax region-endpoint = cn-hangzhou.log.aliyuncs.com sts-token = [test] access-id = As******sPzvb access-key = FtagJeR******bQqax region-endpoint = cn-shanghai.log.aliyuncs.com sts-token =
説明へのパスは、. aliyunlogcli設定ファイルは、使用されているオペレーティングシステムによって異なります。
Linux: ~/.aliyunlogcli
Windows: C:\Users\ UserName \.aliyunlogcli
アカウントの設定に失敗した場合は、返されたエラーコードに基づいてエラーを修正できます。
Simple Log Service CLIを使用してコマンドを実行する場合は、
-- client-name=testName
を使用して、使用するアカウントを指定できます。 たとえば、aliyunlogログcreate_project ..... -- client-name=テスト
コマンドでは、テストアカウントを使用してプロジェクトを作成します。
出力形式の指定
Simple Log Service CLIは、出力の出力とエスケープ文字をフォーマットできます。 出力とエスケープ文字をフォーマットする場合は、次の方法を使用できます。
形式JSON出力
デフォルトでは、Simple Log Service CLIの出力はJSON形式で、1行で表示されます。 この場合、出力は読みにくい。 読みやすさを向上させるために、次のいずれかの方法を使用してJSON出力をフォーマットできます。
指定したコマンドの出力をフォーマットする
たとえば、を使用できます。
aliyunlogログget_log .... -- format-output=json
get_logコマンドのJSON出力をフォーマットします。すべてのコマンドの出力をフォーマットする
aliyunlog configure -- format-output=json
コマンドを使用して、すべてのコマンドのJSON出力をフォーマットできます。
エスケープ文字
デフォルトでは、Simple Log Service CLIの出力の英語以外の文字はエスケープ文字です。 Simple Log Service CLIで中国語の文字列などの元の文字を返す場合は、
-- format-output
にno_escape
を指定できます。aliyunlog configure -- format-output=no_escape
コマンドを実行した場合、Simple Log Service CLIはコマンドの出力内の文字をエスケープしません。 元の文字が返されます。
特殊文字のエスケープ
Simple Log Service CLIでコマンドを実行し、クエリステートメントにドル記号 ($) 、記号アクセント (') 、バックスラッシュ (\) 、または感嘆符 (!) が含まれている場合、実行中にエラーが発生するか、クエリ結果が不正確になります。
この場合、バックスラッシュ (\) を使用して特殊文字をエスケープするか、単一引用符 (') を使用して特殊文字を参照する必要があります。 例:
バックスラッシュ (\) を使用してクエリパラメーターの特殊文字をエスケープする場合は、次のコマンドを実行します。
aliyunlog log get_log_all -- project="my-project" -- logstore="my-logstore" -- query="event_name :\$_ enter" -- from_time="2021-06-24 15:00:00 + 08:00" -- to_time="2021-06-24 16:00:00 + 08:00"
単一引用符 (') を使用してクエリパラメーターの特殊文字を参照する場合は、次のコマンドを実行します。
aliyunlog log get_log_all-project="my-project"-logstore="my-logstore"-query='event_name :$_ enter'-from_time="2021-06-24 15:00:00 + 08:00"-to_time="2021-06-24 16:00:00 + 08:00"
詳細については、「引用」をご参照ください。