

# Exemplos do MediaPackage VOD usando a AWS CLI
<a name="cli_mediapackage-vod_code_examples"></a>

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o MediaPackage VOD.

*Ações* são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

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

O código de exemplo a seguir mostra como usar `create-asset`.

**AWS CLI**  
**Para criar um ativo**  
O exemplo `create-asset` a seguir cria um ativo chamado `Chicken_Asset` na conta da AWS atual. O ativo ingere o arquivo `30sec_chicken.smil` no 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
```
Resultado:  

```
{
    "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"
        }
    ]
}
```
Para obter mais informações, consulte [Ingerir um ativo](https://docs.aws.amazon.com/mediapackage/latest/ug/asset-create.html) no *Guia do usuário do AWS Elemental MediaPackage*.  
+  Para ver detalhes da API, consulte [CreateAsset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/create-asset.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `create-packaging-configuration`.

**AWS CLI**  
**Para criar uma configuração de empacotamento**  
O exemplo `create-packaging-configuration` a seguir cria uma configuração de empacotamento chamada `new_hls` no grupo de pacotes chamado `hls_chicken`. Este exemplo usa um arquivo no disco chamado `hls_pc.json` para fornecer os detalhes.  

```
aws mediapackage-vod create-packaging-configuration \
    --id new_hls \
    --packaging-group-id hls_chicken \
    --hls-package file://hls_pc.json
```
Conteúdo de `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
}
```
Resultado:  

```
{
    "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"
                }
            }
        ]
    }
}
```
Para obter mais informações, consulte [Criar uma configuração de empacotamento](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-cfig-create.html) no *Guia do usuário do AWS Elemental MediaPackage.*  
+  Para ver detalhes da API, consulte [CreatePackagingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/create-packaging-configuration.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `create-packaging-group`.

**AWS CLI**  
**Para criar um grupo de empacotamento**  
O exemplo `create-packaging-group` a seguir lista todos os grupos de empacotamento configurados na conta da AWS atual.  

```
aws mediapackage-vod create-packaging-group \
    --id hls_chicken
```
Resultado:  

```
{
    "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/hls_chicken",
    "Id": "hls_chicken"
}
```
Para obter mais informações, consulte [Criar um grupo de empacotamento](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-group-create.html) no *Guia do usuário do AWS Elemental MediaPackage.*  
+  Para ver detalhes da API, consulte [CreatePackagingGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/create-packaging-group.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `delete-asset`.

**AWS CLI**  
**Para excluir um ativo**  
O exemplo `delete-asset` a seguir exclui o ativo chamado `30sec_chicken`.  

```
aws mediapackage-vod delete-asset \
    --id 30sec_chicken
```
Este comando não produz saída.  
Para obter mais informações, consulte [Excluir um ativo](https://docs.aws.amazon.com/mediapackage/latest/ug/asset-delete.html) no *Guia do usuário do AWS Elemental MediaPackage*.  
+  Para ver detalhes da API, consulte [DeleteAsset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/delete-asset.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `delete-packaging-configuration`.

**AWS CLI**  
**Para excluir uma configuração de empacotamento**  
O exemplo `delete-packaging-configuration` a seguir exclui a configuração de empacotamento chamada `CMAF`.  

```
aws mediapackage-vod delete-packaging-configuration \
    --id CMAF
```
Este comando não produz saída.  
Para obter mais informações, consulte [Excluir uma configuração de empacotamento](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-cfig-delete.html) no *Guia do usuário do AWS Elemental MediaPackage.*  
+  Para ver detalhes da API, consulte [DeletePackagingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/delete-packaging-configuration.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `delete-packaging-group`.

**AWS CLI**  
**Para excluir um grupo de empacotamento**  
O exemplo `delete-packaging-group` a seguir exclui o grupo de empacotamento chamado `Dash_widevine`.  

```
aws mediapackage-vod delete-packaging-group \
    --id Dash_widevine
