довольно плохо знакомы с лазурью, может кто-нибудь помочь, руководствуясь тем, как создать токен SAS в c.
Я видел, что коды доступны в C # и Java, однако, не в c. SDK недоступен и должен использовать прямое соединение через MQTT.
Я нашел это в azure_shared_uitility
sas_key_name = STRING_construct(EH_KEY_NAME);
/* Construct a SAS token */
sas_key_name = STRING_construct(EH_KEY_NAME);
/* unfortunately SASToken wants an encoded key - this should be fixed at a later time */
buffer = BUFFER_create((unsigned char*) EH_KEY, strlen(EH_KEY));
sas_key_value = Base64_Encoder(buffer);
BUFFER_delete(buffer);
resource_uri = STRING_construct(
"sb://" EH_HOST "/" EH_NAME "/publishers/" EH_PUBLISHER);
encoded_resource_uri = URL_EncodeString(STRING_c_str(resource_uri));
time_t currentTime = time(NULL);
size_t expiry_time = (size_t)(difftime(currentTime, 0) + 3600);
sas_token = SASToken_Create(sas_key_value, encoded_resource_uri, sas_key_name, expiry_time);
, однако вывод не в правильном формате: SharedAccessSignature sig = {signature-string} & se = {expiry} & skn = {policyName} & sr = {URL-encoded-resourceURI}
t? z / s =? SzUxZmRJMTZPd3RPdzBLeUN2c3hwcHlXNHZ3SVJzWGlhOX * * 0 * * 00 *000 * * 00 *000 * * 00 *000 * * 00 * * 00 * 00 * 00 * 00 * .00 * .00 * 00 * 00 * 00 * 00 * 00. 1012 *