Azure Durable Functions Verbose Logging App Insights - azure-application-insights

We have just started using an Azure Durable Orchestration Function which is linked to application insights.
The telemetry is filling up with logs we cannot seem to stop:
Time 16:51:03 Message funcname-applease: Starting lease renewal with
token xxxxxxxxxxxxxxxxxx Category DurableTask.AzureStorage
EventId 123 ProcessId 8964
Time 16:51:03 Message funcname-applease: Lease renewal with token
xxxxxxxxxxxxxxxxxx succeeded Category DurableTask.AzureStorage
EventId 124
We are getting 100s a minute and despite our Logging settings they are not stopping:
{
"version": "2.0",
"extensions": {
"serviceBus": {
"messageHandlerOptions": {
"maxConcurrentCalls": 1
}
}
},
"functionTimeout": "00:04:59",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"maxTelemetryItemsPerSecond": 20
}
},
"logLevel": {
"default": "Information",
"Function": "Information",
"Host.Results": "Information",
"Host.Aggregator": "Information",
"Host.Triggers.DurableTask": "Error",
"DurableTask.AzureStorage": "Error",
"DurableTask.Core": "Error"
}
}
}
These messages do not appear to have a LogLevel and despite setting all of these to none through to only error they still keep coming.
Does anyone know how to stop these logs?

This message is from azure function app instead of function level.
The log level is to control the function, so it can not control the function app.

Related

Login With PayPal scopes not working properly

I'm working on a e-Commerce platform where sellers can sell their services. The only payment gateway I'm using is PayPal, I need to get information about the seller's PayPal account like the email address or account ID to store it and then forward payments to their account when a customer buys something from them, I plan to do this with Login With Paypal.
When I click on the button to sign in and get redirected to http://sandbox.paypal.com/signin, I type my email address and password to obtain a code using openid profile email scopes, everything goes as intended, when I add the https://uri.paypal.com/services/paypalattributes value to the scopes string to get access specifically to the account verification status and PayPal account ID though, I receive an error saying the request couldn't be processed and to try again, therefore never hitting the callback URL containing the code that I need, no matter how many times I try again I get the same error.
Just in case, I'm using a Sandbox environment. This is my Next.js Login With PayPal button code.
<Script src="https://www.paypalobjects.com/js/external/api.js"
onReady={() => {
paypal.use( ['login'], function (login) {
login.render ({
"appid":"...",
"authend":"sandbox",
"scopes":"openid profile email
https://uri.paypal.com/services/paypalattributes",
"containerid":"lippButton",
"responseType":"code",
"locale":"en-us",
"buttonType":"LWP",
"buttonShape":"pill",
"buttonSize":"lg",
"fullPage":"true",
"returnurl":"http://127.0.0.1:3000/api/paypal/callback"
})
})
}}/>
I've also checked Account verification status and PayPal account ID (payer ID) scopes in my PayPal account settings.
DevTooling the request, this is what I receive:
"errors": [
{
"message": "Invalid request during get consent content",
"locations": [
{
"line": 3,
"column": 5
}
],
"path": [
"connect",
"getConsent"
],
"extensions": {
"name": "INVALID_REQUEST",
"details": []
}
}
],
"data": {
"connect": {
"getConsent": null,
"__typename": "ConnectQuery"
}
},
"extensions": {
"tracing": {
"version": 1,
"startTime": "2022-10-07T01:54:28.831Z",
"endTime": "2022-10-07T01:54:29.053Z",
"duration": 221889707,
"execution": {
"resolvers": [
{
"path": [
"connect"
],
"parentType": "Query",
"fieldName": "connect",
"returnType": "ConnectQuery",
"startOffset": 1755903,
"duration": 28116203
},
{
"path": [
"connect",
"getConsent"
],
"parentType": "ConnectQuery",
"fieldName": "getConsent",
"returnType": "ConsentEvaluationResponse",
"startOffset": 30085850,
"duration": 188656843
}
]
}
},
"correlationId": "..."
}
}
If an account or app in the PayPal Sandbox environment appears to be behaving in a way you can't find an explanation for, the simplest resolution is often to simply create a new sandbox account/app and verify whether the problem occurs there as well. If it doesn't, use the new one -- if it does, you have have ruled out the account/app itself as an issue and can focus on configuration/integration issues or a real potential problem to report.

Azure Data Factory Copy Data Error code 2054 Failed to decrypt sub-resource 'None' payload on cloud with error

I am trying to copy a csv file from data lake gen v2 to SQL db.
Preview data works on the source link.
But debug failed with error below. Cannot find any reference in the web.
Please advise.
Error code
2054
Troubleshooting guide
Failure type
User configuration issue
Details
Failed to decrypt sub-resource 'None' payload on cloud with error: Failed to decrypt sub-resource payload { "properties": { "annotations": [], "type": "AzureSqlDatabase", "connectVia": { "referenceName": "myintegrationRuntime", "type": "IntegrationRuntimeReference" }, "typeProperties": { "connectionString": "", "encryptedCredential": "" } }, "name": "AzureSqlDatabase1" } and error is: Cloud stored credentials cannot be found with retry, please check whether related resource had been deleted before. Value is: { "Version": "2017-11-30", "ProtectionMode": "Key", "SecretContentType": "Plaintext", "CredentialId": "CSHFPOC_97157fbc-4813-4e5f-8c2a-a6769bb0f56e" }, type is Plaintext and credentialId is CSHFPOC_97157fbc-4813-4e5f-8c2a-a6769bb0f56e.., status code: BadRequest.

.Net Core ILogger saves Critical as Error

In my test POST action am saving 4 different logs (Information, Warning, Error & Critical) into Windows EventLog.
I can see all four in Event viewer but one of them has wrong level. It is marker as 'Error' but it should be marked as 'critical'
Program.cs
return Host.CreateDefaultBuilder(args)
.ConfigureLogging(logger =>
{
logger.ClearProviders();
logger.AddEventLog(new EventLogSettings
{
SourceName = "Website API",
LogName = "Website API"
});
})...
appsettings.json
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"EventLog": {
"LogLevel": {
"Default": "Warning"
}
}
}
Controller
public async Task<IActionResult> TestEndPoint()
{
_logger.LogInformation("LogInformation");
_logger.LogWarning("LogWarning");
_logger.LogError("LogError");
_logger.LogCritical("LogCritical");
return Ok(null);
}
Application: REST API - .NET 5.0
How to log an Event log in the Critical level?
How to create CRITICAL events for Windows Event Viewer?
The critical log level in the EventLog is reserved for system/kernel stuff. There is no same-same mapping between EventLog's critical and .Net Core's critical, it's just mapped as error. It's unfortunate that they have the same name, but different meaning in these two contexts, which maybe confusing.

Dialogflow simulator not responding

I am testing a simple conversation from my dialogflow simulator using a fulfillment hosted in firebase functions.
And I am receiving the fulfillment response when triggered
But my simulator is showing this. Saying no response is received.
Please help
The complete RAW fulfillment response
{
"responseId": "99b660de-e2ca-4d8c-ace5-ef724fe5ee72",
"queryResult": {
"queryText": "male",
"parameters": {
"gender": "male"
},
"allRequiredParamsPresent": true,
"webhookPayload": {
"google": {
"richResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "Amazing"
}
}
]
},
"expectUserResponse": true,
"userStorage": "{\"data\":{}}"
}
},
"outputContexts": [
{
"name": "projects/assurance-purple/agent/sessions/bf891cbe-8642-eb61-ed7b-d6796adfab60/contexts/_actions_on_google",
"lifespanCount": 99,
"parameters": {
"data": "{}",
"gender.original": "male",
"gender": "male"
}
}
],
"intent": {
"name": "projects/assurance-purple/agent/intents/96b523a0-7a3a-4135-bdfc-d9d8ad16b661",
"displayName": "getGender"
},
"intentDetectionConfidence": 1,
"diagnosticInfo": {
"webhook_latency_ms": 45
},
"languageCode": "en"
},
"webhookStatus": {
"message": "Webhook execution successful"
}
}
My actions on google Testing debug tab
`
{
"response": "We're sorry, but something went wrong. Please try again.",
"expectUserResponse": false,
"conversationToken": "",
"audioResponse": "",
"visualResponse": {
"visualElementsList": [
{
"displayText": {
"content": "Sorry, this action is not available in simulation"
}
}
],
"suggestionsList": [],
"agentLogoUrl": ""
},
"clientError": 4,
"is3pResponse": false
}
`
You don't show the entire response (copying and pasting it as text in your question would have been better), but it looks like you're sending a response back for an Action, but trying to test it in Dialogflow's conversation tool.
The Actions on Google response is slightly different than the response that Dialogflow expects to handle the additional features that the Assistant supports. Because of this, you need to use the Actions on Google simulator when testing your agent.
The Dialogflow test is looking for some specific fields to show the response that are not included with the actions-on-google library, and it will not show anything that is in a Google RichResponse object.
To summarize:
If you are working with an Action, use the Actions on Google simulator.
If you are working with other Dialogflow integrations, you can use the test tool on the right in Dialogflow.
Update
The error you're indicating from the AoG Simulator suggests that you're trying to just issue a statement in the conversation and not starting the Action, or that the Action has quit. Make sure you're talking to the action by starting it with "talk to my test app" or whatever the name of your Action is.

Campaign measurement is not sent to Google Analytics account

I am following campaign measurement guide to do
https://developers.google.com/analytics/devguides/collection/android/v4/campaigns
Google Play Campaign Attribution
General Campaign & Traffic Source Attribution
For the Google Play Campaign Attribution, after adding the campaign service and receiver to the androidManifest.xml, i followed the testing guide.
https://developers.google.com/analytics/solutions/testing-play-campaigns
In the log successfully received the install referrer intent.
07-29 17:05:32.968 8333-8363/? D/GAv4: Received installation campaign: content=test_content, keyword=test_term, medium=test_medium, name=test_name, source=test_source
But in my google analytic account, Acquisition -> Sources -> All, nothing shows up. Can anyone have any idea what is the root cause?
I also implemented the hit screen analytic, this is working.
My google-services.json is below:
{
"project_info": {
"project_number": "123456788680",
"project_id": "test-app-project"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:12345678680:android:488edac1c6c2df62",
"android_client_info": {
"package_name": "com.example.test.analytic"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "xxxxxxxx_xxxxxxxxxxxxxxKoT0XEkMgOCUe0c"
}
],
"services": {
"analytics_service": {
"status": 2,
"analytics_property": {
"tracking_id": "UA-xxxxxxxx-2"
}
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 1
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:12345678680:android:6092a3d09b6b18d2",
"android_client_info": {
"package_name": "com.example.test"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "xxxxxxxx_xxxxxxxxxxxxxxKoT0XEkMgOCUe0c"
}
],
"services": {
"analytics_service": {
"status": 2,
"analytics_property": {
"tracking_id": "UA-xxxxxxxx-2"
}
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 1
}
}
}
],
"configuration_version": "1"
}
I modified the project name and the key to post here. In my actual project, i didn't modify anything. There are 2 clients with different package name, because i have 2 projects, one is the main entry app and another is the library. All both needs to send info the google analytic. But both in one application, so I set it to use the same analytic property when request configuration form google. Is that impact? I think it shouldn't.
Can anyone help me?
For me, the information was not sent before building the tracker for the first time.
After sending the broadcast I also only get:
D/GAv4: Received installation campaign: content=test_content, keyword=test_term, medium=test_medium, name=test_name, source=test_source
Then after sending my first own tracking information to Google Analytis, I get:
D/GAv4: Sending first hit to property: UA-63098830-1
D/GAv4: Found relevant installation campaign: content=test_content, keyword=test_term, medium=test_medium, name=test_name, source=test_source
D/GAv4: Sending installation campaign to: UA-63098830-1, content=test_content, keyword=test_term, medium=test_medium, name=test_name, source=test_source

Resources