

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 尋找特徵商店中的特徵群組
<a name="feature-store-search-feature-group-metadata"></a>

透過 Amazon SageMaker Feature Store，您可以使用主控台或[搜尋](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html)操作來搜尋特徵群組。您可以透過搜尋功能尋找與您正在建立的模型相關的特徵和特徵群組。您可以透過搜尋功能快速尋找與您的使用案例相關的特徵群組。

**注意**  
您要搜尋的功能群組必須位於您的 AWS 區域 和 AWS 帳戶中，或與 共用並可供您的 探索 AWS 帳戶。如需如何共用特徵群組目錄和授予探索能力的詳細資訊，請參閱[共用您的特徵群組目錄](feature-store-cross-account-discoverability-share-feature-group-catalog.md)。

下表顯示可搜尋欄位，以及您是否可以使用主控台來搜尋特定欄位。

您可以使用 Amazon SageMaker Studio Classic 或 SageMaker API 中的 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html) 操作來搜尋特徵。下表列出所有可搜尋的中繼資料，以及您是否可以在主控台中進行搜尋。您可以為自己的特徵群組搜尋標籤，但無法對您可探索的特徵群組進行搜尋。


****  

| 可搜尋的中繼資料 | API 欄位名稱 | 是否可在主控台中搜尋？ | 可跨帳戶搜尋？ | 
| --- | --- | --- | --- | 
| 所有標籤 | AllTags | 是 | 否 | 
| 建立失敗原因 | FailureReason | 否 | 否 | 
| 建立狀態 | [FeatureGroupStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FeatureGroup.html) | 是 | 是 | 
| 建立時間 | CreationTime | 是 | 是 | 
| Description | Description | 是 | 是 | 
| 事件時間特徵名稱 | EventTimeFeatureName | 否 | 否 | 
| 特徵定義 | [FeatureDefinitions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FeatureDefinition.html) | 否 | 否 | 
| 特徵群組 ARN | [FeatureGroupARN](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FeatureGroup.html) | 否 | 否 | 
| 特徵群組名稱 | [FeatureGroupName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FeatureGroup.html) | 是 | 是 | 
| 離線儲存組態 | [OfflineStoreConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OfflineStoreConfig.html) | 否 | 否 | 
| 離線儲存狀態 | [OfflineStoreStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OfflineStoreStatus.html) | 是 | 是 | 
| 上次更新狀態 | [LastUpdateStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LastUpdateStatus.html) | 否 | 否 | 
| 記錄識別符特徵名稱 | RecordIdentifierFeatureName | 是 | 是 | 
| Tags (標籤) | 標籤。key | 是 | 否 | 

## 如何尋找特徵群組
<a name="feature-store-search-feature-group-metadata-how-to"></a>

您可以使用主控台或 Amazon SageMaker Feature Store API 尋找您的特徵群組。透過主控台使用特徵存放區的指示取決於您是否已啟用 [Amazon SageMaker Studio](studio-updated.md) 或 [Amazon SageMaker Studio Classic](studio.md) 作為預設體驗。

### 如果 Studio 是您的預設體驗 (主控台)，請尋找特徵群組
<a name="feature-store-search-feature-group-metadata-how-to-using-studio-updated"></a>

1. 遵循 [啟動 Amazon SageMaker Studio](studio-updated-launch.md) 中的指示開啟 Studio 主控台。

1. 在左側導覽窗格中，選擇**資料**以展開下拉式清單。

1. 從下拉式清單中，選擇 **Feature Store**。

1. (選用) 若要檢視您的特徵群組，請選擇**我的帳戶**。若要檢視共用特徵群組，請選擇**跨帳戶**。

1. 在**特徵群組目錄**索引標籤下，選擇**我的帳戶**來檢視您的特徵群組。

1. 在**特徵群組目錄**索引標籤下，選擇**跨帳戶**來檢視其他人讓您可探索的特徵群組。在**建立者**下，您可以檢視資源擁有者帳戶 ID。

1. 您可以從**搜尋**下拉式清單中搜尋您的特徵群組：
   + (選用) 若要篩選搜尋，請選擇**搜尋**下拉式清單旁邊的篩選條件圖示。您可以使用篩選條件來指定搜尋結果中的參數或日期範圍。如果您搜尋參數，請同時指定其金鑰和值。若要尋找您的特徵群組，您可以指定時間範圍、清除 (取消選取) 您不想要查詢的資料欄、選擇要搜尋的存放區，或依狀態搜尋。
   + 對於共用資源，如果您具有從資源擁有者帳戶授與的適當存取許可，則只能編輯特徵群組中繼資料或特徵定義。僅有探索能力許可將不允許您編輯中繼資料或特徵定義。如需如何授與存取許可的詳細資訊，請參閱 [啟用跨帳戶存取權](feature-store-cross-account-access.md)。

### 使用 SDK for Python (Boto3) 尋找特徵群組
<a name="feature-store-search-feature-group-metadata-how-to-with-sdk"></a>

