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.
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.
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.
refer to Create Storage account with AWS
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:
HeadBucketListObjectsGetObject
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.
refer to Create Storage account with Azure
{
"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:
ReadList
Bucket Write Permissions Requirement
To be able to write into Azure Blob, assign these permissions:
AddCreateWrite