```
Este comando não produz saída.  
Para obter mais informações, consulte [Excluir um grupo de empacotamento](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-group-delete.html) no *Guia do usuário do AWS Elemental MediaPackage.*  
+  Para ver detalhes da API, consulte [DeletePackagingGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/delete-packaging-group.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `describe-asset`.

**AWS CLI**  
**Para descrever um ativo**  
O exemplo `describe-asset` a seguir exibe todos os detalhes do ativo chamado `30sec_chicken`.  

```
aws mediapackage-vod describe-asset \
    --id 30sec_chicken
```
Resultado:  

```
{
    "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"
        }
    ]
}
```
Para obter mais informações, consulte [Visualizar detalhes do ativo](https://docs.aws.amazon.com/mediapackage/latest/ug/asset-view.html) no *Guia do usuário do AWS Elemental MediaPackage*.  
+  Para ver detalhes da API, consulte [DescribeAsset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/describe-asset.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `describe-packaging-configuration`.

**AWS CLI**  
**Para descrever uma configuração de empacotamento**  
O exemplo `describe-packaging-configuration` a seguir exibe todos os detalhes da configuração de empacotamento chamada `DASH`.  

```
aws mediapackage-vod describe-packaging-configuration \
    --id DASH
```
Resultado:  

```
{
    "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"
            }
        }
    ]
}
```
Para obter mais informações, consulte [Visualizar os detalhes de uma configuração de empacotamento](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-cfig-view.html) no *Guia do usuário do AWS Elemental MediaPackage.*  
+  Para ver detalhes da API, consulte [DescribePackagingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/describe-packaging-configuration.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `describe-packaging-group`.

**AWS CLI**  
**Para descrever um grupo de empacotamento**  
O exemplo `describe-packaging-group` a seguir exibe todos os detalhes do grupo de empacotamento chamado `Packaging_group_1`.  

```
aws mediapackage-vod describe-packaging-group \
    --id Packaging_group_1
```
Resultado:  

```
{
    "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/Packaging_group_1",
    "Id": "Packaging_group_1"
}
```
Para obter mais informações, consulte [Visualizar detalhes do grupo de empacotamento](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-group-view.html) no *Guia do usuário do AWS Elemental MediaPackage*.  
+  Para ver detalhes da API, consulte [DescribePackagingGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/describe-packaging-group.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `list-assets`.

**AWS CLI**  
**Para listar todos os ativos**  
O exemplo `list-assets` a seguir lista todos os ativos configurados na conta da AWS atual.  

```
aws mediapackage-vod list-assets
```
Resultado:  

```
{
    "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"
    ]
}
```
Para obter mais informações, consulte [Visualizar detalhes do ativo](https://docs.aws.amazon.com/mediapackage/latest/ug/asset-view.html) no *Guia do usuário do AWS Elemental MediaPackage*.  
+  Para ver detalhes da API, consulte [ListAssets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/list-assets.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `list-packaging-configurations`.

**AWS CLI**  
**Para listar todas as configurações de empacotamento**  
O exemplo `list-packaging-configurations` a seguir lista todas as configurações de empacotamento definidas no grupo chamado `Packaging_group_1`.  

```
aws mediapackage-vod list-packaging-configurations \
    --packaging-group-id Packaging_group_1
```
Resultado:  

```
{
    "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"
                    }
                }
            ]
        }
    ]
}
```
Para obter mais informações, consulte [Visualizar os detalhes de uma configuração de empacotamento](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-cfig-view.html) no *Guia do usuário do AWS Elemental MediaPackage.*  
+  Para ver detalhes da API, consulte [ListPackagingConfigurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/list-packaging-configurations.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `list-packaging-groups`.

**AWS CLI**  
**Para listar todos os grupos de empacotamento**  
O exemplo `list-packaging-groups` a seguir lista todos os grupos de empacotamento configurados na conta da AWS atual.  

```
aws mediapackage-vod list-packaging-groups
```
Resultado:  

```
{
    "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"
        }
    ]
}
```
Para obter mais informações, consulte [Visualizar detalhes do grupo de empacotamento](https://docs.aws.amazon.com/mediapackage/latest/ug/pkg-group-view.html) no *Guia do usuário do AWS Elemental MediaPackage*.  
+  Para ver detalhes da API, consulte [ListPackagingGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediapackage-vod/list-packaging-groups.html) na *Referência de comandos da AWS CLI*. 