text:
@azure/identity

@azure/identity:
1.1.0:
@azure/keyVault:
4.1.0:
Ubuntu 20.04:
[ ] nodejs

14.7.0:

[ ] browser

chrome/latest:

[ ] typescript

version:

Is the bug related to documentation in

[*] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
Try to access Azure key vault using Azure CLI identity, but failed. Before this when using preview version, it worked. Tried rollback to use preview version, no long working anymore.
Using environment variables works fine.
When application deployed to Azure and using managed identity, works fine.
Error log
azure:identity:info EnvironmentCredential => Found the following environment variables:
azure:core-http:info ServiceClient: using custom request policies
azure:core-http:info ServiceClient: using custom request policies
azure:core-http:info ServiceClient: using custom request policies
azure:keyvault-secrets:info Request: {
"streamResponseBody": false,
"url": "https://kv-csosadev.vault.azure.net/secrets/dbUsername-dev/?api-version=7.1",
"method": "GET",
"headers": {
"_headersMap": {
"content-type": "application/json; charset=utf-8",
"user-agent": "azsdk-js-keyvault-secrets/4.1.0 core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)",
"x-ms-client-request-id": "620533d8-470a-48d6-b323-132640bd6e9b"
}
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "620533d8-470a-48d6-b323-132640bd6e9b"
}
azure:keyvault-secrets:info Request: {
"streamResponseBody": false,
"url": "https://kv-csosadev.vault.azure.net/secrets/dbPassword-dev/?api-version=7.1",
"method": "GET",
"headers": {
"_headersMap": {
"content-type": "application/json; charset=utf-8",
"user-agent": "azsdk-js-keyvault-secrets/4.1.0 core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)",
"x-ms-client-request-id": "47244517-0464-4748-a8d2-92b668c5392b"
}
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "47244517-0464-4748-a8d2-92b668c5392b"
}
azure:keyvault-secrets:info Request: {
"streamResponseBody": false,
"url": "https://kv-csosadev.vault.azure.net/secrets/dbHost-dev/?api-version=7.1",
"method": "GET",
"headers": {
"_headersMap": {
"content-type": "application/json; charset=utf-8",
"user-agent": "azsdk-js-keyvault-secrets/4.1.0 core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)",
"x-ms-client-request-id": "5c3ac587-c470-4f5e-be7a-587d990ae66e"
}
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "5c3ac587-c470-4f5e-be7a-587d990ae66e"
}
azure:keyvault-secrets:info Request: {
"streamResponseBody": false,
"url": "https://kv-csosadev.vault.azure.net/secrets/dbName-dev/?api-version=7.1",
"method": "GET",
"headers": {
"_headersMap": {
"content-type": "application/json; charset=utf-8",
"user-agent": "azsdk-js-keyvault-secrets/4.1.0 core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)",
"x-ms-client-request-id": "0d986efe-aa51-46f3-acfb-85c92eb55e9c"
}
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "0d986efe-aa51-46f3-acfb-85c92eb55e9c"
}
azure:keyvault-secrets:info Request: {
"streamResponseBody": false,
"url": "https://kv-csosadev.vault.azure.net/secrets/storageAccountName-dev/?api-version=7.1",
"method": "GET",
"headers": {
"_headersMap": {
"content-type": "application/json; charset=utf-8",
"user-agent": "azsdk-js-keyvault-secrets/4.1.0 core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)",
"x-ms-client-request-id": "2d2d6e80-a59a-4687-b1c0-65585dff7b9c"
}
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "2d2d6e80-a59a-4687-b1c0-65585dff7b9c"
}
azure:keyvault-secrets:info Request: {
"streamResponseBody": false,
"url": "https://kv-csosadev.vault.azure.net/secrets/storageAccountKey-dev/?api-version=7.1",
"method": "GET",
"headers": {
"_headersMap": {
"content-type": "application/json; charset=utf-8",
"user-agent": "azsdk-js-keyvault-secrets/4.1.0 core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)",
"x-ms-client-request-id": "d77c29ab-7c1a-45c4-a7cb-8934d300f4de"
}
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "d77c29ab-7c1a-45c4-a7cb-8934d300f4de"
}
azure:keyvault-secrets:info Response status code: 401
azure:keyvault-secrets:info Headers: {
"_headersMap": {
"cache-control": "no-cache",
"content-length": "87",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"expires": "-1",
"pragma": "no-cache",
"strict-transport-security": "REDACTED",
"www-authenticate": "REDACTED",
"x-aspnet-version": "REDACTED",
"x-content-type-options": "REDACTED",
"x-ms-keyvault-network-info": "REDACTED",
"x-ms-keyvault-region": "REDACTED",
"x-ms-keyvault-service-version": "REDACTED",
"x-ms-request-id": "ebe43060-265c-4b74-a016-b39ff2eab82c",
"x-powered-by": "REDACTED"
}
}
azure:identity:info EnvironmentCredential => getToken() => ERROR: EnvironmentCredential is unavailable. Environment variables are not fully configured.
azure:identity:info ManagedIdentityCredential => Using the IMDS endpoint coming form the environment variable MSI_ENDPOINT=undefined, and using the cloud shell to proceed with the authentication.
azure:identity:info ManagedIdentityCredential => Pinging IMDS endpoint
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"accept-language": "REDACTED",
"x-ms-client-request-id": "ffd5c356-a0c8-4ff5-a262-26efbb65a971",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 500,
"keepAlive": true,
"requestId": "ffd5c356-a0c8-4ff5-a262-26efbb65a971"
}
azure:keyvault-secrets:info Response status code: 401
azure:keyvault-secrets:info Headers: {
"_headersMap": {
"cache-control": "no-cache",
"content-length": "87",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"expires": "-1",
"pragma": "no-cache",
"strict-transport-security": "REDACTED",
"www-authenticate": "REDACTED",
"x-aspnet-version": "REDACTED",
"x-content-type-options": "REDACTED",
"x-ms-keyvault-network-info": "REDACTED",
"x-ms-keyvault-region": "REDACTED",
"x-ms-keyvault-service-version": "REDACTED",
"x-ms-request-id": "d83180f6-88ee-4c30-b6ab-335003f87d4f",
"x-powered-by": "REDACTED"
}
}
azure:identity:info EnvironmentCredential => getToken() => ERROR: EnvironmentCredential is unavailable. Environment variables are not fully configured.
azure:identity:info ManagedIdentityCredential => Using the IMDS endpoint coming form the environment variable MSI_ENDPOINT=undefined, and using the cloud shell to proceed with the authentication.
azure:identity:info ManagedIdentityCredential => Pinging IMDS endpoint
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"accept-language": "REDACTED",
"x-ms-client-request-id": "be328d38-fe43-461f-8adb-9fbad0ceb400",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 500,
"keepAlive": true,
"requestId": "be328d38-fe43-461f-8adb-9fbad0ceb400"
}
azure:keyvault-secrets:info Response status code: 401
azure:keyvault-secrets:info Headers: {
"_headersMap": {
"cache-control": "no-cache",
"content-length": "87",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"expires": "-1",
"pragma": "no-cache",
"strict-transport-security": "REDACTED",
"www-authenticate": "REDACTED",
"x-aspnet-version": "REDACTED",
"x-content-type-options": "REDACTED",
"x-ms-keyvault-network-info": "REDACTED",
"x-ms-keyvault-region": "REDACTED",
"x-ms-keyvault-service-version": "REDACTED",
"x-ms-request-id": "46a36d1f-21e4-46a6-8d35-1c2f4328d0f8",
"x-powered-by": "REDACTED"
}
}
azure:identity:info EnvironmentCredential => getToken() => ERROR: EnvironmentCredential is unavailable. Environment variables are not fully configured.
azure:identity:info ManagedIdentityCredential => Using the IMDS endpoint coming form the environment variable MSI_ENDPOINT=undefined, and using the cloud shell to proceed with the authentication.
azure:identity:info ManagedIdentityCredential => Pinging IMDS endpoint
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"accept-language": "REDACTED",
"x-ms-client-request-id": "d7206be8-3ab1-4914-87ae-f2971223a0d2",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 500,
"keepAlive": true,
"requestId": "d7206be8-3ab1-4914-87ae-f2971223a0d2"
}
azure:keyvault-secrets:info Response status code: 401
azure:keyvault-secrets:info Headers: {
"_headersMap": {
"cache-control": "no-cache",
"content-length": "87",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"expires": "-1",
"pragma": "no-cache",
"strict-transport-security": "REDACTED",
"www-authenticate": "REDACTED",
"x-aspnet-version": "REDACTED",
"x-content-type-options": "REDACTED",
"x-ms-keyvault-network-info": "REDACTED",
"x-ms-keyvault-region": "REDACTED",
"x-ms-keyvault-service-version": "REDACTED",
"x-ms-request-id": "6500c886-8f03-476d-88ad-1ef0c3f6d1a7",
"x-powered-by": "REDACTED"
}
}
azure:identity:info EnvironmentCredential => getToken() => ERROR: EnvironmentCredential is unavailable. Environment variables are not fully configured.
azure:identity:info ManagedIdentityCredential => Using the IMDS endpoint coming form the environment variable MSI_ENDPOINT=undefined, and using the cloud shell to proceed with the authentication.
azure:identity:info ManagedIdentityCredential => Pinging IMDS endpoint
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"accept-language": "REDACTED",
"x-ms-client-request-id": "fc5f2b07-4b6c-43b3-ab83-0204e1d3876d",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 500,
"keepAlive": true,
"requestId": "fc5f2b07-4b6c-43b3-ab83-0204e1d3876d"
}
azure:keyvault-secrets:info Response status code: 401
azure:keyvault-secrets:info Headers: {
"_headersMap": {
"cache-control": "no-cache",
"content-length": "87",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"expires": "-1",
"pragma": "no-cache",
"strict-transport-security": "REDACTED",
"www-authenticate": "REDACTED",
"x-aspnet-version": "REDACTED",
"x-content-type-options": "REDACTED",
"x-ms-keyvault-network-info": "REDACTED",
"x-ms-keyvault-region": "REDACTED",
"x-ms-keyvault-service-version": "REDACTED",
"x-ms-request-id": "54777d37-d2b0-4ab0-a578-556cfed7c239",
"x-powered-by": "REDACTED"
}
}
azure:identity:info EnvironmentCredential => getToken() => ERROR: EnvironmentCredential is unavailable. Environment variables are not fully configured.
azure:identity:info ManagedIdentityCredential => Using the IMDS endpoint coming form the environment variable MSI_ENDPOINT=undefined, and using the cloud shell to proceed with the authentication.
azure:identity:info ManagedIdentityCredential => Pinging IMDS endpoint
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"accept-language": "REDACTED",
"x-ms-client-request-id": "de1aaa0b-99e2-494e-ab8e-1577c2d767f2",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 500,
"keepAlive": true,
"requestId": "de1aaa0b-99e2-494e-ab8e-1577c2d767f2"
}
azure:keyvault-secrets:info Response status code: 401
azure:keyvault-secrets:info Headers: {
"_headersMap": {
"cache-control": "no-cache",
"content-length": "87",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"expires": "-1",
"pragma": "no-cache",
"strict-transport-security": "REDACTED",
"www-authenticate": "REDACTED",
"x-aspnet-version": "REDACTED",
"x-content-type-options": "REDACTED",
"x-ms-keyvault-network-info": "REDACTED",
"x-ms-keyvault-region": "REDACTED",
"x-ms-keyvault-service-version": "REDACTED",
"x-ms-request-id": "39cab741-888d-4662-a8f6-8a00c76c5cbe",
"x-powered-by": "REDACTED"
}
}
azure:identity:info EnvironmentCredential => getToken() => ERROR: EnvironmentCredential is unavailable. Environment variables are not fully configured.
azure:identity:info ManagedIdentityCredential => Using the IMDS endpoint coming form the environment variable MSI_ENDPOINT=undefined, and using the cloud shell to proceed with the authentication.
azure:identity:info ManagedIdentityCredential => Pinging IMDS endpoint
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"accept-language": "REDACTED",
"x-ms-client-request-id": "75ab7a82-c473-4eb0-9a84-b735db5397ec",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 500,
"keepAlive": true,
"requestId": "75ab7a82-c473-4eb0-9a84-b735db5397ec"
}
azure:core-http:info Response status code: 400
azure:core-http:info Headers: {
"_headersMap": {
"content-length": "88",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"server": "IMDS/150.870.65.476"
}
}
azure:identity:info ManagedIdentityCredential => IMDS endpoint is available
azure:identity:info IdentityClient: sending token request to [http://169.254.169.254/metadata/identity/oauth2/token?resource=https%3A%2F%2Fvault.azure.net&api-version=2018-02-01]
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"metadata": "REDACTED",
"accept-language": "REDACTED",
"x-ms-client-request-id": "23a49e6e-3d80-4c80-9a8c-3fa34fa39667",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "23a49e6e-3d80-4c80-9a8c-3fa34fa39667"
}
azure:core-http:info Response status code: 400
azure:core-http:info Headers: {
"_headersMap": {
"content-length": "88",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"server": "IMDS/150.870.65.476"
}
}
azure:identity:info ManagedIdentityCredential => IMDS endpoint is available
azure:identity:info IdentityClient: sending token request to [http://169.254.169.254/metadata/identity/oauth2/token?resource=https%3A%2F%2Fvault.azure.net&api-version=2018-02-01]
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"metadata": "REDACTED",
"accept-language": "REDACTED",
"x-ms-client-request-id": "c34df176-79d4-427a-b3dc-689cdc8fbf49",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "c34df176-79d4-427a-b3dc-689cdc8fbf49"
}
azure:core-http:info Response status code: 400
azure:core-http:info Headers: {
"_headersMap": {
"content-length": "88",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"server": "IMDS/150.870.65.476"
}
}
azure:identity:info ManagedIdentityCredential => IMDS endpoint is available
azure:identity:info IdentityClient: sending token request to [http://169.254.169.254/metadata/identity/oauth2/token?resource=https%3A%2F%2Fvault.azure.net&api-version=2018-02-01]
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"metadata": "REDACTED",
"accept-language": "REDACTED",
"x-ms-client-request-id": "aaf05124-8363-46e9-a318-8b1c74895861",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "aaf05124-8363-46e9-a318-8b1c74895861"
}
azure:core-http:info Response status code: 400
azure:core-http:info Headers: {
"_headersMap": {
"content-length": "88",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"server": "IMDS/150.870.65.476"
}
}
azure:identity:info ManagedIdentityCredential => IMDS endpoint is available
azure:identity:info IdentityClient: sending token request to [http://169.254.169.254/metadata/identity/oauth2/token?resource=https%3A%2F%2Fvault.azure.net&api-version=2018-02-01]
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"metadata": "REDACTED",
"accept-language": "REDACTED",
"x-ms-client-request-id": "ccaa2c0e-5f06-4db6-bf70-21c6dc4f7277",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "ccaa2c0e-5f06-4db6-bf70-21c6dc4f7277"
}
azure:core-http:info Response status code: 400
azure:core-http:info Headers: {
"_headersMap": {
"content-length": "88",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"server": "IMDS/150.870.65.476"
}
}
azure:identity:info ManagedIdentityCredential => IMDS endpoint is available
azure:identity:info IdentityClient: sending token request to [http://169.254.169.254/metadata/identity/oauth2/token?resource=https%3A%2F%2Fvault.azure.net&api-version=2018-02-01]
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"metadata": "REDACTED",
"accept-language": "REDACTED",
"x-ms-client-request-id": "786825bd-d7b0-4a3b-9583-9bdcc401b80c",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "786825bd-d7b0-4a3b-9583-9bdcc401b80c"
}
azure:core-http:info Response status code: 400
azure:core-http:info Headers: {
"_headersMap": {
"content-length": "88",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"server": "IMDS/150.870.65.476"
}
}
azure:identity:info ManagedIdentityCredential => IMDS endpoint is available
azure:identity:info IdentityClient: sending token request to [http://169.254.169.254/metadata/identity/oauth2/token?resource=https%3A%2F%2Fvault.azure.net&api-version=2018-02-01]
azure:core-http:info Request: {
"url": "http://169.254.169.254/metadata/identity/oauth2/token?resource=REDACTED&api-version=2018-02-01",
"method": "GET",
"headers": {
"_headersMap": {
"accept": "application/json",
"metadata": "REDACTED",
"accept-language": "REDACTED",
"x-ms-client-request-id": "6288a75c-e871-4f06-9685-c629b2042e15",
"content-type": "application/json; charset=utf-8",
"user-agent": "core-http/1.1.6 Node/v14.7.0 OS/(x64-Linux-5.4.0-1025-azure)"
}
},
"query": {
"resource": "REDACTED",
"api-version": "2018-02-01"
},
"withCredentials": false,
"timeout": 0,
"keepAlive": true,
"requestId": "6288a75c-e871-4f06-9685-c629b2042e15"
}
azure:core-http:info Response status code: 400
azure:core-http:info Headers: {
"_headersMap": {
"content-length": "68",
"content-type": "application/json; charset=utf-8",
"date": "Mon, 21 Sep 2020 13:09:46 GMT",
"server": "IMDS/150.870.65.476"
}
}
azure:identity:warning IdentityClient: authentication error. HTTP status: 400, Identity not found
azure:identity:info ChainedTokenCredential => getToken() => ERROR: ManagedIdentityCredential authentication failed.(status code 400).
More details:
invalid_request(status code 400).
More details:
Identity not found

@ricklang Hello, I'm Daniel. I'll be doing my best to help you today.
I am not 100% sure I am understanding your issue, but I'll do a first iteration according to the following:

Try to access Azure key vault using Azure CLI identity, but failed.

I can work with that!
I'm also taking in consideration the following:

@azure/identity version 1.1.0.
@azure/keyVault version 4.1.0.

I'm organizing this response in the form of a quick tutorial. My goal is to show you what I am doing to make this work, with screenshots and sample code. With that information, I'm hoping to provide enough for you to solve the issue. In any case, I'll be here to clarify any other question.
Here's the game plan:

We'll make a new folder with a very basic code sample.
We'll make sure to authenticate properly.
We'll run the code sample and see the output.

Basic code sample
To make this code sample, we'll make a new folder, let's call it 11369. Then, we'll make a package.json with npm init. Then we'll install @azure/identity version ^1.1.0 & @azure/keyvault-keys version 4.1.0, as follows:
mkdir 11369
cd 11369
npm init
npm i --save @azure/identity@1.1.0 @azure/keyvault-keys@4.1.0

At this point, your package.json should be created, and should have the following contents:
{
  "name": "11369",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@azure/identity": "^1.1.0",
    "@azure/keyvault-keys": "^4.1.0"
  }
}

