Hi,
I've achieved this by overriding MinioBlobNameCalculator, MinioBlobProvider and BlobContainerFactory. It should not be that hard. I think abp should support this functionality with an easy way.
Also, I think GetContainerName function of MinioBlobProvider has a bug. Configuration does not allow empty or null bucket names but that function checks for that and never uses true condition of comparison.
// always false because empty or null values are not allowed, application throws exception while starting up return configuration.BucketName.IsNullOrWhiteSpace() ? args.ContainerName : configuration.BucketName;
Hi,
I do not need to set it from a setting or a constant value. I want to set it according to a property of an entity. It is dynamic and changes on every user request to the application service. For example;
SaveBlob(1) -> Find record with id -> Read creation date -> 2020-01-05 -> Save blob to bucket "bucket-2020-01-05" SaveBlob(35) -> Find record with id -> Read creation date -> 2010-11-22 -> Save blob to bucket "bucket-2010-11-22"
Thanks for your attention.
@liangshiwei, your approach should work but there is one missing point for my case. Date parameter may not be today. I need to set it explicitly at runtime.
Hi,
I want to create buckets dynamically at runtime (and named blob containers also) depends on incoming data (for example I want to store data with daily bucket names. If a record is created on 29-12-2020, my bucket name should be bucket-29-12-2020). But Abp supports blob container configuration while configuring services at startup. How can I achieve this functionality ?
Thanks for your help.
Hi again liangshiwei;
I've found the point. IdentityServer's Sha256() result and the result obtained from System.Security.Cryptography.SHA256 class is different. I was confused because of this situation. I'm closing the topic.
Thanks for your help.
Nope it is not Sha256. I've checked this already.
Thanks for your attention but I think you've misunderstood something. Angular app sends "1q2w3e*" as client secret but it is defined "E5Xd4yMqjP5kjWFKrYgySBju6JVfCzMyFp7n2QmMrME=" on the database (also in the IdentityServerDataSeedContributor class). I think it is an encoded version of "1q2w3e*. I want to used another value instead of "1q2w3e*". So I need to encode the value that I want to use but I do not know how Abp encodes the secret. Which encoding algorithm is used while encoding "1q2w3e*" to "E5Xd4yMqjP5kjWFKrYgySBju6JVfCzMyFp7n2QmMrME=" ? I need this info.
Thanks.
Hi,
I need to change identity server client secrets. It's defined as E5Xd4yMqjP5kjWFKrYgySBju6JVfCzMyFp7n2QmMrME= in seeder class as static. How "1q2w3e* " is encoded to this value?
Thanks for your help.
Hi,
I've added Abp's Quartz module to use Quartz as a background service. And I'm using default sql persistence options given in the abp's quartz documentation. But an error keeps appearing while initializing the application. I guess a background job from abp's identity server module causes the error (Application runs fine without sql persistence). Thanks for your help.