

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# TensorBoard 使用`get_app_url`函数作为`estimator`类方法打开
<a name="debugger-htb-access-tb-get-app-url-estimator-method"></a>

如果您正在使用 SageMaker Python SDK 的`estimator`类运行训练作业，并且有该`estimator`类的活动对象，则也可以将该[`get_app_url`函数作为该类的类方法](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.estimator.EstimatorBase.get_app_url)进行`estimator`访问。打开 TensorBoard 应用程序或通过运行`get_app_url`方法来检索未签名的 URL，如下所示。`get_app_url`类方法从估算器中提取训练作业名称，然后使用指定作业打开 TensorBoard 应用程序。

**注意**  
此功能在 SageMaker Python SDK v2.184.0 及更高版本中可用。要使用此功能，请确保通过运行 `pip install sagemaker --upgrade` 来升级 SDK。

**Topics**
+ [选项 1：适用于经典 SageMaker 工作室](#debugger-htb-access-tb-get-app-url-estimator-method-studio)
+ [选项 2：对于非 Studio Classic 环境](#debugger-htb-access-tb-get-app-url-estimator-method-non-studio)

## 选项 1：适用于经典 SageMaker 工作室
<a name="debugger-htb-access-tb-get-app-url-estimator-method-studio"></a>

**打开 TensorBoard 应用程序** 

以下代码会自动从该`get_app_url()`方法在您的环境的默认 Web 浏览器中返回的未签名 URL 打开 TensorBoard 应用程序。

```
estimator.get_app_url(
    app_type=SupportedInteractiveAppTypes.TENSORBOARD # Required.
)
```

**检索未签名的 URL 并手动打开 TensorBoard应用程序**

以下代码会打印一个未签名的 URL，您可以将其复制到 Web 浏览器并打开 TensorBoard 应用程序。

```
print(
    estimator.get_app_url(
        app_type=SupportedInteractiveAppTypes.TENSORBOARD, # Required.
        open_in_default_web_browser=False, # Optional. Set to False to print the URL to terminal.
    )
)
```

请注意，如果您在 SageMaker AI Studio Classic 环境之外运行前两个代码示例，则该函数将返回 SageMaker AI 控制台中 TensorBoard登录页面的网址，因为这些页面没有指向您的域名和用户个人资料的登录信息。要创建预签名的 URL，请参阅以下部分中的选项 2。

## 选项 2：对于非 Studio Classic 环境
<a name="debugger-htb-access-tb-get-app-url-estimator-method-non-studio"></a>

如果您使用非 Studio Classic 环境（例如 SageMaker 笔记本实例和 Amazon EC2），并且想要生成用于打开 TensorBoard 应用程序的预签名 URL，请按如下方式使用包含您的域和用户个人资料信息的`get_app_url`方法。

请注意，此选项要求域用户拥有 `sagemaker:CreatePresignedDomainUrl` 权限。如果不具有此权限，域用户将收到异常错误。

**重要**  
请勿共享任何预签名 URLs。该`get_app_url`函数创建预签名 URLs，它会自动使用您的域和用户配置文件进行身份验证，并允许访问与您的域关联的任何应用程序和文件。

```
print(
    estimator.get_app_url(
        app_type=SupportedInteractiveAppTypes.TENSORBOARD, # Required
        create_presigned_domain_url=True,           # Reguired to be set to True for creating a presigned URL.
        domain_id="your-domain-id",                 # Required if creating a presigned URL (create_presigned_domain_url=True).
        user_profile_name="your-user-profile-name", # Required if creating a presigned URL (create_presigned_domain_url=True).
        open_in_default_web_browser=False,            # Optional. Set to False to print the URL to terminal.
        optional_create_presigned_url_kwargs={}       # Optional. Add any additional args for Boto3 create_presigned_domain_url
    )
)
```