Now, in this same folder, we'll make a file called index.js, containing the following:
const { AzureCliCredential } = require("@azure/identity");
const { KeyClient } = require("@azure/keyvault-keys");

async function main() {
  const credential = new AzureCliCredential();

  const keyVaultUrl = `https://<keyvault-name>.vault.azure.net`;
  const keyClient = new KeyClient(keyVaultUrl, credential);

  const properties = await keyClient.listPropertiesOfKeys().next();
  console.log({ properties });
}

main().catch(err => {
  console.error(err);
});

Make sure to change <keyvault-name> with the name of your Key Vault.
By this point, we only need to authenticate the Azure CLI and run this script to see something working. To do so, we will need to first authenticate with the correct credential.
Authenticating
To authenticate with the Azure CLI, we will be running az login first on our terminal. The CLI will prompt a browser screen in which you will pick the account you want to use to authenticate. Take note of the email or name of the account you're selecting. Once you pick an account, the execution of az login in the terminal will finish.
This will make your Azure CLI user able to access the Azure resources. However, this user does not necessarily have access to the Key Vault you are trying to work with. The first time we try to access a Key Vault with a user account, we need to provide the correct permissions to this account.
So, our next step is to go to our Key Vault through the Azure portal: https://ms.portal.azure.com/. Once in your Key Vault:

