

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Resource Explorer の検索クエリ構文リファレンス
<a name="using-search-query-syntax"></a>

AWS Resource Explorer は、 内の個々の AWS リソースを見つけるのに役立ちます AWS アカウント。探しているリソースを正確に見つけられるように、Resource Explorer では、このトピックで説明している構文をサポートする検索クエリ文字列を使用できます。ここで説明した機能の使用例を示すサンプルクエリについては、「[Resource Explorer による検索クエリの例](using-search-query-examples.md)」を参照してください。

**注記**  
現時点では、ロールやユーザーなどの AWS Identity and Access Management （IAM) リソースにアタッチされたタグはインデックス化されません。

## Resource Explorer でのクエリの仕組み
<a name="query-background"></a>

検索クエリは常に特定のビューを使用します。明示的に指定しない場合、Resource Explorer は作業 AWS リージョン している のデフォルトとして指定されたビューを使用します。

ビューによって、どんなリソースをクエリできるかが決まります。それぞれに異なるリソースセットを返す、さまざまなビューを作成できます。

例えば、キー `Environment` と値 `Production` のタグが付いたリソースのみを含むビューを作成することができます。あるいは、業務上そのリソースを閲覧する必要があるユーザーのみにそのビューへのアクセスを許可するように選択できます。`Alpha` または `Beta` 環境リソースを含む一つのビューには、それらのリソースを閲覧する必要がある複数の異なるユーザーがアクセスできます。どのビューにどのユーザーがアクセスできるかを制御する方法については、「[検索用の Resource Explorer ビューへのアクセス許可の付与](manage-views-grant-access.md)」を参照してください。

## クエリ文字列の構文
<a name="query-syntax"></a>

このセクションでは、クエリ構文、フィルター、フィルター演算子の基本について説明します。

### 基本
<a name="query-syntax-basics"></a>

最も基本的な `QueryString` は、論理演算子 `OR` によって暗示的に結合された自由形式のテキストキーワードのセットです。次の例に示すように、スペースを使用して各キーワードを区切ります。

`ec2 billing test gamma`

Resource Explorer は、このキーワードのリストを次の意味で評価します。

`ec2 OR billing OR test OR gamma`

Resource Explorer は検索結果を関連度の高い順に並べ替え、一致する検索語の数が多いリソースを優先して表示します。1 つ以上の用語に一致しないリソースも結果からは除外されません。ただし、Resource Explorer はそれらのリソースを関連性が低いと見なし、検索結果の下位の方に表示します。

`QueryString` パラメータに空の文字列を指定すると、クエリは操作に使用されたビューで使用できる最初の 1,000 リソースを返します。クエリによって返すことのできるリソースの最大数は 1,000 です。

**注記**  
AWS は、フリーフォームテキストキーワードを評価するためのマッチングロジックと関連性アルゴリズムを更新して、お客様に最も関連性の高い結果を提供できるようにします。そのため、自由形式のテキストキーワードを使用した同じクエリで返される結果であっても、時間の経過とともにその内容が変化する可能性があります。より確定的な結果が必要な場合は、フィルタを使用することをお勧めします。フィルタの照合ロジックは、時間の経過とともに変化することはありません。

### フィルター
<a name="query-syntax-filters"></a>

**フィルター**を含めることで、クエリの結果をより厳密に絞り込むことができます。テキストキーワードとは異なり、フィルターは **AND**演算子を使用してクエリで評価されます。例えば、2 つの自由形式のキーワードと 2 つのフィルターで構成される次のクエリを考えてみます。

```
test instance service:EC2 region:us-west-2
```

このクエリは、次のように評価されます。

```
( test OR instance ) AND service:EC2 AND region:us-west-2
```

フィルターは常に**AND**論理演算子を使用して評価されます。リソースがフィルターと一致しない場合、そのリソースは結果に含まれません。クエリの結果の例には、Amazon に関連付けられEC2、米国西部 (オレゴン) にあり AWS リージョン 、何らかの方法で少なくとも 1 つのキーワードがアタッチされているリソースが含まれます。

**注記**  
暗示的 `AND` であるため、リソースに関連付けられる値が 1 つしかない属性には 1 つのフィルタしか使用できません。例えば、1 つのリソースは 1 つの AWS リージョンにのみ属することができます。そのため、以下のクエリは結果を返しません。  

```
region:us-east-1 region:us-west-1
```
この制限は、`tag:`、`tag.key:`、`tag.value:`など、同時に複数の値を持つことができる属性のフィルターには**適用されません**。

次の表に、Resource Explorer 検索クエリに使用できるフィルター名の一覧を示します。


