Looking for anyone who has successfully connected to a private S3 bucket from Web 8 using the external content library connection.
I am able to connect to a public bucket successfully. However, when I try to connect to a private bucket, I receive the following response from the endpoint in aws when I paste the <FullBucketUrl>
from the ecl.xml
config in my browser.
<Error>
<Code>PermanentRedirect</Code>
<Message>
The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
</Message>
<Bucket>Private-Bucket</Bucket>
<Endpoint>s3.amazonaws.com</Endpoint>
<RequestId>68D6A3E11776FCC1</RequestId>
<HostId>b24iR0OcgTWX7+JaLVhZfz22KI8QK5Gh4qWXAgf7GmFyDG64TwPY5ELSgMcrwnefeLfSBJCmrgQ=</HostId>
</Error>
This is from my public bucket config that is working correctly.
<FullBucketUrl xmlns="http://www.sdltridion.com/S3EclProvider/Configuration">https://ecl-s3-test.s3.us-east-2.amazonaws.com/</FullBucketUrl>
Yes, I am using correct S3AccessId
, S3SecretKey
, S3BucketName
, from AWS.
So I guess my question is, what is the <FullBucketUrl>
I should be using to connect to private S3 bucket from ecl.xml
and/or "other" credentials I need to pass to access a list of items inside the bucket, considering I am getting the PermanentRedirect
on all <FullBucketUrl>
below
I have tried these so far, with no luck.
<FullBucketUrl xmlns="http://www.sdltridion.com/S3EclProvider/Configuration">https://s3-us-west-2.amazonaws.com/name-of-bucket/</FullBucketUrl>
<FullBucketUrl xmlns="http://www.sdltridion.com/S3EclProvider/Configuration">https://name-of-bucket.s3-us-west-2.amazonaws.com/</FullBucketUrl>
<FullBucketUrl xmlns="http://www.sdltridion.com/S3EclProvider/Configuration">http://name-of-bucket.s3.amazonaws.com/</FullBucketUrl>
<FullBucketUrl xmlns="http://www.sdltridion.com/S3EclProvider/Configuration">https://s3.us-west-2.amazonaws.com/</FullBucketUrl>
<FullBucketUrl xmlns="http://www.sdltridion.com/S3EclProvider/Configuration">https://aws.amazon.com/s3/</FullBucketUrl>
<FullBucketUrl xmlns="http://www.sdltridion.com/S3EclProvider/Configuration">https://autoscaling.us-west-2.amazonaws.com/</FullBucketUrl>
Stacktrace (which is what I would expect considering the above S3 error).
2017-07-24 12:46:26,813 [4] ERROR UI.Model -
System.Exception: Unable to get the list of items ---> System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Exception has been thrown by the target of an invocation.
Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Tridion.ExternalContentLibrary.Service.Client.ISessionAwareEclService.GetList(String parentItemUri, Int32 pageIndex, EclItemTypes itemTypes, IEnumerable`1 basedOnSchema)
at Tridion.ExternalContentLibrary.UI.Model.Services.GeneralImpl.GetList(String id, Int32 pageIndex, Filter filter, Int32 columns)
--- End of inner exception stack trace ---
at Tridion.ExternalContentLibrary.UI.Model.Services.GeneralImpl.GetList(String id, Int32 pageIndex, Filter filter, Int32 columns)
at Tridion.ExternalContentLibrary.UI.Model.Services.General.GetList(String id, Int32 pageIndex, Filter filter, Int32 columns)
at SyncInvokeGetList(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Tridion.Web.UI.Core.Extensibility.DataExtenderOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
2017-07-24 12:46:29,767 [4] DEBUG UI.DataExtenders - Process response for command 'GetListActivityInstances' id=''
2017-07-24 12:46:29,767 [4] DEBUG UI.DataExtenders - Updating element 'tcm:ListActivityInstances'
2017-07-24 12:46:30,767 [4] DEBUG UI.DataExtenders - Process response for command 'GetListActivityInstances' id=''
2017-07-24 12:46:30,767 [4] DEBUG UI.DataExtenders - Updating element 'tcm:ListActivityInstances'