Go to Access control (IAM) through the left menu, then click on the + Add button, then right under that button, click on the Add role assignment option that will appear.
At the left, a form will appear.
In the Role field, select the role of Contributor (you may pick another role later, pick this one for this test).
Leave the Assign access to field as is.
On the Select field, use the name or the email of the account you used to authenticate the Azure CLI.
Right below the Select field, your user should appear. Click on it, and it will move to the Selected members: list below.
Now, click Save.

Now, your user has access to this Key Vault. To give this user the proper access policy, click on the Access policies option in the left menu, then:

Click on the + Add Access Policy link in (about) the middle of the screen.
A new form will take the whole screen, with the title of Add access policy.
For this specific test, click the arrow at the right of the field Key permissions. A few options will appear.
Click on the Select all checkbox. 16 selected should appear on the screen.
Click out of the field.
In the Select principal* field, None selected should appear. Click on this text. A search screen will appear on the left.
Use the search box on the left to look for the name or email of your user. Once you find it, click on it. Your user should appear below, in the list of Selected items.
Click the Select button at the left.
Your user name and Object ID should appear on the form, in the Select principal* field.
Click on the Add button at the right.

Now, your user has full access to run our sample.
Running the sample
Go back to the terminal at the folder where we have the index.js.
Keep in mind that the code we have calls to this function specifically keyClient.listPropertiesOfKeys().next(). Which means that I'm expecting to be able to read at the properties of one key.
Now, I was able to run the script with node index.js. Here's my output:
PS C:\Users\user\source\repos\11369> node .\index.js
{
  properties: {
    value: {
      createdOn: 2020-08-04T19:28:04.000Z,
      kid: 'https://<keyvault-name>.vault.azure.net/keys/<key-name>',
      managed: true,
      vaultUrl: 'https://<keyvault-name>.vault.azure.net',
      name: '<key-name>',
      version: undefined,
      enabled: true,
      notBefore: 2020-08-04T19:18:04.000Z,
      created: 2020-08-04T19:28:04.000Z,
      updated: 2020-08-04T19:28:04.000Z,
      recoverableDays: 90,
      recoveryLevel: 'Recoverable+Purgeable',
      expiresOn: 2021-08-04T19:28:04.000Z
    },
    done: false
  }
}

@ricklang I hope this isn't too long. Please let us know if this help!
Thank you for using the Azure SDKs for JavaScript and TypeScript. I'll be ready to answer any further comment as soon as possible.

authors: ricklang sadasant

repo: Azure/azure-sdk-for-js


text:
[Storage] Samples for storage-packages

Add typescript samples
Readme for samples
Align them with the samples of other existing services

#1808

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
[RLC-Quickstart] Fix the Quickstart issues found in bug bush

We collected some feedbacks in bugbash and need to fix them:

Please provide windows command for 'export TEST_MODE=record && rushx test '  as 'export' is not supported in windows
As js test is built on top of recording test, please provide some description/link so service team could know how to update the test cases.
Need to include @types/chai": "^4.3.1 in the generated package.json
@autorest/typescript": "6.0.0-alpha.19.20220425.1,  run command    export TEST_MODE=record && rushx test

Details: https://microsoftapc-my.sharepoint.com/:x:/r/personal/renhel_microsoft_com/_layouts/15/guestaccess.aspx?e=eGeImD&CID=2248C2B4-AA87-4755-8A93-75056A670EA2&wdLOR=c7563F1C5-12FF-4BFF-9D2D-7767679057F2&share=EXNgBSI9VvhKrWSVhBsBbkgB0zCTpIp4HUyl6-1uZqHfYg

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Azure.Core:0.16920274,Storage:0.095259205,Service Bus:0.07856771'

authors: MaryGao azure-sdk


text:
event loop blocked

Package: @azure/search-documents
Version: v12.0.0
I am developing node.js application with express that is a server for FE appliction. When I am using above package to do request to Azure Search that takes longer time all incoming requests from frontend applications are stopped and not being processed by backend untill requests to Azure Search are finished. Heppens also during iteration over results with for await loop which is also making requests.
I am using defult configuration like this:
const searchClient = await new SearchClient(
    process.env.SEARCH_BASE_URL,
    'indexName',
    new AzureKeyCredential(process.env.SEARCH_API_KEY),
 )

const { results } = await searchClient.search('', { })

for await (const result of results) {
    console.log('result', result.document.id)
}

My issue is not that this code is executing long but that while requests to Azure Search are done node.js application is stuck and not process anything else.
This is intended behaviour? If no I would appreciate some advice how this could be fixed.

This may be related to https://github.com/Azure/azure-sdk-for-js/issues/27382. Can you try reproducing with this build? If this doesn't help, I'd appreciate if you could put together a minimal reproduction of the issue so I can investigate further.

authors: KonradFak dgetu


text:
Align npm scripts across all track 2 packages

The npm scripts (e.g. build, test, pack) should be aligned across all track 2 packages.  Currently, there is significant variation across packages for a given script.  For example, some packages may always run build before pack, while others assume it is the developers responsibility to run build before pack.
I believe we should use the principle that each npm script does the minimum necessary to complete its objective, and requires developers to manually run any prerequisite steps.  This allows developers to work as efficiently as possible without redundant commands.

@KarishmaGhiya, I believe we have now come to some kind of consistency around the use of npm scripts across the track 2 packages. Can you do a quick review and close this issue if no further action is needed?

The scripts across packages are aligned. We can close this issue.

authors: KarishmaGhiya mikeharder ramya-rao-a


text:
[Identity] Support cross-tenant authentication

Support the scenario described in https://docs.microsoft.com/bs-latn-ba/azure/azure-resource-manager/authenticate-multi-tenant.
To test it, the shared image gallery scenario takes advantage of this type of authentication header: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/share-images-across-tenants
A previous issue which users were able to workaround: https://github.com/Azure/azure-sdk-for-java/issues/3819. We need to provide a more elegant way.
Related https://github.com/Azure/azure-sdk-for-java/issues/6040

Link to: https://docs.microsoft.com/bs-latn-ba/azure/azure-resource-manager/authenticate-multi-tenant appears to be broken

The correct link looks below.
https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant

In an attempt to understand this problem:
If the user creates two clients with two credentials, each one with a different tenant, isn't this result achieved?

authors: jonathandturner joshfree kensugasa sadasant


text:
[STORAGE] Ability to filter blobs based on metadata attributes

Is your feature request related to a problem? Please describe.
When using BlobStorage, I'd like to retrieve blobs based on the value of a metadata attribute that I added when creating the blob file.
Describe the solution you'd like
Ideally, the solution should be a method that returns the blobNames of the blobs that match my criteria.
For example: if I need all the blobs in a container that have the metadata attribute address !== null, it should return a list of the blobNames that match that criteria.
Describe alternatives you've considered
The current alternative is to loop through every single blob file. By using:
 let i = 1;
 const iter = containerClient.listBlobsFlat({includeMetadata: true});
 let blobItem = await iter.next();
 let myBlobs = [];
 while (!blobItem.done) {
     if(blobItem.value.metadata.address) {
         myBlobs.push(blobItem.value.name);
     }
     blobItem = await iter.next();
 }

