node.js の場合、以下のコードを使用してチェックポイントを設定してください。私の側ではうまく機能します。
const { EventProcessorHost, delay } = require("@azure/event-processor-host");
//your eventhub name
const path = "myeventhub";
//your azure storage connection string
const storageCS = "DefaultEndpointsProtocol=https;AccountName=xx;AccountKey=xx;EndpointSuffix=core.windows.net";
//your eventhub namespace connectionstring
const ehCS = "Endpoint=sb://xxx.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=xxx"
//your blob storage container name
const storageContainerName = "test6";
async function main() {
// Create the Event Processo Host
const eph = EventProcessorHost.createFromConnectionString(
EventProcessorHost.createHostName("my-host"),
storageCS,
storageContainerName,
ehCS,
{
eventHubPath: path
}
);
let count = 0;
// Message event handler
const onMessage = async (context/*PartitionContext*/, data /*EventData*/) => {
console.log(">>>>> Rx message from '%s': '%s'", context.partitionId, data.body);
count++;
return await context.checkpoint();
};
// Error event handler
const onError = (error) => {
console.log(">>>>> Received Error: %O", error);
};
// start the EPH
await eph.start(onMessage, onError);
// After some time let' say 2 minutes
await delay(120000);
// This will stop the EPH.
await eph.stop();
}
main().catch((err) => {
console.log(err);
});
チェックポイントが BLOB コンテナーに正しく設定されていることがわかります。