using
Microsoft.Azure;
using
Microsoft.WindowsAzure.Storage;
using
Microsoft.WindowsAzure.Storage.Blob;
using
Microsoft.WindowsAzure.Storage.File;
class
MAKCloudStorageFileManager
{
#File
#define.delimiterField(',')
public
static
void
main(Args _args)
{
#OCCRetryCount
System.IO.MemoryStream memoryStream;
System.String storageAccountName;
System.String keyValue;
CloudStorageAccount storageAccount;
CloudFileClient fileClient;
CloudFileShare fileShare;
CloudFileDirectory fileDirectoryRoot;
CloudFileDirectory fileDirectory;
CloudFile file;
TextStreamIo textStreamIo;
VendTable vendTable;
VATNum vendABN;
Counter counter;
container rec;
storageAccountName =
"AzureStorageAccountName"
;
keyValue =
"KeyValueString"
;
var
storageCredentials =
new
Microsoft.WindowsAzure.Storage.Auth.StorageCredentials(storageAccountName, keyValue);
storageAccount =
new
Microsoft.WindowsAzure.Storage.CloudStorageAccount(storageCredentials,
true
);
fileClient = storageAccount.CreateCloudFileClient();
fileShare = fileClient.GetShareReference(
'AzureFileShareName'
);
if
(fileShare.Exists(
null
,
null
))
{
fileDirectoryRoot = fileShare.GetRootDirectoryReference();
fileDirectory = fileDirectoryRoot.GetDirectoryReference(
"Folder/Subfolder"
);
if
(fileDirectory.Exists(
null
,
null
))
{
file = fileDirectory.GetFileReference(
'File.csv'
);
if
(file.Exists(
null
,
null
))
{
memoryStream =
new
System.IO.MemoryStream();
file.DownloadToStream(memoryStream,
null
,
null
,
null
);
textStreamIo = TextStreamIo::constructForRead(memoryStream);
try
{
if
(textStreamIo)
{
if
(textStreamIo.status())
{
throw
Global::error(
"@SYS52680"
);
}
textStreamIo.inFieldDelimiter(#delimiterField);
textStreamIo.inRecordDelimiter(#delimiterCRLF);
counter = 0;
while
(!textStreamIo.status())
{
rec = textStreamIo.read();
if
(conLen(rec))
{
vendABN = conPeek(rec, 1);
info(strFmt(
"%1"
, vendABN));
}
}
}
}
catch
(Exception::Error)
{
error(
"An error occured. Please contact your system administrator."
);
}
}
}
}
}
}
No comments:
Post a Comment