Additional context
In containers that have loads of blob files (i.e. > 40MI), the application runs very very slow.

@marcosmcb I don't think the service currently supports filtering by metadata (https://docs.microsoft.com/en-us/rest/api/storageservices/list-blobs). So if we were to add a method into the client library, it would be the same as you described in the alternatives section above.

@jeremymeng  thanks for your answer, I found a way to speed up my query by using the metadata object of my container as a look up table. I'm wondering if there's any limitation on the size of the metadata object, for example, could it support 2MI entries?

Could you please provide more details on how you do the indexing on the containers?

So, my problem is - I need to delete blobs that are X days old from my container and don't have a certain field in their metadata.
I add the value for that field, in my metadata, after the user makes a purchase, then once I have the confirmation I need to add the order NO to the blob metadata.
So, for blobs that are X days old and don't have the order NO field in their metadata, I can delete them.
My idea is:
To add the blob name to my container's metadata, where my blob name is the key and the date of creation is the value.
Once a customer makes their purchase and I have an order no, I can, therefore, remove the blob name from the container's metadata and add the order no to my blob's metadata.
If I have blobNames in my container's metadata that are X days old and have no Order no in their metadata, they're eligible for deletion.
In short, I'd use my container's metadata as a lookup table for "temporary" blobs and thus, if a blob is X days old and have not got their OrderNO, they're eligible for deletion.
That would help me not to have to look at every single blob in my container and make the deletion of bad blob files much quicker.
The only drawback is - my insertion would be slower because I will need to reset my container's metadata every time I create a blob file. Also, the update of the blob file would be slower as I'd have to reset the container's metadata as well.
My application only has one container, and I could have 40 Million blob files in it, there'd also be around 2 million blob files added to the container every month.

Hi @marcosmcb Azure Storage is working on a feature to boost blobs query. It should help for your case. Stay tuned : )

Given that metadata entries are sent over http headers, and http headers are in practice often limited (8kb total in Node, Nginx, Apache), it seems unlikely that Blob Storage would support millions of metadata entries for a container.
@XiaoningLiu is right though - hopefully the need for additional metadata in the container will be removed soon 😉

Now that Blob Tags is available since 12.2.0, could you utilize it to support this scenario?

authors: XiaoningLiu bterlson jeremymeng ljian3377 marcosmcb


text:
Post release automated changes for cosmosdb releases

Post release automated changes for azure-arm-cosmosdb

API change check
API changes are not detected in this pull request.

source: gharchive/pull-request


text:
[Identity] For dev-time credentials the only error thrown in DAC should be CredentialUnavailableError

Packages impacted by this PR
@azure/identity
Issues associated with this PR
For our dev time credentials we want to always keep going. This change wraps any failure from the credentials in a CredentialUnavailableException so ChainedTokenCredential will continue them properly.
Fixes https://github.com/Azure/azure-sdk-for-js/issues/25717
Checklists

[x] Added impacted package name to the issue description
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.

My understanding of the changes here is because we're moving the scope checks into existing try/catches that already handle wrapping the error with credential unavailable, everything gets handled as expected?

Yes that's right

authors: KarishmaGhiya azure-sdk


text:
updated CHANGELOG

Packages impacted by this PR
@azure/cosmos
Issues associated with this PR
Describe the problem that is addressed by this PR
This PR adds v4 features in changelog.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

Closing this PR as it got a little messed up due to some mistakes.
This is the fresh PR for updating Changelog -> https://github.com/Azure/azure-sdk-for-js/pull/30106. Addressing all the comments there.


text:
[mgmt] healthdataaiservices release

https://github.com/Azure/sdk-release-request/issues/5387

@jeremymeng looks like the code owner is not working somewhere.

@jeremymeng looks like the code owner is not working somewhere.

maybe file: CODEOWNERS need be approved by Azure/azure-sdk-eng, jeremymeng, and/or xirzec.

@jeremymeng looks like the code owner is not working somewhere.

maybe file: CODEOWNERS need be approved by Azure/azure-sdk-eng, jeremymeng, and/or xirzec.

yes, we add this entry for security reason. Let me see if we should do anything here.

authors: jeremymeng kazrael2119 qiaozha


text:
[Proposal] Adding StaticTokenCredential.ts for the package

Packages impacted by this PR
@azure/identity
Issues associated with this PR
When I use ClientSecretCredential class to get a custom token with limited scope, and try to use it to build a StaticTokenCredential, I found that there is no class defined in @azure/identity. I read the doc from:
https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token
I just created file in the project. Hope it can be included in the package. Everyone can use it directly.
Describe the problem that is addressed by this PR
See above.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Maybe we have alternative way or put the file in another package. but for now, just create it. you know we need it.
Are there test cases added in this PR? (If not, why?)
not yet. should be work.
Provide a list of related PRs (if any)
doc you wrote:
https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[x] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.

I cannot access your registry to fetch private package to fix CI issue.

please fix CI issue and review code.
hope next version of package can use StaticTokenCredential for sdk invoking.

Hiya @Edward-Roshan  - thanks for your contribution!
The @azure/identity package provides credential implementations that are widely used, supported, and ensure best practices regarding security. While there are sometimes valid reasons for creating a static token credential, most of the credential implementations can already be used as is when working with Azure services.
For example, in your scenario, is there a reason you're unable to pass the ClientSecretCredential object directly to the azure client library? Without looking at your specific scenario it's hard to tell so I'd love to learn more about your usecase and why you need a static credential to wrap what is essentially another static credential. Would to learn and hear about your scenario!

I cannot access your registry to fetch private package to fix CI issue.

please fix CI issue and review code.
hope next version of package can use StaticTokenCredential for sdk invoking.

We use rush.js to manage dependencies in our monorepo - you normally would not use npm install here but rush update. our Rush configuration knows how to link the dev-tool package from the monorepo source code. Please review the CONTRIBUTING guide to learn more about how to work within the monorepo. Then, you should be able to fix your linter errors.

Hiya @Edward-Roshan - thanks for your contribution!
The @azure/identity package provides credential implementations that are widely used, supported, and ensure best practices regarding security. While there are sometimes valid reasons for creating a static token credential, most of the credential implementations can already be used as is when working with Azure services.
For example, in your scenario, is there a reason you're unable to pass the ClientSecretCredential object directly to the azure client library? Without looking at your specific scenario it's hard to tell so I'd love to learn more about your usecase and why you need a static credential to wrap what is essentially another static credential. Would to learn and hear about your scenario!

I cannot access your registry to fetch private package to fix CI issue.

please fix CI issue and review code.
hope next version of package can use StaticTokenCredential for sdk invoking.

We use rush.js to manage dependencies in our monorepo - you normally would not use npm install here but rush update. our Rush configuration knows how to link the dev-tool package from the monorepo source code. Please review the CONTRIBUTING guide to learn more about how to work within the monorepo. Then, you should be able to fix your linter errors.

Hi @maorleger ,
Thank you for your reply. In my recent project, I use GCP, AWS, Azure these public clouds, invoking Cloud APIs to collect all kinds of information to our database. so that we can analysis resource usage and utilizing the resource allocation for saving cost.
I noticed that on GCP, I can impersonate login to a specific service account and generate a temporary token for api request. I also can use it to limit scope and lift-time of generated token. on AWS, it also has a similar api, called Assume Role. when temporary AccessId and SecretAccessKey granted, those can be used to invoke specific resource api by limiting ARN(Amazon Resource Names).
on Azure, I found i can get accessToken by using ClientSecretCredential. Scope can be set by developer. but expired datetime cannot be. These are sample codes:
        const credential = new ClientSecretCredential(tenant_id, client_id, client_secret);         //get root credential with ClientSecretCredential
        const scope = `https://management.azure.com/.default`;        //set scope here.
        const accessToken = await credential.getToken([scope]);         //no param to set expire time
        const staticCred = new StaticTokenCredential(accessToken);             //generate static credential
        const client = new ResourceManagementClient(staticCred, subscriptionId);           //resource api client

I take example for this scenario. When we need untrusted device to invoke azure api directly, we need a way to impersonate login to account/account service or some credentials. and generate temporary token with limited scope and lifetime. so that untrusted device can directly invoke api without server side wrapping. This is all for security reason. Some topics are related to STS(Security Token Service). But there is a very rare doc for this topic. Can you please provide me another way to fulfill the scenario?

I cannot access your registry to fetch private package to fix CI issue.

please fix CI issue and review code.
hope next version of package can use StaticTokenCredential for sdk invoking.

I have to admit, that rush.js is really easy to hands on. CI error is due to the copyright header was missing in adding file.

