SAS Token Error IN Xamarin Studio IMAGE403 Аутентификация Ошибки при доступе Windows Azure Storage Таблица В Xamarin
Я пытался использовать Xamarin студию в VS2k15 для андроид базы данных приложения development.The я использую это лазурная таблица хранения.
поэтому для использования azure storage table в xamarin вам нужна SAS (подпись общего доступа) вместо ключа доступа.
Я сгенерировал токен SAS для хранилища таблиц, но это исключение (как показано на рисунке) выбрано вместо вставки данных.
HTTP 403 означает, что соединение работает и принимает запрос, но он терпит неудачу в выполнении работы.
Так что, пожалуйста, помогите мне. P.S. Значок sas правильно сгенерирован (не может использоваться по соображениям безопасности).
моя основная деятельность .cs
using Microsoft.WindowsAzure.Storage;
использованием Microsoft.WindowsAzure.Storage.Table;
имен App6 { [Деятельность (Ярлык = "Docapp", MainLauncher = правда, Icon = "@ вытяжке/значок")] класс MainActivity общественности: активность {
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button>(Resource.Id.MyButton);
button.Click += async delegate
{
appfix temp = new appfix("public", "1001", "2123212", "djnsjd", DateTime.Today, DateTime.UtcNow, "snjdn", 1233, "JDdjvn", "dsjd", 1212, 0);
string d = await insert(temp);
TextView tv = FindViewById<TextView>(Resource.Id.textView1);
tv.Text = d;
};
}
private async Task<string> insert(appfix temp)
{
string sas = "https://supapp.table.core.windows.net/request?sv=2015-04-05&tn=request&sig=FlXvYraZKJIz6YQaRpzVBPORPLsyRKMZHQiAVBPkYP0%3D&spr=http%2Chttp&se=2016-04-01T15%3A44%3A49Z&sp=raud";
string dec;
try
{
// CloudStorageAccount storageAccount = CloudStorageAccount.Parse(key);
// CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
CloudTable table = new CloudTable(new Uri(sas));
//tableClient.GetTableReference(tableName);
TableOperation insertEntity = TableOperation.InsertOrReplace(temp);
await table.ExecuteAsync(insertEntity);
dec = "DONE";
}
catch(Exception e)
{
dec = e.ToString();
}
return dec;
}
мой appfix класс
using Microsoft.WindowsAzure.Storage;
using System.Threading.Tasks;
имен App6 { класс appfix общественности: TableEntity { общественная строка app_no {получить; задавать; } public string app_with {get; задавать; } public DateTime app_date {get; задавать; } public DateTime app_time {get; задавать; } public string patient_name {get; задавать; } public int ser_no {get; задавать; } public string patient_rank {get; задавать; } public string patient_aliment {get; задавать; } public int room_no {get; задавать; } public int app_status {get; задавать; }
public appfix()
{
}
public appfix(string partionkey,string rowkey,string App_no, string App_with, DateTime App_date, DateTime App_time, string Patient_name, int Ser_no, string Patient_rank, string Patient_aliment, int Room_no, int App_status)
{
this.PartitionKey = partionkey;
this.RowKey = rowkey;
this.app_no = App_no;
this.app_with = App_with;
this.app_date = App_date;
this.app_time = App_time;
this.patient_name = Patient_name;
this.ser_no = Ser_no;
this.patient_rank = Patient_rank;
this.patient_aliment = Patient_aliment;
this.room_no = Room_no;
this.app_status = App_status;
}
}
}
мой SAS Токен
https://supapp.table.core.windows.net/request?sv=2015-04-05&tn=request&sig=FlXvYraZKJIz6YQaRpzVBPORPLsyRKMZHQiAVBPkYP0%3D&spr=http%2Chttp&se=2016-04-01T15%3A44%3A49Z&sp=raud
Как вы создавали токен SAS для таблицы? Вы можете использовать токен SAS ... просто замените имя учетной записи и имя таблицы другими значениями. –
Я сгенерировал SAS TOKEN из лазурной силовой решетки. $ Контекст = New-AzureStorageContext -StorageAccountName "хуг" -StorageAccountKey "XYZ" запрос -Context $ контекст Get-AzureStorageTable $ в настоящее время = Get-Date New-AzureStorageTableSASToken -Name запрос -Permission Radu -ExpiryTime $ now.AddDays (1,0) -Context $ context -FullUri, вот как я создал свой токен SAS. – Sam
Благодарим вас за обмен информацией. Я попытался создать токен SAS для таблицы с использованием кода PowerShell, который вы использовали выше, и с помощью этого я смог успешно выполнять операции. 2 вещи, которые я хочу вам проверить: 1) ключ учетной записи, который вы использовали для создания токена SAS, и 2) время на устройстве. Оба они могут вызвать ошибку 403. –