

# AWS CLI を使用した MediaPackage VOD の例
<a name="cli_mediapackage-vod_code_examples"></a>

次のコード例は、MediaPackage VOD で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

*アクション*はより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

**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 ユーザーガイド*」の「[Viewing Packaging Configuration Details](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 ユーザーガイド*」の「[Viewing Packaging Group Details](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 ユーザーガイド*」の「[Viewing Packaging Configuration Details](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 ユーザーガイド*」の「[Viewing Packaging Group Details](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)」を参照してください。