I also noticed that, staticTokenCredential has been defined in many different packages. Some packages called "staticTokenCredential", Some packages called "StaticAccessTokenCredential". This is evidence that the file should exist. And the constructor of class should be unified. Different class defined different constructor. Some of them ignored expiresOnTimestamp. Some of them using fixed expires timestamp. This function definitely should be reworked or refactored.

Hey @Edward-Roshan - thanks again for your contribution and for creating this PR. We discussed this internally and at this point we prefer not to add this credential to @azure/identity for the following reasons:

As you see, it's rather trivial to create this type of credential yourself
We try to keep the API surface area focused on mainline scenarios and provide samples for unusual asks or other less-common scenarios (like this one)
We try to ensure customers fall into the pit of success as much as possible. In this case, it can be unclear to the customer that the credential stops working when the token expires. When creating the credential yourself, at least you are aware of the token's expiration date

Thanks again for opening this PR - at this time we prefer to leave this static credential out of the public API for the reasons described above. Hope that explains some of our reasonings. Thanks!

Hey @Edward-Roshan - thanks again for your contribution and for creating this PR. We discussed this internally and at this point we prefer not to add this credential to @azure/identity for the following reasons:

As you see, it's rather trivial to create this type of credential yourself
We try to keep the API surface area focused on mainline scenarios and provide samples for unusual asks or other less-common scenarios (like this one)
We try to ensure customers fall into the pit of success as much as possible. In this case, it can be unclear to the customer that the credential stops working when the token expires. When creating the credential yourself, at least you are aware of the token's expiration date

As for your specific scenario - I'm asking around for guidance and options we can offer, stay tuned for that!
Thanks again for opening this PR - at this time we prefer to leave this static credential out of the public API for the reasons described above. Hope that explains some of our reasonings. Thanks!

Hi @maorleger ,
I agree with your reasons for rejecting add file. But I still very curious.
Can you explain why @azure/communication-common include:

sdk\communication\communication-common\src\staticTokenCredential.ts

Why @azure/mixed-reality-remote-rendering also includes staticAccessTokenCredential?

sdk\remoterendering\mixed-reality-remote-rendering\src\authentication\staticAccessTokenCredential.ts

And the package @azure-rest/ai-translation-text has test case with StaticAccessTokenCredential created.

sdk\translation\ai-translation-text-rest\test\public\utils\StaticAccessTokenCredential.ts
sdk\translation\ai-translation-text-rest\test\public\utils\recordedClient.ts

I think above evidence has been proved that azure team realized it is needed. Or maybe they are falsely added into the packages.
IMO, sometimes, the customer should always be experienced. If you provide customer with all kinds of functions, and the customer fall into the pit. The customer ought to take responsible for themselves. If the documentation and comments are well written, for your side, should not feel guilty on that.
As you said that, azure team is asking guidance for this case. I cannot decide right. I think i got well fulfilled answer. Feel free to close PR. Thanks for your cooperation.

authors: Edward-Roshan azure-sdk maorleger


text:
Static live test matrices

Fixes #3659
This change

Collapses the archetype-sdk-tests-node.yml and archetype-sdk-tests-browser.yml into a single file
Puts test type (node, browser) back into matrix parameters

Adds test results file to matrix parameters so we can pick up results from both browser and node test runs. This is the portion that adds the most repetition.

Incorporates a matrix proposed by @mikeharder for Service Bus to shorten the running time (discussed in the JS channel on Teams)
Cleans up old pipeline yaml files that are no longer needed

Event Hubs Client:

Event Hubs Processor:

Service Bus:
This uses a shorter matrix proposed by @mikeharder

Storage Blob:

Storage File:

Storage Queue:

@Azure/azure-sdk-eng

/azp run azure-sdk-for-js - client


text:
rush runner initial script

@bsiegel  - can you check this out? Need suggestions on cleaner way to implement in cases where

we don't pass a specific directory and want all to execute
should i pass a 3rd argument like - the command it runs (build/lint/audit) and on the basis of that run the rush commands with the respective to or from parameters?

You can handle the difference in behavior based on whether a serviceDirectory is provided or not like thus:

// if serviceDir is undefined, packageNames will be an empty array and packageDirs will be an array containing all package directories
const [packageNames, packageDirs] = getServicePackages(serviceDir);

if (!rushParams) {
  rushParams = [];
}

switch (action.toLowerCase()) {
  case 'build':
    let params = packageNames.map(p => [`--to ${p}`, `--from ${p}`]);
    run('rush', 'build', [].concat(params, rushParams)); // this both flattens the array of arrays produced above, and appends rushParams
    break;

  case 'test':
    let params = packageNames.map(p => `--from ${p}`);
    run('rush', 'test', params.concat(rushParams));
    break;

  case 'lint':
    if (serviceDir) {
      for (const dir of packageDirs) {
        // rushx doesn't accept rushParams
        run('rushx', 'lint', { cwd: dir });
      }
    } else {
      run('rush', 'lint', rushParams)
    }
    break;

  ...
}

Here's a patch that adds an install-run-rushx.js script:
diff --git a/common/scripts/install-run-rush.js b/common/scripts/install-run-rush.js
index 2544432529d..81ff53a0abe 100644
--- a/common/scripts/install-run-rush.js
+++ b/common/scripts/install-run-rush.js
@@ -34,18 +34,20 @@ function getRushVersion() {
 }
 function run() {
     const [nodePath, /* Ex: /bin/node */ scriptPath, /* /repo/common/scripts/install-run-rush.js */ ...packageBinArgs /* [build, --to, myproject] */] = process.argv;
+    const scriptName = path.basename(scriptPath);
+    const bin = scriptName.toLowerCase() === 'install-run-rushx.js' ? 'rushx' : 'rush';
     if (!nodePath || !scriptPath) {
         throw new Error('Unexpected exception: could not detect node path or script path');
     }
     if (process.argv.length < 3) {
-        console.log('Usage: install-run-rush.js <command> [args...]');
-        console.log('Example: install-run-rush.js build --to myproject');
+        console.log(`Usage: ${scriptName} <command> [args...]`);
+        console.log(`Example: ${scriptName} build`);
         process.exit(1);
     }
     install_run_1.runWithErrorAndStatusCode(() => {
         const version = getRushVersion();
         console.log(`The rush.json configuration requests Rush version ${version}`);
-        return install_run_1.installAndRun(PACKAGE_NAME, version, 'rush', packageBinArgs);
+        return install_run_1.installAndRun(PACKAGE_NAME, version, bin, packageBinArgs);
     });
 }
 run();
diff --git a/common/scripts/install-run-rushx.js b/common/scripts/install-run-rushx.js
new file mode 100644
index 00000000000..ba6a8bb39b0
--- /dev/null
+++ b/common/scripts/install-run-rushx.js
@@ -0,0 +1 @@
+require("./install-run-rush");

@KarishmaGhiya I'm pretty sure we still want this script, we just need to wait for your "rushx" PR to get merged to the Rush repo before it will work. What was your reasoning behind closing this PR?

Sorry missed this comment. I accidentally deleted this branch - was cleaning up my repo

Replaced this PR (got closed by mistake) with the PR Rush runner script #4787

authors: KarishmaGhiya bsiegel


text:
Need to update version of NETFramework references assemblies

https://github.com/Azure/azure-sdk-for-net/search?q=ReferenceAssemblies&unscoped_q=ReferenceAssemblies
You should update the version to 1.0.0 to fix the errors like:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2110,5): Warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Runtime". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

Example failing build https://dev.azure.com/azure-sdk/internal/_build/results?buildId=299596&view=logs&j=f4a2bb40-7e70-5f50-d570-7d7c5c8ca123&t=5f2c46ea-2ba4-5250-6248-51f1edb0a119

@isra-fel  .. This is blocking publishing any new nuget. Please treat this issue with highest priority

Thanks for the suggestion Wes! I'll submit a PR later

authors: ahamad-MS isra-fel weshaggard

repo: Azure/azure-sdk-for-net


text:
Smoke tests should report if a dev feed's package version is more than 7 days behind

When resolving packages from the dev feed we should also verify that any date expressed in yyyymmdd in the package version (1.2.3-dev.yyyymmdd.z) is less than 7 days old.

Obsolete.

authors: danieljurek kurtzeborn


text:
CreateOrReplace operation possible for Azure Table Storage binding?

Please provide a succinct description of the issue.
Repro steps
Provide the steps required to reproduce the problem

Use table storage output binding in node function in App Service plan

Output table item with existing RowKey, setting Etag: "*"

Expected behavior
A upsert operation is executed as mentioned here
Actual behavior
Function fails with: The specified entity already exists.
The docs state that upsert is not supported but there seems to be something here that should do the trick? https://github.com/Azure/azure-webjobs-sdk/blob/ea55e6ef5439b1059b43825cb9d40cc12ae219bc/src/Microsoft.Azure.WebJobs.Extensions.Storage/Tables/TableEntityWriter.cs#L100

Does this issue reproduce with the newer version of this extension? https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables

The issue here is with Node so the above suggested package isnt relevant is it?

authors: christothes mfmevans mpseidel


text:
[FEATURE REQ] Table API should expose methods to parse Azure Store Connection strings so that they can be converted to TableSharedKeyCredential

