|
85 | 85 | TAGS, |
86 | 86 | SESSION_DEFAULT_S3_BUCKET_PATH, |
87 | 87 | SESSION_DEFAULT_S3_OBJECT_KEY_PREFIX_PATH, |
88 | | - FEATURE_GROUP, |
89 | | - FEATURE_GROUP_ROLE_ARN_PATH, |
90 | | - FEATURE_GROUP_ONLINE_STORE_CONFIG_PATH, |
91 | | - FEATURE_GROUP_OFFLINE_STORE_CONFIG_PATH, |
92 | 88 | ) |
93 | 89 |
|
94 | 90 | # Setting LOGGER for backward compatibility, in case users import it... |
@@ -1611,222 +1607,6 @@ def delete_endpoint_config(self, endpoint_config_name): |
1611 | 1607 | logger.info("Deleting endpoint configuration with name: %s", endpoint_config_name) |
1612 | 1608 | self.sagemaker_client.delete_endpoint_config(EndpointConfigName=endpoint_config_name) |
1613 | 1609 |
|
1614 | | - def delete_feature_group(self, feature_group_name): |
1615 | | - """Delete an Amazon SageMaker Feature Group. |
1616 | | -
|
1617 | | - Args: |
1618 | | - feature_group_name (str): Name of the Amazon SageMaker Feature Group to delete. |
1619 | | - """ |
1620 | | - logger.info("Deleting feature group with name: %s", feature_group_name) |
1621 | | - self.sagemaker_client.delete_feature_group(FeatureGroupName=feature_group_name) |
1622 | | - |
1623 | | - def create_feature_group( |
1624 | | - self, |
1625 | | - feature_group_name, |
1626 | | - record_identifier_name, |
1627 | | - event_time_feature_name, |
1628 | | - feature_definitions, |
1629 | | - role_arn=None, |
1630 | | - online_store_config=None, |
1631 | | - offline_store_config=None, |
1632 | | - throughput_config=None, |
1633 | | - description=None, |
1634 | | - tags=None, |
1635 | | - ): |
1636 | | - """Create an Amazon SageMaker Feature Group. |
1637 | | -
|
1638 | | - Args: |
1639 | | - feature_group_name (str): Name of the Feature Group. |
1640 | | - record_identifier_name (str): Name of the record identifier feature. |
1641 | | - event_time_feature_name (str): Name of the event time feature. |
1642 | | - feature_definitions (list): List of feature definitions. |
1643 | | - role_arn (str): ARN of the role used to execute the API (default: None). |
1644 | | - Resolved from SageMaker Config if not provided. |
1645 | | - online_store_config (dict): Online store configuration (default: None). |
1646 | | - offline_store_config (dict): Offline store configuration (default: None). |
1647 | | - throughput_config (dict): Throughput configuration (default: None). |
1648 | | - description (str): Description of the Feature Group (default: None). |
1649 | | - tags (Optional[Tags]): Tags for labeling the Feature Group (default: None). |
1650 | | -
|
1651 | | - Returns: |
1652 | | - dict: Response from the CreateFeatureGroup API. |
1653 | | - """ |
1654 | | - tags = format_tags(tags) |
1655 | | - tags = _append_project_tags(tags) |
1656 | | - tags = self._append_sagemaker_config_tags( |
1657 | | - tags, "{}.{}.{}".format(SAGEMAKER, FEATURE_GROUP, TAGS) |
1658 | | - ) |
1659 | | - |
1660 | | - role_arn = resolve_value_from_config( |
1661 | | - role_arn, FEATURE_GROUP_ROLE_ARN_PATH, sagemaker_session=self |
1662 | | - ) |
1663 | | - |
1664 | | - inferred_online_store_config = update_nested_dictionary_with_values_from_config( |
1665 | | - online_store_config, |
1666 | | - FEATURE_GROUP_ONLINE_STORE_CONFIG_PATH, |
1667 | | - sagemaker_session=self, |
1668 | | - ) |
1669 | | - if inferred_online_store_config is not None: |
1670 | | - # OnlineStore should be handled differently because if you set KmsKeyId, then you |
1671 | | - # need to set EnableOnlineStore key as well |
1672 | | - inferred_online_store_config["EnableOnlineStore"] = True |
1673 | | - |
1674 | | - inferred_offline_store_config = update_nested_dictionary_with_values_from_config( |
1675 | | - offline_store_config, |
1676 | | - FEATURE_GROUP_OFFLINE_STORE_CONFIG_PATH, |
1677 | | - sagemaker_session=self, |
1678 | | - ) |
1679 | | - |
1680 | | - kwargs = dict( |
1681 | | - FeatureGroupName=feature_group_name, |
1682 | | - RecordIdentifierFeatureName=record_identifier_name, |
1683 | | - EventTimeFeatureName=event_time_feature_name, |
1684 | | - FeatureDefinitions=feature_definitions, |
1685 | | - RoleArn=role_arn, |
1686 | | - ) |
1687 | | - update_args( |
1688 | | - kwargs, |
1689 | | - OnlineStoreConfig=inferred_online_store_config, |
1690 | | - OfflineStoreConfig=inferred_offline_store_config, |
1691 | | - ThroughputConfig=throughput_config, |
1692 | | - Description=description, |
1693 | | - Tags=tags, |
1694 | | - ) |
1695 | | - |
1696 | | - logger.info("Creating feature group with name: %s", feature_group_name) |
1697 | | - return self.sagemaker_client.create_feature_group(**kwargs) |
1698 | | - |
1699 | | - def describe_feature_group(self, feature_group_name, next_token=None): |
1700 | | - """Describe an Amazon SageMaker Feature Group. |
1701 | | -
|
1702 | | - Args: |
1703 | | - feature_group_name (str): Name of the Amazon SageMaker Feature Group to describe. |
1704 | | - next_token (str): A token for paginated results (default: None). |
1705 | | -
|
1706 | | - Returns: |
1707 | | - dict: Response from the DescribeFeatureGroup API. |
1708 | | - """ |
1709 | | - args = {"FeatureGroupName": feature_group_name} |
1710 | | - update_args(args, NextToken=next_token) |
1711 | | - return self.sagemaker_client.describe_feature_group(**args) |
1712 | | - |
1713 | | - def update_feature_group( |
1714 | | - self, |
1715 | | - feature_group_name, |
1716 | | - feature_additions=None, |
1717 | | - online_store_config=None, |
1718 | | - throughput_config=None, |
1719 | | - ): |
1720 | | - """Update an Amazon SageMaker Feature Group. |
1721 | | -
|
1722 | | - Args: |
1723 | | - feature_group_name (str): Name of the Amazon SageMaker Feature Group to update. |
1724 | | - feature_additions (list): List of feature definitions to add (default: None). |
1725 | | - online_store_config (dict): Online store configuration updates (default: None). |
1726 | | - throughput_config (dict): Throughput configuration updates (default: None). |
1727 | | -
|
1728 | | - Returns: |
1729 | | - dict: Response from the UpdateFeatureGroup API. |
1730 | | - """ |
1731 | | - args = {"FeatureGroupName": feature_group_name} |
1732 | | - update_args( |
1733 | | - args, |
1734 | | - FeatureAdditions=feature_additions, |
1735 | | - OnlineStoreConfig=online_store_config, |
1736 | | - ThroughputConfig=throughput_config, |
1737 | | - ) |
1738 | | - return self.sagemaker_client.update_feature_group(**args) |
1739 | | - |
1740 | | - def list_feature_groups( |
1741 | | - self, |
1742 | | - name_contains=None, |
1743 | | - feature_group_status_equals=None, |
1744 | | - offline_store_status_equals=None, |
1745 | | - creation_time_after=None, |
1746 | | - creation_time_before=None, |
1747 | | - sort_order=None, |
1748 | | - sort_by=None, |
1749 | | - max_results=None, |
1750 | | - next_token=None, |
1751 | | - ): |
1752 | | - """List Amazon SageMaker Feature Groups. |
1753 | | -
|
1754 | | - Args: |
1755 | | - name_contains (str): Filter by name substring (default: None). |
1756 | | - feature_group_status_equals (str): Filter by status (default: None). |
1757 | | - offline_store_status_equals (str): Filter by offline store status (default: None). |
1758 | | - creation_time_after (datetime): Filter by creation time lower bound (default: None). |
1759 | | - creation_time_before (datetime): Filter by creation time upper bound (default: None). |
1760 | | - sort_order (str): Sort order, 'Ascending' or 'Descending' (default: None). |
1761 | | - sort_by (str): Sort by field (default: None). |
1762 | | - max_results (int): Maximum number of results (default: None). |
1763 | | - next_token (str): Pagination token (default: None). |
1764 | | -
|
1765 | | - Returns: |
1766 | | - dict: Response from the ListFeatureGroups API. |
1767 | | - """ |
1768 | | - args = {} |
1769 | | - update_args( |
1770 | | - args, |
1771 | | - NameContains=name_contains, |
1772 | | - FeatureGroupStatusEquals=feature_group_status_equals, |
1773 | | - OfflineStoreStatusEquals=offline_store_status_equals, |
1774 | | - CreationTimeAfter=creation_time_after, |
1775 | | - CreationTimeBefore=creation_time_before, |
1776 | | - SortOrder=sort_order, |
1777 | | - SortBy=sort_by, |
1778 | | - MaxResults=max_results, |
1779 | | - NextToken=next_token, |
1780 | | - ) |
1781 | | - return self.sagemaker_client.list_feature_groups(**args) |
1782 | | - |
1783 | | - def update_feature_metadata( |
1784 | | - self, |
1785 | | - feature_group_name, |
1786 | | - feature_name, |
1787 | | - description=None, |
1788 | | - parameter_additions=None, |
1789 | | - parameter_removals=None, |
1790 | | - ): |
1791 | | - """Update metadata for a feature in an Amazon SageMaker Feature Group. |
1792 | | -
|
1793 | | - Args: |
1794 | | - feature_group_name (str): Name of the Feature Group. |
1795 | | - feature_name (str): Name of the feature to update metadata for. |
1796 | | - description (str): Updated description for the feature (default: None). |
1797 | | - parameter_additions (list): Parameters to add (default: None). |
1798 | | - parameter_removals (list): Parameters to remove (default: None). |
1799 | | -
|
1800 | | - Returns: |
1801 | | - dict: Response from the UpdateFeatureMetadata API. |
1802 | | - """ |
1803 | | - args = { |
1804 | | - "FeatureGroupName": feature_group_name, |
1805 | | - "FeatureName": feature_name, |
1806 | | - } |
1807 | | - update_args( |
1808 | | - args, |
1809 | | - Description=description, |
1810 | | - ParameterAdditions=parameter_additions, |
1811 | | - ParameterRemovals=parameter_removals, |
1812 | | - ) |
1813 | | - return self.sagemaker_client.update_feature_metadata(**args) |
1814 | | - |
1815 | | - def describe_feature_metadata(self, feature_group_name, feature_name): |
1816 | | - """Describe metadata for a feature in an Amazon SageMaker Feature Group. |
1817 | | -
|
1818 | | - Args: |
1819 | | - feature_group_name (str): Name of the Feature Group. |
1820 | | - feature_name (str): Name of the feature to describe metadata for. |
1821 | | -
|
1822 | | - Returns: |
1823 | | - dict: Response from the DescribeFeatureMetadata API. |
1824 | | - """ |
1825 | | - return self.sagemaker_client.describe_feature_metadata( |
1826 | | - FeatureGroupName=feature_group_name, |
1827 | | - FeatureName=feature_name, |
1828 | | - ) |
1829 | | - |
1830 | 1610 | def wait_for_optimization_job(self, job, poll=5): |
1831 | 1611 | """Wait for an Amazon SageMaker Optimization job to complete. |
1832 | 1612 |
|
|
0 commit comments