Я предполагаю, что это фиксированный список. Самый простой способ был бы с провайдером:
public class MyProvider : IProvider
{
public object Create(IContext context)
{
return new Dictionary<string, IMyInterface>{
{"alpha", context.Kernel.Get<ImpClassOne>()},
{"beta", context.Kernel.Get<ImplClassTwo>()}
}
}
public Type Type
{
get { return typeof(IDictionary<string, IMyInterface>); }
}
}
Вы можете зарегистрировать провайдера в своем ядре, например:
kernel.Bind<IDictionary<string, IMyInterface>>().ToProvider<MyProvider>();
, а затем [Inject] для свойства будет использовать провайдер для создания словаря.
Взгляните на io.BytesIO
. Это позволяет вам оборачивать байтовые массивы в поток, который вы можете передать в minio.
Например:
import io
from minio import Minio
value = "Some text I want to upload"
value_as_bytes = value.encode('utf-8')
value_as_a_stream = io.BytesIO(value_as_bytes)
client = Minio("my-url-here", ...) # Edit this bit to connect to your Minio server
client.put_object("my_bucket", "my_key", value_as_a_stream , file_size=len(value_as_bytes))