Library name
Azure.Storage.Table
Feature Description
Azure storage tables allows creating a TableClient using a connection string but there's no way to update the key to that client. Allowing key updates requires the use of the TableSharedKeyCredential class but there's not a built-in way to generate a TableSharedKeyCredential from a connection string. Doing so, currently requires parsing the connection string (with something like DBConnectionStringBuilder) and knowledge of what the various connection string property values are.
A static method such as TableSharedKeyCredential TableSharedKeyCredential.FromConnectionString(string connectionString) would make this easier.

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

authors: jsquire prasadu-microsoft


text:
[BUG] VirtualMachineScaleSetResource.GetVirtualMachineScaleSetVms returns instances that have been deleted

Library name and version
Azure.ResourceManager.Compute 1.1.0
Describe the bug
I am attempting to get a list of all the VM instances a Virtual Machine Scale set currently contains like this:
        var virtualMachineScaleSetResourceId = VirtualMachineScaleSetResource.CreateResourceIdentifier(_settings.SubscriptionId, _settings.ResourceGroupName, _settings.VirtualMachineScaleSetName);
        var virtualMachineScaleSet = _armClient.GetVirtualMachineScaleSetResource(virtualMachineScaleSetResourceId);

        var collection = virtualMachineScaleSet.GetVirtualMachineScaleSetVms();

        var pageableCollection = collection.GetAllAsync();

        var instanceCollection = new List<string>();
        await foreach (var virtualMachineScaleSetVmResource in pageableCollection)
            instanceCollection.Add(virtualMachineScaleSetVmResource.Data.InstanceId);

It will return instances that have been deleted and deleted for some time. For instance, now in my vm scale set resource there is only one instance, however query returns 9 instances. Meaning 8 have been deleted and have been for a while.
Expected behavior
What I would expect it to return just the instance currently in the vm scale set azure resource.
Actual behavior
Returns the instances currently in vm scale set as well as deleted instances. There doesn't seem to be to be any indication in the data that would differentiate between the deleted and valid instances.
Reproduction Steps
Run the above code against a vm scale set with some instances then delete the instances and run the same query and see if it returns the deleted instance along with the running instances.
Environment
dotnet core 7
VS 2022
Windows 10

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

@kinnett Thank you for your feedback. The bug you mentioned has been fixed in the latest version, you can use the latest version to continue your work.”

authors: jsquire kinnett mcgallan


text:
Out of the box "Could not load file or assembly Microsoft.Threading.Tasks.dll not found" error.

I am getting Microsoft.Threading.Tasks.dll not found error from management client I installed through NuGet. I cannot reproduce this on all machines but consistently happening on mine (VS2012/2013)
Stack trace
System.IO.FileNotFoundException was unhandled
  HResult=-2147024894
  Message=Could not load file or assembly 'Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
  Source=Microsoft.WindowsAzure.Management
  FileName=Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
  FusionLog==== Pre-bind state information ===
LOG: DisplayName = Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 (Fully-specified)
LOG: Appbase = file:///c:/users/ahmetb/documents/visual studio 2012/Projects/ConsoleApplication6/ConsoleApplication6/bin/Debug/
LOG: Initial PrivatePath = NULL
Calling assembly : Microsoft.WindowsAzure.Management, Version=0.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: c:\users\ahmetb\documents\visual studio 2012\Projects\ConsoleApplication6\ConsoleApplication6\bin\Debug\ConsoleApplication6.vshost.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
LOG: Attempting download of new URL file:///c:/users/ahmetb/documents/visual studio 2012/Projects/ConsoleApplication6/ConsoleApplication6/bin/Debug/Microsoft.Threading.Tasks.DLL.
LOG: Attempting download of new URL file:///c:/users/ahmetb/documents/visual studio 2012/Projects/ConsoleApplication6/ConsoleApplication6/bin/Debug/Microsoft.Threading.Tasks/Microsoft.Threading.Tasks.DLL.
LOG: Attempting download of new URL file:///c:/users/ahmetb/documents/visual studio 2012/Projects/ConsoleApplication6/ConsoleApplication6/bin/Debug/Microsoft.Threading.Tasks.EXE.
LOG: Attempting download of new URL file:///c:/users/ahmetb/documents/visual studio 2012/Projects/ConsoleApplication6/ConsoleApplication6/bin/Debug/Microsoft.Threading.Tasks/Microsoft.Threading.Tasks.EXE.

  StackTrace:
       at Microsoft.WindowsAzure.Management.LocationOperations.ListAsync(CancellationToken cancellationToken)
       at Microsoft.WindowsAzure.Management.LocationOperationsExtensions.ListAsync(ILocationOperations operations)
       at ConsoleApplication6.Program.<Sample>d__0.MoveNext() in c:\Users\ahmetb\Documents\Visual Studio 2012\Projects\ConsoleApplication6\ConsoleApplication6\Program.cs:line 22
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__5(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
       at System.Threading.ThreadPoolWorkQueue.Dispatch()
  InnerException:

Repro steps

Open Visual Studio 2012 or 2013, create new console application.
Initialize client and paste the code below. (taken from readme)
Install "Windows Azure Management Libraries" prerelease nuget package
Run
Exception thrown on ListAsync function

Code used:
namespace ConsoleApplication6
{
    using System;
    using System.Security.Cryptography.X509Certificates;
    using System.Threading.Tasks;
    using Microsoft.WindowsAzure;
    using Microsoft.WindowsAzure.Management;

    class Program
    {
        public static async void Foo()
        {
            string subscriptionId = @"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
            X509Certificate2 managementCertificate = new X509Certificate2(@"c:\rd\mgmt.cer");
            var credentials = new CertificateCloudCredentials(subscriptionId, managementCertificate);
            using (ManagementClient client = CloudContext.Clients.CreateManagementClient(credentials))
            {
                var result = await client.Locations.ListAsync();
                var locations = result.Locations;
                foreach (var location in locations)
                {
                    Console.WriteLine("Location: {0}", location.Name);

                    foreach (var feature in location.AvailableServices)
                    {
                        Console.WriteLine(feature);
                    }
                }
            }
        }

        static void Main(string[] args)
        {
            Task.Factory.StartNew(Foo).Wait();
            Console.Read();
        }
    }
}

Screenshots

packages.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.WindowsAzure.Common" version="0.9.8-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management" version="0.9.5-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management.Compute" version="0.9.9-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management.Libraries" version="0.9.6-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management.Monitoring" version="0.9.2-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management.Scheduler" version="0.9.8-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management.ServiceBus" version="0.9.3-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management.Sql" version="0.9.4-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management.Storage" version="0.9.3-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management.VirtualNetworks" version="0.9.3-preview" targetFramework="net45" />
  <package id="Microsoft.WindowsAzure.Management.WebSites" version="0.9.3-preview" targetFramework="net45" />
</packages>

csproj references section
<ItemGroup>
    <Reference Include="Microsoft.Data.Edm">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Microsoft.Data.Edm.5.6.0\lib\net40\Microsoft.Data.Edm.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Data.OData">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Microsoft.Data.OData.5.6.0\lib\net40\Microsoft.Data.OData.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Data.Services.Client">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Microsoft.Data.Services.Client.5.6.0\lib\net40\Microsoft.Data.Services.Client.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Common">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Microsoft.WindowsAzure.Common.0.9.8-preview\lib\net45\Microsoft.WindowsAzure.Common.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Common.NetFramework">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Microsoft.WindowsAzure.Common.0.9.8-preview\lib\net45\Microsoft.WindowsAzure.Common.NetFramework.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Management, Version=0.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Microsoft.WindowsAzure.Management.0.9.5-preview\lib\net40\Microsoft.WindowsAzure.Management.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Management.Compute">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Microsoft.WindowsAzure.Management.Compute.0.9.9-preview\lib\net40\Microsoft.WindowsAzure.Management.Compute.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Management.Storage">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Microsoft.WindowsAzure.Management.Storage.0.9.3-preview\lib\net40\Microsoft.WindowsAzure.Management.Storage.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Management.VirtualNetworks">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Microsoft.WindowsAzure.Management.VirtualNetworks.0.9.3-preview\lib\net40\Microsoft.WindowsAzure.Management.VirtualNetworks.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Storage">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\WindowsAzure.Storage.3.0.3.0\lib\net40\Microsoft.WindowsAzure.Storage.dll</HintPath>
    </Reference>
    <Reference Include="Newtonsoft.Json">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Data" />
    <Reference Include="System.Data.Services.Client" />
    <Reference Include="System.IO.Compression" />
    <Reference Include="System.IO.Compression.FileSystem" />
    <Reference Include="System.Net" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Net.Http.WebRequest" />
    <Reference Include="System.Spatial">
      <HintPath>$(SDXROOT)\services\fc\external\NuGet\System.Spatial.5.6.0\lib\net40\System.Spatial.dll</HintPath>
    </Reference>
    <Reference Include="System.XML" />
    <Reference Include="System.Xml.Linq" />
  </ItemGroup>

I can reproduce this very easily using steps above.
Edit: I just came across to a very recent SO question. If you need live repro, hit me up on Lync.

I am getting below error,
Failed to add reference to 'Microsoft.Threading.Tasks.Extentions'. Please make sure that it is in the Global Assembly Cache.
Can some one help me to fix this ?
Thanks in advance

authors: ahmetalpbalkan repoofkhadeer


text:
[BUG] Computer Vision OCR sample bug

Describe the bug
Text not properly recognized in attached image. This happens with sample in the repo listed below (also here: https://github.com/Azure-Samples/cognitive-services-dotnet-sdk-samples/blob/master/samples/ComputerVision/OCR/Program.cs), and happens when I use the Computer Vision SDK for Go. This image is in the image repo. Other images with cursive/handwritten text are recognized accurately.

Exception or Stack Trace
Recognizing text in a local image with OCR ...
Text:
Language: en
Text angle: 0
Orientation: Up
Text regions:
Region bounding box: 102,27,384,87
Line bounding box 102,27,58,27
Word bounding box: 102,27,58,27
Text: musAv
Line bounding box 312,84,174,30
Word bounding box: 312,92,17,21
Text: in
Word bounding box: 406,84,80,30
Text: woacl
To Reproduce
Run this sample: https://github.com/Azure-Samples/cognitive-services-dotnet-sdk-samples/blob/master/samples/ComputerVision/OCR/Program.cs
Expected behavior
Text output should be:
You must be the change
you want to see in the world!
Screenshots
N/A
Setup (please complete the following information):

OS: Windows 10
IDE : command-line
Version of the Java Library used: "Microsoft.Azure.CognitiveServices.Vision.ComputerVision" Version="4.0.0"
Version of the Go Library used: 2.0

Additional context
None.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[X] Bug Description Added
[X] Repro Steps Added
[X] Setup information Added

@LukeBayler, the sample code is using wrong API for calling OCR service. It's recommend to use BatchReadFile instead of RecognizePrintedText.

Got it. Thanks. I'm working with the SDKs and don't see support for BatchReadFile in the Java SDK. Is that correct?

Yes. The Java SDK hasn't been updated for quite a long time. I submitted an issue for that.
https://github.com/Azure/azure-sdk-for-java/issues/3785

Hi Luke,
The latest iteration of the Computer vision APIs has a new async operation called Read which should perform well with handwritten text.
You can refer to this guide to get started in Java: https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/quickstarts-sdk/client-library?pivots=programming-language-java
I hope this helps.
Thanks,
Tom

authors: LukeBayler TFR258 toothache


text:
Documentation update for the Azure Support management SDK

This change updates Azure Support management SDK with documentation updates from latest swagger file. No code change.
Here is the link to API Spec

Please update AssemblyFileVersion in AssemblyInfo.cs. Thanks

Fixed

@isra-fel @erich-wang - looks like some tests under Azure.Messaging.EventHubs are failing. Can you please check?

@isra-fel Is there an update on this? When can we push the release for PS?


text:
Add some properties and fix issues for new Data Factory branch

Add two idempotent properties in new SDK with some fix.
Turn on DocDB to public.
Add some required flags to some properties.

Hi @jackmagic313, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (jikma). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

Please raise the version number in nuget, or you will not be able to publish new package to nuget.org

Thanks for the review. Yes  I won't publish new package to nuget.org since it's only in DataFactoriesDev branch.

authors: azurecla hovsepm jackmagic313


text:
[Smoke Tests] Fix Build Errors

Summary
The focus of these changes is to fix the build errors resulting from package version conflicts.
Last Upstream Rebase
Wednesday, March 3, 10:00am (EST)

/azp run net - smoke-tests

Wow, you got smoke tests to pass! :)

Is there some reason we can't/don't want to use the eng/Packages.Data.props file for package versions?

@benbp would be the authoritative voice as he had been working on some revisions here;  the last I recall,  the pipeline was pulling the latest dev packages and rewriting the references.   Using the central versions, I think, would help to reduce contention like this in the future.

Yeah the local versions are overwritten, and we had only discussed a better way to set them in the context of local testing. I think this sounds like a good approach.

authors: benbp heaths jsquire


text:
[WebPubSub] Add support to handle upstream requests.

All SDK Contribution checklist:
This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] Please open PR in Draft mode if it is:

