fiware の hdfs に対してプログラムで REST API を実行するために C# を使用して .net アプリケーションを作成していますが、http POST 操作では 401 (アクセスが拒否されました) で失敗します。単純な GET 操作では機能しますが、認証の方法がわかりません。仕様から、SPEGNA と委任された認証トークンは 2 つのオプションのようですが、プログラムでこれを行うにはどうすればよいですか? 私は自分のユーザー名とパスワードしか持っていません。RestSharp ライブラリを使用して、残りの操作を簡単にしています。
このコードは機能します
var client = new RestClient("http://cosmos.lab.fi-ware.org:14000");
request = new RestRequest("webhdfs/v1/user/<userID>");
request.AddParameter("op", "LISTSTATUS");
request.AddParameter("user.name", "<userID>");
IRestResponse response = client.Execute(request);
var content = response.Content; // raw content as string
このコードは http 401 で失敗します
var client = new RestClient("http://cosmos.lab.fi-ware.org:14000");
var request = new RestRequest("webhdfs/v1/user/<userID>/structured_data123.txt",Method.PUT);
request.AddParameter("op", "CREATE");
request.AddParameter("user.name", "<userID>");
IRestResponse response = client.Execute(request);
HTTP ステータス 401 - org.apache.hadoop.security.authentication.client.AuthenticationException: 匿名リクエストは許可されていません
考え?アイデア?前もって感謝します!