| フィルター名 | 説明と例 | 
| --- | --- | 
| `accountid:` | リソースを所有 AWS アカウント する 。Resource Explorer の検索結果には、指定したアカウントが所有するリソースのみが含まれます。<br />`accountid:123456789012` | 
| `application:` | このフィルターでは、`awsApplication` タグキーとリソースグループ値を使用してリソースを検索します。アプリケーション名またはアプリケーションリソースグループ で検索できますARN。<br />`application:MyApplicationName`<br />`application:arn:aws:resource-groups:us-east-1:123456789012:group/MyApplicationName/123456789abced`<br />`arn:aws:resource-groups:us-east-1:123456789012:group/MyApplicationName/123456789abced` このフィルターを使用するには、そのビューにタグ付けデータへのアクセスが設定されている必要があります。  | 
| `id:` | Amazon リソース[名 (ARN) で表される個々のリソース](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)の識別子。<br />`id:arn:aws:license-manager:us-east-1:123456789012:license-configuration:lic-ecbd5574fd92cb0d312baea26EXAMPLE` | 
| `region:` | リソース AWS リージョン がある場所。Resource Explorer には、指定された に存在するリソースのみが結果に含まれます AWS リージョン。<br />`region:us-east-1` リージョンコードだけを (`us-east-1` などのフィルタなしで) タイプ入力しても、`region:us-east-1`と同じ結果は返されません。これは、フィルターではない自由形式のテキストキーワードであるため、リージョンコードが個々の要素に分割して解釈されるためです。例えば、`us-east-1` は、`us`、`east`、および `1` として検索されます。`region:` プレフィックスを使用した場合、このような構成要素の分割は行われません。  | 
| `region:global` | `region:` フィルターの特別なケースで、個人に関連付けられていない AWS リージョン が、対象範囲内のグローバルと見なされるリソースを検索するために使用できます。<br />`region:global` キーワード `global` だけを入力しても、「global」という文字がグローバルリソースに関連付けられていないため、`region:global` と同じ結果は返されません。キーワードとして `global` を入力すると、その文字列がそのままリソースに関連付けられているリソースだけが返されます。  | 
| `resourcetype:` | `{{service}}:{{type}}` 表記のリソースタイプです。Resource Explorer の検索結果には、指定されたタイプのリソースのみが含まれます。<br />`resourcetype:ec2:instance` | 
| `resourcetype.supports:` | このフィルターを使用すると、タグをサポートするリソースを検索できます。 `tags`はサポートされている唯一の値です。Resource Explorer には、タグ付け可能なリソースのみが結果に含まれます。<br />`resourcetype.supports:tags` | 
| `service:` | リソースのタイプ AWS のサービス に関連付けられている 。Resource Explorer の検索結果には、指定されたサービスによって作成および管理されるリソースのみが含まれます。<br />`service:ec2` | 
| `tag:` | タグキーと値のペアは `<key>=<value>` で表されます。Resource Explorer の検索結果には、一致するキーと指定された値の両方を持つタグを付したリソースのみが含まれます。<br />`tag:environment=production` | 
| `tag:all` | Resource Explorer でリソースタイプがサポートされていない場合でも、ユーザーが作成したタグがアタッチされたリソースを検索できる`tag:`フィルターの特殊なケース。 サービス作成によるAWS タグが付いたリソースは、このフィルターの検索結果からは除外されませんす。  | 
| `tag:none` | アタッチされたユーザー作成タグをまったく含まないリソースを検索できる、特殊な `tag:` フィルターです。 サービス作成によるAWS タグが付いたリソースは、このフィルターの検索結果からは除外されませんす。  | 
| `tag.key:` | タグキー。Resource Explorer の検索結果には、値に関係なく、一致するキーを持つタグを持つリソースのみが含まれます。<br />`tag.key:environment` | 
| `tag.value:` | タグ値。Resource Explorer の検索結果には、キー名に関係なく、値が一致するタグを持つリソースのみが含まれます。<br />`tag.value:production` | 

### フィルター演算子
<a name="query-syntax-operators"></a>

次の表に示す演算子のいずれかを文字列の一部に含めることで、キーワードとフィルターを変更できます。


