Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For at NAS2 skal kunne modtage adviseringer på et Topic skal dette oprettes i Kafka og i databasen. For at give tilladelse til at der kan oprettes abonnementer og afhentes adviseringer på et Topic, skal der desuden  oprettes et Topic Access i databasen. 

Opret Topic

Først oprettes Kafka Topic via følgende kommando:

...

Code Block
languagesql
INSERT INTO TopicMapping
	(topic, internal_topic)
VALUES
	('http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard', 'dk.nsp.bo.nas.fmk.MedicineCard');

...

Opret Topic

...

Access

Topic access oprettes med en identifier, der angiver adgangen til et specifikt topic. Identifier kan indeholde 'ALL', et cvr-nummer på formen 'CVR:XXXXXXXX', eller et CVR-RID, CVR-UID eller CVR-FID på formen: 'CVR:XXXXXXXX-XID:XXXXXXXX'.
Eksempler:

  • 'CVR:46837428'
  • 'CVR:46837428-FID:92421325'

Topic Access oprettes i databasen på følgende måde: 

Code Block
languagesql
INSERT INTO topic_access
	(topic, identifier, comment)
VALUES
	('http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard', 'ALL', 'SDS-4393: topic access oprettet');

Lukke for et Topic

For at lukke for nye adviseringer til et Topic opdateres rækken i "TopicMapping" på følgende måde:

Code Block
languagesql
UPDATE TopicMapping SET active = false where topic ="http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard";

Slette et Topic

For at slette et topic bør det først være inaktivt i en periode således at der ikke kan afleveres nye data og modtagere kan nå at afhente alle deres adviseringer. Derefter skal nedenstående udføres. 

Nedenstående sletter topic fra NAS databasen. 

Code Block
languagesql
delete from TopicMapping where topic = 'http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard';

Nedenstående sletter topic i kafka.

Code Block
bin/kafka-topics.sh --delete --bootstrap-server kafka-host:port --topic dk.nsp.nas.fmk.MedicineCard

Ændre Topic Access

Hvis der skal ændres på hvem, der har lov til at tilgå et topic, skal det opdates i Topic Access i databasen. 

Tilføj en adgang til et Topic

Der kan være flere rækker i databasen med adgange på cvr eller cvr-Xid. For at give en ny tilladelse oprettes et nyt Topic Access på følgende måde: 

Code Block
languagesql
INSERT INTO topic_access
	(topic, identifier, comment)
VALUES
	('http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard', 'CVR:46837428', 'SDS-4393: ny tilladelse oprettet');

 Ændre tilladelse fra 'ALL' til cvr eller cvr-Xid

Hvis et Topic ikke længere skal være tilgængeligt for alle, er det vigtigt at Topic Access med identifier 'ALL' ikke længere findes i databasen. Dette ændres For at lukke for nye adviseringer til et Topic opdateres rækken i "TopicMapping" på følgende måde:

Code Block
languagesql
UPDATE TopicMappingtopic_access 
SET active = false where identifier = 'CVR:46837428', comment = 'SDS-4393: Topic Access indskrænket' 
WHERE topic =" 'http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard";

Slette et Topic

For at slette et topic bør det først være inaktivt i en periode således at der ikke kan afleveres nye data og modtagere kan nå at afhente alle deres adviseringer. Derefter skal nedenstående udføres. 

.schema/2012/06/01:MedicineCard';

Slette en adgang til et Topic

Hvis en adgang til et Topic skal slettes, gøres det på følgende måde:Nedenstående sletter topic fra NAS databasen. 

Code Block
languagesql
deleteDELETE fromFROM TopicMapping wheretopic_access 
WHERE topic = 'http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard';

Nedenstående sletter topic i kafka.

Code Block
bin/kafka-topics.sh --delete --bootstrap-server kafka-host:port --topic dk.nsp.nas.fmk.MedicineCard
AND identifier = 'CVR:46837428';

Udvide antallet af partitioner

...