AWS Lambda - Failed to initialize the license

Hi there

I am new to NServiceBus and my team and I are creating a POC for a new system with distributed messaging using NServiceBus and AWS.
We have successfully created Endpoints for some applications which are able to communicate together and send events out and receive them.
When we try to use NServiceBus for our Lambda Function that triggers on S3:Put events for some preprossessing before sending it to further handling.
We have created a AwsLambdaSQSEndpoint in our function

static readonly AwsLambdaSQSEndpoint serverlessEndpoint = new AwsLambdaSQSEndpoint(context =>
{
    var endpointConfiguration = new AwsLambdaSQSEndpointConfiguration("ServerlessEndpointReceiver");
    endpointConfiguration.UseSerialization<SystemJsonSerializer>();
    endpointConfiguration.AdvancedConfiguration.SendOnly();
    return endpointConfiguration;
});

But when we activate the function over in AWS in the cloud, I get a

2024-07-16T10:26:33.819Z	d896aaa5-f168-49e8-8943-ce5d8ff2f59f	NServiceBus.Features.LicenseReminder. Fatal. Failed to initialize the license. Exception: System.IO.IOException: Read-only file system : '/home/sbx_user1051'
at System.IO.FileSystem.CreateParentsAndDirectory(String fullPath, UnixFileMode unixCreateMode)
at System.IO.FileSystem.CreateDirectory(String fullPath, UnixFileMode unixCreateMode)
at System.IO.Directory.CreateDirectory(String path)
at Particular.Licensing.TrialStartDateStore.GetTrialStartDate() in /_1/particular.licensing.sources/6.0.0/contentFiles/cs/net8.0/Particular.Licensing/TrialStartDateStore.cs:line 26
at Particular.Licensing.ActiveLicense.Find(String applicationName, LicenseSource[] licenseSources) in /_1/particular.licensing.sources/6.0.0/contentFiles/cs/net8.0/Particular.Licensing/FindActiveLicense/ActiveLicense.cs:line 56
at NServiceBus.LicenseManager.InitializeLicense(String licenseText, String licenseFilePath) in /_/src/NServiceBus.Core/Licensing/LicenseManager.cs:line 21
at NServiceBus.Features.LicenseReminder.Setup(FeatureConfigurationContext context) in /_/src/NServiceBus.Core/Licensing/LicenseReminder.cs:line 22
END RequestId: d896aaa5-f168-49e8-8943-ce5d8ff2f59f

Which do make sense, since the Lambda is serverless and thus readonly but I am unsure on how to proceed from here.
I can see that the other services fallback to a trial license, but this does not seem to work for the Lambda.
If we need a developer license how do we get one?

Hi @Jakmor,

Welcome to the Particular forum :).

The exception you see is exactly due to the behavior you described - the endpoint does not detect a valid license, tries to generate a new trial one, and fails when storing it on the local drive.

In the AWS Lambda hosting environment, licenses should be provided via NSERVICEBUS_LICENSE environment variable. Please have a look at the AWS Lambda documentation page for more details.

The easiest way to get a developer license, which I would recommend, is to send an email to support@particular.net. Once I get your email I will send you all the necessary details.

Cheers,
Tomek

1 Like

Thank you so much, I will send that email for the developers license :smile: