Azure Functions
Learn about using Sentry with Azure Functions.
Sentry captures data by using an SDK within your application’s runtime. This means that you have to add @sentry/node
as a runtime dependency to your application:
Copied
npm install @sentry/node --save
Copied
npm install @sentry/node @sentry/profiling-node --save
To set up Sentry error logging for an Azure Function:
Copied
const Sentry = require("@sentry/node");
const { nodeProfilingIntegration } = require("@sentry/profiling-node");
Sentry.init({
dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
integrations: [
nodeProfilingIntegration(),
],
// Add Performance Monitoring by setting tracesSampleRate
// Set tracesSampleRate to 1.0 to capture 100% of transactions
// We recommend adjusting this value in production
tracesSampleRate: 1.0,
// Set sampling rate for profiling - this is relative to tracesSampleRate
profilesSampleRate: 1.0,
});
module.exports = async function (context, req) {
try {
await notExistFunction();
} catch (e) {
Sentry.withScope((scope) => {
scope.setSDKProcessingMetadata({ request: req });
Sentry.captureException(e);
});
await Sentry.flush(2000);
}
context.res = {
status: 200,
body: "Hello from Azure Cloud Function!",
};
};
You can obtain the DSN using your Sentry account from your organization's Settings > Projects > Client Keys (DSN) in the Sentry web UI.
Note: You need to call both captureException
and flush
for captured events to be successfully delivered to Sentry.
Check out Sentry's Azure sample apps for detailed examples. Refer to the JavaScript docs for more configuration options.
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").