Не удалось получить Amazon S3 GetObjectMetadata (основное соединение было закрыто)? - PullRequest
1 голос
/ 06 августа 2010

Я использую Amazon WS SDK для .net и пытаюсь получить информацию S3ObjectMetaData, а взамен полученное исключение ниже.Похоже, что соединение AmazonS3Client закрыто или истекло время ожидания, я не уверен в причине.

Как я могу исправить эту ошибку.Можно ли как-нибудь проверить, не является ли S3Client более допустимым и нужно ли воссоздать его экземпляр?

С уважением.

Stack Trace: System.Web.HttpUnhandledException: исключение типа 'System.Web.HttpUnhandledException 'был брошен.---> System.Net.WebException: основное соединение было закрыто: при отправке произошла непредвиденная ошибка.---> System.IO.IOException: невозможно прочитать данные из транспортного соединения: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, поскольку подключенный хост не смог ответить.---> System.Net.Sockets.SocketException: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через определенный промежуток времени, или не удалось установить соединение, поскольку подключенный хост не смог ответить на System.Net.Sockets.Socket.Прием (буфер Byte [], смещение Int32, размер Int32, SocketFlags socketFlags) в System.Net.Sockets.NetworkStream.Read (буфер Byte [], смещение Int32, размер Int32) --- Конец трассировки стека внутренней исключительной ситуации ---в System.Net.Sockets.NetworkStream.Read (буфер Byte [], смещение Int32, размер Int32) в System.Net.FixedSizeReader.ReadPacket (буфер Byte [], смещение Int32, число Int32) в System.Net.Security.SslState.StartReceiveBlob (буфер Byte [], AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.CheckCompletionBeforeNextReceive (сообщение ProtocolToken, AsyncProtocolRequest asyncRequest) в System.estest.SecRevice.Secsec.Security.SecureSecrentState.в System.Net.Security.SslState.ForceAuthentication (Boolean receiveFirst, буфер Byte [], AsyncProtocolRequest asyncRequest) в System.Net.Security.SslState.ProcessAuthentication (LazyAsyncResult lazyResult) в System.Net.TlsStream.CallProcessAuthentication (состояние объекта) объекта-объекта.) в System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup (код TryCode, CleanupCode backoutCode, Object userData) в System.Threading.ExecutionContext.RunInternal (вызов ExecutionContext, Обратный вызов ContextCallback, состояние объекта) в System.Net.TlsStream.ProcessAuthentication (результат LazyAsyncResult) в System.Net.TlsStream.Write (буфер Byte [], смещение Int32, размер Int32) в System.Net.PooledStream.Write (Byte [] буфер, смещение Int32, размер Int32) в System.Net.ConnectStream.WriteHeaders (Boolean async) --- Конец внутренней трассировки стека исключений --- на Amazon.S3.AmazonS3Client.ProcessRequestError (запрос HttpWebRequest, WebException we, HttpWebResponse errorResponse, String requestAddr, WebHeaderCollection & respHdrs, тип t) в Amazon.S3.AmazonS3Client.Invoke [T] (S3Request1007 *

1 Ответ

1 голос
/ 22 февраля 2011

Используете ли вы https, и у вашего имени корзины есть '.' в этом?

Попробуйте отключить HTTPS:

c.CommunicationProtocol = Protocol.HTTP; using (client = Amazon.AWSClientFactory.CreateAmazonS3Client (accessKeyID, secretAccessKeyID, c))

Или, если вы хотите сохранить HTTPS, переделайте ваше ведро без '.' во имя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...