Work in progress or not intended to be merged.
Encountering multiple pipeline failures and working on fixes.

[ ] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[ ] I have read the contribution guidelines.
[ ] The pull request does not introduce breaking changes.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[ ] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code. (Track 2 only)
[ ] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK. Please double check nuget.org current release version.

Additional management plane SDK specific contribution checklist:
Note: Only applies to Microsoft.Azure.Management.[RP] or Azure.ResourceManager.[RP]

[ ] Include updated management metadata.
[ ] Update AzureRP.props to add/remove version info to maintain up to date API versions.

Management plane SDK Troubleshooting

If this is very first SDK for a services and you are adding new service folders directly under /SDK, please add new service label and/or contact assigned reviewer.

If the check fails at the Verify Code Generation step, please ensure:

Do not modify any code in generated folders.
Do not selectively include/remove generated files in the PR.
Do use generate.ps1/cmd to generate this PR instead of calling autorest directly.
Please pay attention to the @microsoft.csharp version output after running generate.ps1. If it is lower than current released version (2.3.82), please run it again as it should pull down the latest version.

Note: We have recently updated the PSH module called by generate.ps1 to emit additional data. This would help reduce/eliminate the Code Verification check error. Please run following command:
  `dotnet msbuild eng/mgmt.proj /t:Util /p:UtilityName=InstallPsModules`

Old outstanding PR cleanup
Please note:
If PRs (including draft) has been out for more than 60 days and there are no responses from our query or followups, they will be closed to maintain a concise list for our reviewers.

Hi @KrzysztofCwalina @tg-msft , could you also help review the PR to see if it follows Azure SDK convention? Appreciate your time!

authors: JialinXin vicancy


text:
[Text Analytics] Remove support for dynamic classification

Resolves: https://github.com/Azure/azure-sdk-for-net/issues/35117

Why has this been removed?

Hello, @jordans3! Thank you for reaching out to us. The preview feature known as dynamic classification has been removed from the client library as the Text Analytics service team re-prioritizes and re-focuses their current investments. The service team is constantly evaluating their service roadmap and making decisions based on customer feedback and market trends. Were you interested in using dynamic classification? If so, could you share details about your use case? For the purposes of text classification, it is possible to use the custom text classification features, which have graduated from being in preview into general availability and are supported by the client library. Thank you!


text:
[CostManagement] Release stable version

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.CostManagement

authors: azure-sdk dvbb


text:
Implement Shading for OpenTelemetry Instrumentation Libraries ASP.NET Core, HTTPClient and SQL using IL Repack-

Utilized IL Repack to combine and internalize the public APIs from the OpenTelemetry Instrumentation Libraries (ASP.NET Core, HTTPClient, SQL).
Enabled InternalsVisibleTo to Azure.Monitor.OpenTelemetry.AspNetCore to allow internal access.

Need to find a right place to create Azure.Monitor.OpenTelemetry.Instrumentation project. CI is not happy without readme, will create a default template readme.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Monitor.OpenTelemetry.AspNetCore

We decided to use vendoring  https://github.com/Azure/azure-sdk-for-net/pull/38848, as ILRepack does not work well in Linux and Mac systems.

authors: azure-sdk rajkumar-rangaraj


text:
[Azure.Monitor.Query] Rename MetricsQueryResultValuesItem type

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Monitor.Query

authors: azure-sdk nisha-bhatia


text:
[SQLMgmt] 0.4.0

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/1050

Includes https://github.com/Azure/azure-sdk-for-python/pull/1040

Codecov Report

Merging #1043 into master will increase coverage by 0.01%.
The diff coverage is 50.46%.

@@            Coverage Diff             @@
##           master    #1043      +/-   ##
==========================================
+ Coverage   57.65%   57.66%   +0.01%
==========================================
  Files        1973     1971       -2
  Lines       54384    54345      -39
==========================================
- Hits        31355    31339      -16
+ Misses      23029    23006      -23

Impacted Files
Coverage Δ

...mgmt-sql/azure/mgmt/sql/models/slo_usage_metric.py
57.14% <ø> (ø)
:arrow_up:

...ure/mgmt/sql/models/transparent_data_encryption.py
71.42% <100%> (ø)
:arrow_up:

azure-mgmt-sql/azure/mgmt/sql/models/__init__.py
100% <100%> (ø)
:arrow_up:

.../azure/mgmt/sql/models/import_extension_request.py
42.85% <100%> (ø)

azure-mgmt-sql/azure/mgmt/sql/models/resource.py
100% <100%> (ø)
:arrow_up:

azure-mgmt-sql/azure/mgmt/sql/models/database.py
100% <100%> (ø)
:arrow_up:

...e-mgmt-sql/azure/mgmt/sql/models/export_request.py
45.45% <100%> (ø)

...mgmt-sql/azure/mgmt/sql/models/tracked_resource.py
100% <100%> (ø)

