Both Azure Storage and Amazon S3 require a couple of security parameters and repository name in order to upload or download a file. The data controller configurations of both adapters require explicit definition of these parameters.
Let’s consider the configuration of an Azure Blob Adapter.
Field: Picture Storage-System: Azure Account: northwindproductpictures Container: pics Key: e2Wl668b6fEGauS6cOTAHaj7Ut6QfwKdbGY4Vd8yngz40y2f54M5EfZtSNNHYoXW7i7+kZAfFJrg== Path-Template: Products/{ProductID}-{PictureFileName} |
The application framework allows providing default values for Account, Container, and Key.
Start the app generator. Select your project and click Develop. The project will be opened in Visual Studio. In the Solution Explorer, right-click on ~\App_Code\Data, and press Add | Add New Item…
Select Class from the list, specify a name, and press OK to add the new file.
Replace the code base with the following. Use your own key instead of the highlighted text.
C#:
using System;
namespace MyCompany.Data
{
public partial class AzureBlobAdapter
{
public override string Key
{
get
{
return "ENTER KEY HERE";
}
}
}
}
Visual Basic:
Imports Microsoft.VisualBasic
Namespace MyCompany.Data
Partial Public Class AzureBlobAdapter
Public Overrides Property Key As String
Get
Return "ENTER KEY HERE"
End Get
Set(value As String)
MyBase.Key = value
End Set
End Property
End Class
End Namespace
Save the file, and activate the Project Designer. In the Project Explorer, switch to the Controllers tab and double-click on Products. Change the Blob Adapter Configuration as shown below.
Field: Picture
Storage-System: Azure
Account: northwindproductpictures
Container: pics
Path-Template: Products/{ProductID}-{PictureFileName}
|
The application framework will now use the key explicitly returned by the AzureBlobAdapter.Key property.
The Account and Container properties may also be overridden in a similar fashion to further simplify the adapter configuration. Multiple virtual binary fields may share the same Account, Container, and Key. The implementation of the properties may optionally read values from the database depending on the user identity, role, or other conditions.
The Amazon S3 Adapter allows overriding properties AccessKeyID, SecretAccessKey, and Bucket.