本節中的程式碼使用 中的 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html)操作 適用於 Python (Boto3) 的 AWS SDK 來執行搜尋查詢以尋找功能群組。如需要提交查詢的其他語言的相關資訊，請參閱 *Amazon SageMaker API 參考*中的[另請參閱](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html#API_Search_SeeAlso)。

如需更多特徵存放區範例和資源，請參閱 [Amazon SageMaker Feature Store 資源](feature-store-resources.md)。

下列程式碼顯示使用 API 的不同範例搜尋查詢：

```
# Return all feature groups
sagemaker_client.search(
    Resource="FeatureGroups",
)  

# Search for feature groups that are shared with your account
sagemaker_session.search(
    resource="FeatureGroup",
    search_expression={
        "Filters": [
            {
                "Name": "FeatureGroupName",
                "Value": "MyFeatureGroup",
                "Operator": "Contains",
            }
        ],
        "Operator": "And",
    },
    sort_by="Name",
    sort_order="Ascending",
    next_token="token",
    max_results=50,
    CrossAccountFilterOption="SameAccount"
)

# Search for all feature groups with a name that contains the "ver" substring
sagemaker_client.search(
    Resource="FeatureGroups",
    SearchExpression={
        'Filters': [
            {
                'Name': 'FeatureGroupName',
                'Operator': 'Contains',
                'Value': 'ver'
            },
        ]
    }
)

# Search for all feature groups that have the EXACT name "airport"
sagemaker_client.search(
    Resource="FeatureGroups",
    SearchExpression={
        'Filters': [
            {
                'Name': 'FeatureGroupName',
                'Operator': 'Equals',
                'Value': 'airport'
            },
        ]
    }
)

# Search for all feature groups that contains the name "ver"
# AND have a record identifier feature name that contains "wha"
# AND have a tag (key or value) that contains "hea"
sagemaker_client.search(
    Resource="FeatureGroups",
    SearchExpression={
        'Filters': [
            {
                'Name': 'FeatureGroupName',
                'Operator': 'Contains',
                'Value': 'ver'
            },
            {
                'Name': 'RecordIdentifierFeatureName',
                'Operator': 'Contains',
                'Value': 'wha'
            },
            {
                'Name': 'AllTags', 
                'Operator': 'Contains',
                'Value': 'hea'
            },
        ]
    }
)  

# Search for all feature groups with substring "ver" in its name
# OR feature groups that have a record identifier feature name that contains "wha"
# OR feature groups that have a tag (key or value) that contains "hea"
sagemaker_client.search(
    Resource="FeatureGroups",
    SearchExpression={
        'Filters': [
            {
                'Name': 'FeatureGroupName',
                'Operator': 'Contains',
                'Value': 'ver'
            },
            {
                'Name': 'RecordIdentifierFeatureName',
                'Operator': 'Contains',
                'Value': 'wha'
            },
            {
                'Name': 'AllTags', 
                'Operator': 'Contains',
                'Value': 'hea'
            },
        ],
        'Operator': 'Or' # note that this is explicitly set to "Or"- the default is "And"
    }
)              


# Search for all feature groups with substring "ver" in its name
# OR feature groups that have a record identifier feature name that contains "wha"
# OR tags with the value 'Sage' for the 'org' key
sagemaker_client.search(
    Resource="FeatureGroups",
    SearchExpression={
        'Filters': [
            {
                'Name': 'FeatureGroupName',
                'Operator': 'Contains',
                'Value': 'ver'
            },
            {
                'Name': 'RecordIdentifierFeatureName',
                'Operator': 'Contains',
                'Value': 'wha'
            },
            {
                'Name': 'Tags.org', 
                'Operator': 'Contains',
                'Value': 'Sage'
            },
        ],
        'Operator': 'Or' # note that this is explicitly set to "Or"- the default is "And"
    }
)

# Search for all offline only feature groups
sagemaker_client.search(
    Resource="FeatureGroups",
    SearchExpression={
        'Filters': [
            {
                'Name': 'OnlineStoreConfig.EnableOnlineStore',
                'Operator': 'NotEquals',
                'Value': 'true'
            },
            {
                'Name': 'OfflineStoreConfig.S3StorageConfig.S3Uri',
                'Operator': 'Exists'
            }
        ]
    }
)

# Search for all online only feature groups
sagemaker_client.search(
    Resource="FeatureGroups",
    SearchExpression={
        'Filters': [
            {
                'Name': 'OnlineStoreConfig.EnableOnlineStore',
                'Operator': 'Equals',
                'Value': 'true'
            },
            {
                'Name': 'OfflineStoreConfig.S3StorageConfig.S3Uri',
                'Operator': 'NotExists'
            }
        ]
    }
)

# Search for all feature groups that are BOTH online and offline
sagemaker_client.search(
    Resource="FeatureGroups",
    SearchExpression={
        'Filters': [
            {
                'Name': 'OnlineStoreConfig.EnableOnlineStore',
                'Operator': 'Equals',
                'Value': 'true'
            },
            {
                'Name': 'OfflineStoreConfig.S3StorageConfig.S3Uri',
                'Operator': 'Exists'
            }
        ]
    }
)
```

您也可以使用 API 的 python SDK AWS RAM APIs 來建立資源共享。API 簽章如下所示。若要使用 AWS RAM API 的 python SDK，您需要使用執行角色連接 AWS RAM 完整存取受管政策。

```
response = client.create_resource_share(
    name='string',
    resourceArns=[
        'string',
    ],
    principals=[
        'string',
    ],
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ],
    allowExternalPrincipals=True|False,
    clientToken='string',
    permissionArns=[
        'string',
    ]
)
```