...ure/mgmt/sql/models/sql_management_client_enums.py
100% <100%> (ø)
:arrow_up:

...-sql/azure/mgmt/sql/models/service_tier_advisor.py
20% <100%> (ø)
:arrow_up:

... and 37 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c49ca2e...6dc356e. Read the comment docs.

authors: AutorestCI codecov-io lmazuel

repo: Azure/azure-sdk-for-python


text:
Sync eng/common directory with azure-sdk-tools for PR 1022

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/1022 See eng/common workflow

/check-enforcer override

authors: azure-sdk chidozieononiwu


text:
Allocation Id

Description
Adds Allocation Id

API change check
API changes are not detected in this pull request.


text:
Azure-AI-Evaluation - Prepare-Release-1-1-0

Description
Preparing for release 1.1.0 on Dec 12
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.

authors: azure-sdk w-javed


text:
Enable SDK Automation pull requests

When you're satisified with the pull requests that SDK Automation is creating for the Python SDK, please merge this pull request to enable SDK Automation pull requests in the Azure/production environment.

Can one of the admins verify this patch?


text:
APIView is showing analyzer errors that are incorrect and that I don't see locally

Not sure if this is an APIView bug or an analyzer bug, but I don't see this when building locally. I happened to notice today this for Azure.Security.KeyVault.Certificates, which is incorrect because there is such a constructor:

See https://apiview.dev/Assemblies/Review/da210106190946c0874b30d5f84f41b1#Azure.Security.KeyVault.Certificates.CertificateClient

Given that this is 2+ years old at this point and a number of APIView releases have come out, I'm going to close this out.   We can reactivate if the behavior persists and we need to look at it from a language-specific perspective.

authors: heaths jsquire

repo: Azure/azure-sdk-tools


text:
Add Readme linter for ci validaiton

Docs team scan through the all files on docs.ms review site.
There are certain amount of issues are from our language repo readme.
We currently depends their vendor resources to clear the existing issues.
We'd better to introduce the same linter tool to avoid future problems.
AI:
Will talk to docs team if they have any tool or API to use for validation.

Dupe of https://github.com/Azure/azure-sdk/issues/1698

authors: kurtzeborn sima-zhu


text:
Add azure-sdk to eng/common sync

After https://github.com/Azure/azure-sdk/pull/7201 azure-sdk will be dependent on changes from eng/common. It only depends on a few items but I decided it is better to add to eng/common instead of manually syncing or doing a reference.

/check-enforcer override


text:
Add new release folder structure

Add new release folder structure

/check-enforcer override

authors: azure-sdk czubair

repo: Azure/azure-sdk


text:
Minor: Add endpoint_suffix argument to CloudStorageAccount object for use when constructing services

Which service(blob, file, queue) does this issue concern?
CloudStorageAccount
Which version of the SDK was used? Please provide the output of pip freeze.
latest
What problem was encountered?
Soveign Cloud users need to specify this to get the appropriate endpoints.
Have you found a mitigation/solution?
Manually creating services but probably nice to add for convienence
Note: for table service, please post the issue here instead: https://github.com/Azure/azure-cosmosdb-python.

Hi @bgklein, thanks for reaching out!
It sounds like a reasonable change, would you like to submit a PR for it?

@bgklein sounds great!

authors: bgklein zezha-msft

repo: Azure/azure-storage-python

license: mit

license_source: bigquery


text:
feat: Add Microsoft.Sql/servers/auditingSetting to 'avm/res/sql/server'

Description

Fixes #1825
I have also updated the API versions as they were outdated a bit, and generated warnings.
Pipeline Reference

Pipeline

The pipeline has deployed successfully 5 out of the 7 tests, the max and waf timed out at creating the log analytics workspace.
Type of Change

[ ] Update to CI Environment or utlities (Non-module effecting changes)
[x] Azure Verified Module updates:

[ ] Bugfix containing backwards compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in version.json:

[ ] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
[ ] The bug was found by the module author, and no one has opened an issue to report it yet.

[x] Feature update backwards compatible feature updates, and I have bumped the MINOR version in version.json.
[ ] Breaking changes and I have bumped the MAJOR version in version.json.
[ ] Update to documentation

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[x] I have run Set-AVMModule locally to generate the supporting module files.
[x] My corresponding pipelines / checks run clean and green without any errors or warnings

I dont like very much not seeing the waf and max test in green but I will trust

The tests were successful after the merge here in the repo 🍾

repo: Azure/bicep-registry-modules


text:
User-defined types - Intellisense no longer works on arrays of objects

Bicep version
Bicep CLI version 0.15.31 (3ba6e06a8d)
Describe the bug
In some arrays the intellisense does not work for user defined types. With previous versions it was working. May be it is because of the depth but I am not sure.
Not working:

Working

Working

To Reproduce
See above.
Additional context
Add any other context about the problem here.

Can you share the type definition for the actionGroups property?

Sharing all types definitions as it is not only them. It breaks on ruleGroups and later on recordingRules as well.

// Does not allow properties that are not defined to be added
@sealed()
type resourceGroupsType = {
  @description('The name of the resource group. Test link in intellisense. https://www.google.com/')
  name: string
  location: string?
  create: bool? // true
  tags: tagsType?
  azureMonitorWorkspace: azureMonitorWorkspace
  actionGroups: actionGroups[]?
  ruleGroups: ruleGroupsType[]?
}

type tagsType = {
  // Any parameter name
  *: string?
}

@sealed()
type azureMonitorWorkspace = {
  subscriptionId: string? // default current subscription ID
  resourceGroup: string
  name: string
}

@sealed()
type actionGroups = {
  subscriptionId: string?
  resourceGroup: string
  name: string
}

@sealed()
type ruleGroupsType = {
  name: string
  description: string? // default ''
  tags: tagsType?
  enabled: bool? // default true
  clusterName: string? // default null
  @minValue(1)
  @maxValue(15)
  frequencyInMinutes: int
  recordingRules: recordingRules[]? // default []
  alertRules: alertRules[]? // default []
}

@sealed()
type recordingRules = {
  recordName: string
  expression: string
  enabled: bool? // true
  labels: object? // default {}
}

@sealed()
type alertRules = {
  name: string
  expression: string
  enabled: bool? // true
  labels: object? // default {}
  @minValue(1)
  forInMinutes: int? // null
  @minValue(0)
  @maxValue(4)
  severity: int
  annotations: object? // default {}
  autoMitigate: bool? // default true
  // Min 1, max 15
  @minValue(1)
  @maxValue(15)
  timeToMitigateInMinutes: int? // default 5
  customProperties: object ?// default {}
}

thank you!

authors: jeskew slavizh

repo: Azure/bicep


text:
Linter should catch string interpolation with a single variable

I keep seeing this, which is a misunderstanding of when to use string interpolation:
param AutomationAccountName string

resource AutomationAccount 'Microsoft.Automation/automationAccounts@2020-01-13-preview' = {
  name: '${AutomationAccountName}'
  ...
}

Should be:
param AutomationAccountName string

resource AutomationAccount 'Microsoft.Automation/automationAccounts@2020-01-13-preview' = {
  name: AutomationAccountName
  ...
}

cc @marcusfelling @jfleisher

Note that we should only do this if the type of the expression is string - it's perfectly valid to use interpolation to convert an int to an int string - e.g.
var intVal = 123
var stringVal = '${intVal}' // is a string '123'

Btw, there are cases where we need expressions inside a property name. We use string interpolation there. The linter rule proposed here should not flag those cases.

@majastrz Can you elaborate on this, maybe give an example?

Btw, there are cases where we need expressions inside a property name. We use string interpolation there. The linter rule proposed here should not flag those cases.

Current rule fails Anthony's scenario above.

@majastrz Can you elaborate on this, maybe give an example?

Btw, there are cases where we need expressions inside a property name. We use string interpolation there. The linter rule proposed here should not flag those cases.

@StephenWeatherford here's an example - using user-assigned managed identities, e.g. in this deployment script example.

Most of this was checked in with #2341, with #2810 it should be complete.

authors: StephenWeatherford alex-frankel anthony-c-martin johndowns majastrz


text:
Unused existing resources should also be caught by linter

Today the no-unused rule only checks parameters and variables, but it should also apply to existing resources. In this example, I have an acr reference that I am not using (because I forgot), and it would be great to have that caught.
// todo - not being used...
resource acr 'Microsoft.ContainerRegistry/registries@2021-06-01-preview' existing = {
  scope: rg
  name: 'adotfrankpublic'
}

Also see #3012

Closing this and tracking with #3012 since it's older

authors: alex-frankel bmoore-msft


text:
running ci

run ci
Microsoft Reviewers: Open in CodeFlow

We could force this PR in and fix the test failures with another PR btw.

Btw, the CI failures is likely not because of the changes in this PR.

Do you think we merge this into Bicep-params-file?
Also I found this sample test input from (prototype syntax) I did while ago in the logs

I'll force merge this

authors: Usman0111 anthony-c-martin majastrz