Skip to main content

Storage Providers

Axinom Encoding supports a variety of storage providers. You can achieve great flexibility by using different storage providers for acquisition and publishing. For example, you can download from Amazon S3 and publish to Azure Blob.

Mosaic Hosting Storage

Mosaic Hosting Service provides a built-in Cloud Storage that integrates seamlessly with the Encoding Service. Since Mosaic Storage is backed by Azure Storage Account, it uses the AzureBlob provider.

tip

Refer to Storage with Mosaic Hosting Service to enable storage and retrieve the required credentials (Storage Account Name and Key) from the Cloud Storage Details in the Admin Portal.

{
"Provider": "AzureBlob",
"UriPath": "https://<storage-account-name>.blob.core.windows.net/<container>/<folder-path>/",
"CredentialsName": "PLAINTEXT_STORAGE_ACCOUNT_NAME",
"CredentialsSecret": "ENCRYPTED_STORAGE_ACCOUNT_KEY",
"CredentialsProtection": "Encrypted"
}

Replace <storage-account-name> with the Storage Account Name, <container> with the target container (e.g. video-input for acquisition or video-output for publishing), and <folder-path> with the desired folder path within the container.

FTPS

Provides access to plain FTP and FTP/SSL servers.

warning

This provider does not support SFTP servers!

{
"Provider": "Ftps",
"UriPath": "ftpes://server.ftp.com/source/dir/",
"CredentialsName": "PLAINTEXT_USER",
"CredentialsSecret": "ENCRYPTED_PASSWORD",
"CredentialsProtection": "Encrypted"
}

A few notes to remember regarding FTP storage provider usage:

  • It does not yet support TLS 1.3 and is coming soon.
  • This implementation is URI scheme dependent, it affects the SSL mode.
    • If the "ftp://" scheme is specified, then SSL mode is set to None.
    • If the "ftpes://" scheme is specified, then SSL mode is set to Explicit.
    • Otherwise, by default the client uses the Implicit SSL mode.

Amazon S3

Provides access to the Amazon S3 bucket.

Providing access with AssumeRole API

{
"Provider": "AmazonS3",
"UriPath": "https://<your-bucket-name>.s3.<your-aws-region>.amazonaws.com/<input-folder-path>/",
"RoleArnToAssume": "arn:aws:iam::<your_aws_account_id>:role/<role-you-want-us-to-assume>",
"RoleSessionDurationInSeconds": 900
}

Providing access with credentials

{
"Provider": "AmazonS3",
"UriPath": "https://<your-bucket-name>.s3.<your-aws-region>.amazonaws.com/<input-folder-path>/",
"CredentialsName": "PLAINTEXT_AWS_ACCESS_KEY_ID",
"CredentialsSecret": "ENCRYPTED_AWS_SECRET_ACCESS_KEY",
"CredentialsProtection": "Encrypted"
}

Read Bucket Permissions Requirement

To download content from the S3 bucket, please assign proper permissions to access credentials. In particular:

  • HeadBucket
  • ListObjects
  • GetObject

Bucket Write Permissions Requirement

To be able to write into bucket, you need to have the PutObject permission.

S3-Compatible Storage

Provides access to an S3-compatible storage.

{
"Provider": "S3Compatible",
"ServiceUrl": "https://example.com",
"Bucket": "<your_bucket-name>",
"FolderPath": "<input-folder-path>",
"CredentialsName": "PLAINTEXT_USER",
"CredentialsSecret": "ENCRYPTED_PASSWORD",
"CredentialsProtection": "Encrypted"
}

Please note that instead of using the UriPath field, it is required that the ServiceUrl, Bucket and FolderPath fields (all three are required) are used to define the service.

PS. FolderPath must not be empty and it must not begin or end with a dash ("/").

Read Bucket Permissions Requirement

Same as with Amazon S3.

Bucket Write Permissions Requirement

Same as with Amazon S3.

Azure Blob Storage

Provides access to Azure Blob Storage.

{
"Provider": "AzureBlob",
"UriPath": "https://some-account.blob.core.windows.net/container/somefolder/",
"CredentialsName": "PLAINTEXT_STORAGE_ACCOUNT_NAME",
"CredentialsSecret": "ENCRYPTED_SHARED_KEY",
"CredentialsProtection": "Encrypted"
}

Read Bucket Permissions Requirement

To download content from Azure Blob Storage, please assign proper permissions to your account. In particular:

  • Read
  • List

Bucket Write Permissions Requirement

To be able to write into Azure Blob, assign these permissions:

  • Add
  • Create
  • Write

Was this page helpful?