

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

# 使用 的 MediaPackage VOD 範例 AWS CLI
<a name="cli_mediapackage-vod_code_examples"></a>

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 MediaPackage VOD 來執行動作和實作常見案例。

*Actions* 是大型程式的程式碼摘錄，必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數，但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始碼的連結，您可在連結中找到如何設定和執行內容中程式碼的相關指示。

**Topics**
+ [動作](#actions)

## 動作
<a name="actions"></a>

### `create-asset`
<a name="mediapackage-vod_CreateAsset_cli_topic"></a>

以下程式碼範例顯示如何使用 `create-asset`。

**AWS CLI**  
**建立資產**  
下列`create-asset`範例會在目前 AWS 帳戶中建立名為 `Chicken_Asset`的資產。資產會將檔案 `30sec_chicken.smil` 擷取至 MediaPackage。  

```
aws mediapackage-vod create-asset \
    --id chicken_asset \
    --packaging-group-id hls_chicken_gp \
    --source-role-arn arn:aws:iam::111122223333:role/EMP_Vod \
    --source-arn arn:aws:s3::111122223333:video-bucket/A/30sec_chicken.smil
```
輸出：  

```
{
    "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:assets/chicken_asset",
    "Id":"chicken_asset",
    "PackagingGroupId":"hls_chicken_gp",
    "SourceArn":"arn:aws:s3::111122223333:video-bucket/A/30sec_chicken.smil",
    "SourceRoleArn":"arn:aws:iam::111122223333:role/EMP_Vod",
    "EgressEndpoints":[
        {
            "PackagingConfigurationId":"New_config_1",
            "Url":"https://c75ea2668ab49d02bca7ae10ef31c59e.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/6644b55df1744261ab3732a8e5cdaf07/904b06a58c7645e08d57d40d064216ac/f5b2e633ff4942228095d164c10074f3/index.m3u8"
        },
        {
            "PackagingConfigurationId":"new_hls",
            "Url":" https://c75ea2668ab49d02bca7ae10ef31c59e.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/6644b55df1744261ab3732a8e5cdaf07/fe8f1f00a80e424cb4f8da4095835e9e/7370ec57432343af816332356d2bd5c6/string.m3u8"
        }
    ]
}
```
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[擷取資產](https://docs.aws.amazon.com/mediapackage/latest/ug/asset-create.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [CreateAsset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/create-asset.html)。

### `create-packaging-configuration`
<a name="mediapackage-vod_CreatePackagingConfiguration_cli_topic"></a>

以下程式碼範例顯示如何使用 `create-packaging-configuration`。

**AWS CLI**  
**建立封裝組態**  
下列 `create-packaging-configuration` 範例會在名為 `hls_chicken` 的封裝群組中建立名為 `new_hls` 的封裝組態。此範例使用名為 `hls_pc.json` 之磁碟上的檔案來提供詳細資訊。  

```
aws mediapackage-vod create-packaging-configuration \
    --id new_hls \
    --packaging-group-id hls_chicken \
    --hls-package file://hls_pc.json
```
`hls_pc.json` 的內容：  

```
{
    "HlsManifests":[
        {
            "AdMarkers":"NONE",
            "IncludeIframeOnlyStream":false,
            "ManifestName":"string",
            "ProgramDateTimeIntervalSeconds":60,
            "RepeatExtXKey":true,
            "StreamSelection":{
                "MaxVideoBitsPerSecond":1000,
                "MinVideoBitsPerSecond":0,
                "StreamOrder":"ORIGINAL"
            }
        }
    ],
    "SegmentDurationSeconds":6,
    "UseAudioRenditionGroup":false
}
```
輸出：  

```
{
    "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/new_hls",
    "Id":"new_hls",
    "PackagingGroupId":"hls_chicken",
    "HlsManifests":{
        "SegmentDurationSeconds":6,
        "UseAudioRenditionGroup":false,
        "HlsMarkers":[
            {
                "AdMarkers":"NONE",
                "IncludeIframeOnlyStream":false,
                "ManifestName":"string",
                "ProgramDateTimeIntervalSeconds":60,
                "RepeatExtXKey":true,
                "StreamSelection":{
                    "MaxVideoBitsPerSecond":1000,
                    "MinVideoBitsPerSecond":0,
                    "StreamOrder":"ORIGINAL"
                }
            }
        ]
    }
}
```
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[建立封裝組態](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-cfig-create.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [CreatePackagingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/create-packaging-configuration.html)。

### `create-packaging-group`
<a name="mediapackage-vod_CreatePackagingGroup_cli_topic"></a>

以下程式碼範例顯示如何使用 `create-packaging-group`。

**AWS CLI**  
**建立封裝群組**  
下列`create-packaging-group`範例列出目前 AWS 帳戶中設定的所有封裝群組。  

```
aws mediapackage-vod create-packaging-group \
    --id hls_chicken
```
輸出：  

```
{
    "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/hls_chicken",
    "Id": "hls_chicken"
}
```
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[建立封裝群組](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-group-create.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [CreatePackagingGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/create-packaging-group.html)。

### `delete-asset`
<a name="mediapackage-vod_DeleteAsset_cli_topic"></a>

以下程式碼範例顯示如何使用 `delete-asset`。

**AWS CLI**  
**刪除資產**  
下列 `delete-asset` 範例刪除名為 `30sec_chicken` 的資產。  

```
aws mediapackage-vod delete-asset \
    --id 30sec_chicken
```
此命令不會產生輸出。  
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[刪除資產](https://docs.aws.amazon.com/mediapackage/latest/ug/asset-delete.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DeleteAsset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/delete-asset.html)。

### `delete-packaging-configuration`
<a name="mediapackage-vod_DeletePackagingConfiguration_cli_topic"></a>

以下程式碼範例顯示如何使用 `delete-packaging-configuration`。

**AWS CLI**  
**刪除封裝組態**  
下列 `delete-packaging-configuration` 範例刪除名為 `CMAF` 的封裝組態。  

```
aws mediapackage-vod delete-packaging-configuration \
    --id CMAF
```
此命令不會產生輸出。  
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[刪除封裝組態](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-cfig-delete.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DeletePackagingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/delete-packaging-configuration.html)。

### `delete-packaging-group`
<a name="mediapackage-vod_DeletePackagingGroup_cli_topic"></a>

以下程式碼範例顯示如何使用 `delete-packaging-group`。

**AWS CLI**  
**刪除封裝群組**  
下列 `delete-packaging-group` 範例刪除名為 `Dash_widevine` 的封裝群組。  

```
aws mediapackage-vod delete-packaging-group \
    --id Dash_widevine
```
此命令不會產生輸出。  
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[刪除封裝群組](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-group-delete.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DeletePackagingGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/delete-packaging-group.html)。

### `describe-asset`
<a name="mediapackage-vod_DescribeAsset_cli_topic"></a>

以下程式碼範例顯示如何使用 `describe-asset`。

**AWS CLI**  
**描述資產**  
下列 `describe-asset` 範例顯示名為 `30sec_chicken` 之資產的所有詳細資訊。  

```
aws mediapackage-vod describe-asset \
    --id 30sec_chicken
```
輸出：  

```
{
    "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:assets/30sec_chicken",
    "Id":"30sec_chicken",
    "PackagingGroupId":"Packaging_group_1",
    "SourceArn":"arn:aws:s3::111122223333:video-bucket/A/30sec_chicken.smil",
    "SourceRoleArn":"arn:aws:iam::111122223333:role/EMP_Vod",
    "EgressEndpoints":[
        {
            "PackagingConfigurationId":"DASH",
            "Url":"https://a5f46a44118ba3e3724ef39ef532e701.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/aad7962c569946119c2d5a691be5663c/66c25aff456d463aae0855172b3beb27/4ddfda6da17c4c279a1b8401cba31892/index.mpd"
        },
        {
            "PackagingConfigurationId":"HLS",
            "Url":"https://a5f46a44118ba3e3724ef39ef532e701.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/aad7962c569946119c2d5a691be5663c/6e5bf286a3414254a2bf0d22ae148d7e/06b5875b4d004c3cbdc4da2dc4d14638/index.m3u8"
        },
        {
            "PackagingConfigurationId":"CMAF",
            "Url":"https://a5f46a44118ba3e3724ef39ef532e701.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/aad7962c569946119c2d5a691be5663c/628fb5d8d89e4702958b020af27fde0e/05eb062214064238ad6330a443aff7f7/index.m3u8"
        }
    ]
}
```
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[檢視資產詳細資訊](https://docs.aws.amazon.com/mediapackage/latest/ug/asset-view.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DescribeAsset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/describe-asset.html)。

### `describe-packaging-configuration`
<a name="mediapackage-vod_DescribePackagingConfiguration_cli_topic"></a>

以下程式碼範例顯示如何使用 `describe-packaging-configuration`。

**AWS CLI**  
**描述封裝組態**  
下列 `describe-packaging-configuration` 範例顯示名為 `DASH` 之封裝組態的所有詳細資訊。  

```
aws mediapackage-vod describe-packaging-configuration \
    --id DASH
```
輸出：  

```
{
    "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/DASH",
    "Id":"DASH",
    "PackagingGroupId":"Packaging_group_1",
    "DashPackage":[
        {
            "SegmentDurationSeconds":"2"
        },
        {
            "DashManifests":{
                "ManifestName":"index",
                "MinBufferTimeSeconds":"30",
                "Profile":"NONE"
            }
        }
    ]
}
```
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[檢視封裝組態詳細資訊](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-cfig-view.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DescribePackagingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/describe-packaging-configuration.html)。

### `describe-packaging-group`
<a name="mediapackage-vod_DescribePackagingGroup_cli_topic"></a>

以下程式碼範例顯示如何使用 `describe-packaging-group`。

**AWS CLI**  
**描述封裝群組**  
下列 `describe-packaging-group` 範例顯示名為 `Packaging_group_1` 之封裝群組的所有詳細資訊。  

```
aws mediapackage-vod describe-packaging-group \
    --id Packaging_group_1
```
輸出：  

```
{
    "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/Packaging_group_1",
    "Id": "Packaging_group_1"
}
```
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[檢視封裝群組詳細資訊](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-group-view.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [DescribePackagingGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/describe-packaging-group.html)。

### `list-assets`
<a name="mediapackage-vod_ListAssets_cli_topic"></a>

以下程式碼範例顯示如何使用 `list-assets`。

**AWS CLI**  
**列出所有資產**  
下列`list-assets`範例列出目前 AWS 帳戶中設定的所有資產。  

```
aws mediapackage-vod list-assets
```
輸出：  

```
{
    "Assets": [
        "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:assets/30sec_chicken",
        "Id": "30sec_chicken",
        "PackagingGroupId": "Packaging_group_1",
        "SourceArn": "arn:aws:s3::111122223333:video-bucket/A/30sec_chicken.smil",
        "SourceRoleArn": "arn:aws:iam::111122223333:role/EMP_Vod"
    ]
}
```
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[檢視資產詳細資訊](https://docs.aws.amazon.com/mediapackage/latest/ug/asset-view.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [ListAssets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/list-assets.html)。

### `list-packaging-configurations`
<a name="mediapackage-vod_ListPackagingConfigurations_cli_topic"></a>

以下程式碼範例顯示如何使用 `list-packaging-configurations`。

**AWS CLI**  
**列出所有封裝組態**  
下列 `list-packaging-configurations` 範例列出在名為 `Packaging_group_1` 的封裝群組上設定的所有封裝組態。  

```
aws mediapackage-vod list-packaging-configurations \
    --packaging-group-id Packaging_group_1
```
輸出：  

```
{
    "PackagingConfigurations":[
        {
            "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/CMAF",
            "Id":"CMAF",
            "PackagingGroupId":"Packaging_group_1",
            "CmafPackage":[
                {
                    "SegmentDurationSeconds":"2"
                },
                {
                    "HlsManifests":{
                        "AdMarkers":"NONE",
                        "RepeatExtXKey":"False",
                        "ManifestName":"index",
                        "ProgramDateTimeIntervalSeconds":"0",
                        "IncludeIframeOnlyStream":"False"
                    }
                }
            ]
        },
        {
            "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/DASH",
            "Id":"DASH",
            "PackagingGroupId":"Packaging_group_1",
            "DashPackage":[
                {
                    "SegmentDurationSeconds":"2"
                },
                {
                    "DashManifests":{
                        "ManifestName":"index",
                        "MinBufferTimeSeconds":"30",
                        "Profile":"NONE"
                    }
                }
            ]
        },
        {
            "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/HLS",
            "Id":"HLS",
            "PackagingGroupId":"Packaging_group_1",
            "HlsPackage":[
                {
                    "SegmentDurationSeconds":"6",
                    "UseAudioRenditionGroup":"False"
                },
                {
                    "HlsManifests":{
                        "AdMarkers":"NONE",
                        "RepeatExtXKey":"False",
                        "ManifestName":"index",
                        "ProgramDateTimeIntervalSeconds":"0",
                        "IncludeIframeOnlyStream":"False"
                    }
                }
            ]
        },
        {
            "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/New_config_0_copy",
            "Id":"New_config_0_copy",
            "PackagingGroupId":"Packaging_group_1",
            "HlsPackage":[
                {
                    "SegmentDurationSeconds":"6",
                    "UseAudioRenditionGroup":"False"
                },
                {
                    "Encryption":{
                        "EncryptionMethod":"AWS_128",
                        "SpekeKeyProvider":{
                           "RoleArn":"arn:aws:iam:111122223333::role/SPEKERole",
                            "Url":"https://lfgubdvs97.execute-api.us-west-2.amazonaws.com/EkeStage/copyProtection/",
                            "SystemIds":[
                                "81376844-f976-481e-a84e-cc25d39b0b33"
                            ]
                        }
                    }
                },
                {
                    "HlsManifests":{
                        "AdMarkers":"NONE",
                        "RepeatExtXKey":"False",
                        "ManifestName":"index",
                        "ProgramDateTimeIntervalSeconds":"0",
                        "IncludeIframeOnlyStream":"False"
                    }
                }
            ]
        }
    ]
}
```
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[檢視封裝組態詳細資訊](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-cfig-view.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [ListPackagingConfigurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/list-packaging-configurations.html)。

### `list-packaging-groups`
<a name="mediapackage-vod_ListPackagingGroups_cli_topic"></a>

以下程式碼範例顯示如何使用 `list-packaging-groups`。

**AWS CLI**  
**列出所有封裝群組**  
下列`list-packaging-groups`範例列出目前 AWS 帳戶中設定的所有封裝群組。  

```
aws mediapackage-vod list-packaging-groups
```
輸出：  

```
{
    "PackagingGroups": [
        {
            "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/Dash_widevine",
            "Id": "Dash_widevine"
        },
        {
            "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/Encrypted_HLS",
            "Id": "Encrypted_HLS"
        },
        {
            "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/Packaging_group_1",
            "Id": "Packaging_group_1"
        }
    ]
}
```
如需詳細資訊，請參閱《AWS Elemental MediaPackage 使用者指南》**中的[檢視封裝群組詳細資訊](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-group-view.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [ListPackagingGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/list-packaging-groups.html)。