| 演算子 | 説明と例 | 
| --- | --- | 
| `"{{multiple word phrase}}"`<br />または<br />"{{hyphenated-phrase}}" | 1 つのキーワードとして扱うべき複数ワードの語句を、二重引用符 (`" "`) で囲みます。Resource Explorer の検索結果には、フレーズ全体のすべての単語が指定された順序で一致するリソースのみが含まれます。<br />二重引用符を使用しない場合、Resource Explorer はフレーズをスペースまたはハイフン区切り単位で個々の構成要素に分割し、それぞれの構成要素と一致するリソースを、それらが一緒になっていなかったり、順序が異なっていてもすべて含めます。引用符は、演算子の後にすべて配置する必要があります。<br />`"This matches only resources with the whole sentence."`<br />`This matches resources with any of the words.`<br />`"us-east-1"` — 指定したリージョンそのものに関連付けられているリソースのみを検索します。<br />`us-east-1` —「us」、「east」、「1」を含むすべてのリソースを照合します。<br />`-tag:"environment=production"`  | 
| `{{keyword}}*` |  プレフィックスワイルドカード照合。ワイルドカード文字 (アスタリスク `*`) は文字列の末尾にのみ配置できます。Resource Explorer の検索結果には、`*` の前のプレフィックステキストで始まる値を持つリソースのみが含まれます。次の例は、 で始まるすべての に一致し AWS リージョン ます`us-east`。<br />`region:us-east*` 統合検索では、文字列の最初のキーワードの末尾にワイルドカード文字 (`*`) 演算子が自動的に挿入されます。つまり、統合検索結果には、指定されたキーワードで始まる任意の文字列と一致するリソースが含まれます。 <br />これに対し、Resource Explorer コンソールの [[リソース検索]](https://console.aws.amazon.com/resource-explorer/home#/explorer) ページの **[クエリ]** テキストボックスから実行する検索では、ワイルドカード文字は自動的には**追加されません**。検索文字列の任意の用語の後に、`*` を手動で挿入できます。  | 
| `-{{keyword}}` | `Not` 演算子。キーワードまたはフィルターの先頭にハイフン (`-`) を付けると、検索結果が逆転します。Resource Explorer の検索結果は、この演算子の後に続くキーワードまたはフィルターに一致するリソースすべてを**除外します**。次の例では、Amazon EC2サービスに関連付けられたすべてのリソースが結果から除外されます。<br />`-service:ec2` コマンドを使用し AWS CLI `search`、`--query-string`パラメータ値に `-`演算子を最初の文字として使用する場合は、パラメータ名を通常のスペース文字ではなく等しい符号文字 (`=`) で区切る必要があります。スペース文字を使用すると、 は文字列をCLI誤って解釈します。例えば、以下のクエリは失敗します。 <pre>aws resource-explorer-2 search --query-string "-tag:none region:us-east-1"</pre> <br />次の修正されたクエリ文字列は、スペースを `=` に置き換えたもので、期待どおりに機能します。 <pre>aws resource-explorer-2 search --query-string{{=}}"-tag:none region:us-east-1"</pre> <br />`-` がパラメータ値の最初の文字にならないようにクエリ文字列内のフィルターの順序を変更すれば、標準のスペース文字を使用することができます。次のクエリ文字列は正しく機能します。 <pre>aws resource-explorer-2 search --query-string "region:us-east-1 -tag:none"</pre>  | 
| \\{{<special character>}} | 解釈ではなく表示されているとおりに含める必要がある特殊文字にはエスケープ処理ができます。テキストにいずれかの特殊文字 (` * " - : = \`) が含まれている場合、その文字が表記どおりに解釈されるよう、文字の前にバックスラッシュ (`\`) を付ける必要があります。次の例は、ハイフン (`-`) 文字 (`"my-key-word"`) を含む自由形式のテキストキーワードの使用方法を示しています。<br />また、Resource Explorer がハイフンでつながれた表現を 3 つのキーワードに分割しないように、フレーズ全体を二重引用符で囲むことができます。<br /> `"my\-key\-word"` <br />リテラルバックスラッシュを挿入するには、2 つのバックスラッシュ文字を連続して挿入します。最初のバックスラッシュはエスケープと解釈され、2 番目のバックスラッシュが挿入するリテラル文字です。<br />`"some_text\\some_more_text"` | 

**注記**  
ビューにリソースに添付されたタグが含まれている場合、`Search` オペレーションは検索文字列の検証エラーを返しません。有効でないフィルターは、自由形式のテキスト検索としても解釈できるためです。例えば、`cat:blue` はフィルターのように**見えます**が、Resource Explorer はそれをフィルターとして解析しません。`cat:` は定義済みの有効フィルターに含まれていないからです。代わりに、Resource Explorer は文字列全体を自由形式の検索文字列として解釈し、タグキー名や の一部などと一致させますARN。  
次のいずれかに該当する場合には、オペレーションが検証エラーを返します。  
ビューがタグに関する情報を含んでいない。
検索クエリがタグフィルター (`tag.key:`、`tag.value:`、`tag:`のいずれか) を明示的に使用している